test_tensor.py 1.4 KB
Newer Older
Y
Yu Yang 已提交
1 2 3 4 5 6 7 8 9
import paddle.v2.framework.core as core
import unittest
import numpy


class TestScope(unittest.TestCase):
    def test_int_tensor(self):
        scope = core.Scope(None)
        var = scope.create_var("test_tensor")
Q
qijun 已提交
10
        place = core.CPUPlace()
Y
Yu Yang 已提交
11 12 13
        tensor = var.get_tensor()

        tensor.set_dims([1000, 784])
Q
qijun 已提交
14
        tensor.alloc_int(place)
Y
Yu Yang 已提交
15 16 17 18
        tensor_array = numpy.array(tensor)
        self.assertEqual((1000, 784), tensor_array.shape)
        tensor_array[3, 9] = 1
        tensor_array[19, 11] = 2
Q
qijun 已提交
19
        tensor.set(tensor_array, place)
Y
Yu Yang 已提交
20 21 22 23 24 25 26 27

        tensor_array_2 = numpy.array(tensor)
        self.assertEqual(1.0, tensor_array_2[3, 9])
        self.assertEqual(2.0, tensor_array_2[19, 11])

    def test_float_tensor(self):
        scope = core.Scope(None)
        var = scope.create_var("test_tensor")
Q
qijun 已提交
28
        place = core.CPUPlace()
Y
Yu Yang 已提交
29 30 31
        tensor = var.get_tensor()

        tensor.set_dims([1000, 784])
Q
qijun 已提交
32
        tensor.alloc_float(place)
Y
Yu Yang 已提交
33 34 35 36 37

        tensor_array = numpy.array(tensor)
        self.assertEqual((1000, 784), tensor_array.shape)
        tensor_array[3, 9] = 1.0
        tensor_array[19, 11] = 2.0
Q
qijun 已提交
38
        tensor.set(tensor_array, place)
Y
Yu Yang 已提交
39 40 41 42 43 44 45 46

        tensor_array_2 = numpy.array(tensor)
        self.assertAlmostEqual(1.0, tensor_array_2[3, 9])
        self.assertAlmostEqual(2.0, tensor_array_2[19, 11])


if __name__ == '__main__':
    unittest.main()