def test_float_tensor(): PyTorch.manualSeed(123) print('dir(G)', dir()) print('test_float_tensor') a = PyTorch.FloatTensor(3, 2) print('got float a') myeval('a.dims()') a.uniform() myeval('a') myexec('a[1][1] = 9') myeval('a') myeval('a.size()')
def test_long_tensor(): PyTorch.manualSeed(123) print('test_long_tensor') a = PyTorch.LongTensor(3, 2).geometric() print('a', a) myeval('a') myexec('a[1][1] = 9') myeval('a') myeval('a.size()') myeval('a + 2') myexec('a.resize2d(3,3).fill(1)') myeval('a')
def test_double_tensor(): PyTorch.manualSeed(123) LongTensor = PyTorch.LongTensor DoubleTensor = PyTorch.DoubleTensor LongStorage = PyTorch.LongStorage print('LongStorage', LongStorage) print('LongTensor', LongTensor) print('DoubleTensor', DoubleTensor) print('dir(G)', dir()) print('test_double_tensor') a = PyTorch.DoubleTensor(3, 2) print('got double a') myeval('a.dims()') a.uniform() myeval('a') myexec('a[1][1] = 9') myeval('a') myeval('a.size()') myeval('a + 2') myexec('a.resize2d(3,3).fill(1)') myeval('a') myexec('size = LongStorage(2)') myexec('size[0] = 4') myexec('size[1] = 2') myexec('a.resize(size)') myeval('a') myeval('DoubleTensor(3,4).uniform()') myeval('DoubleTensor(3,4).bernoulli()') myeval('DoubleTensor(3,4).normal()') myeval('DoubleTensor(3,4).cauchy()') myeval('DoubleTensor(3,4).exponential()') myeval('DoubleTensor(3,4).logNormal()') myeval('DoubleTensor(3,4).geometric()')
def test_pytorchByte(): PyTorch.manualSeed(123) numpy.random.seed(123) ByteTensor = PyTorch.ByteTensor D = PyTorch.ByteTensor(5, 3).fill(1) print('D', D) D[2][2] = 4 print('D', D) D[3].fill(9) print('D', D) D.narrow(1, 2, 1).fill(0) print('D', D) print(PyTorch.ByteTensor(3, 4).bernoulli()) print(PyTorch.ByteTensor(3, 4).geometric()) print(PyTorch.ByteTensor(3, 4).geometric()) PyTorch.manualSeed(3) print(PyTorch.ByteTensor(3, 4).geometric()) PyTorch.manualSeed(3) print(PyTorch.ByteTensor(3, 4).geometric()) print(type(PyTorch.ByteTensor(2, 3))) size = PyTorch.LongStorage(2) size[0] = 4 size[1] = 3 D.resize(size) print('D after resize:\n', D) print('resize1d', PyTorch.ByteTensor().resize1d(3).fill(1)) print('resize2d', PyTorch.ByteTensor().resize2d(2, 3).fill(1)) print('resize', PyTorch.ByteTensor().resize(size).fill(1)) D = PyTorch.ByteTensor(size).geometric() # def myeval(expr): # print(expr, ':', eval(expr)) # def myexec(expr): # print(expr) # exec(expr) myeval('ByteTensor(3,2).nElement()') myeval('ByteTensor().nElement()') myeval('ByteTensor(1).nElement()') A = ByteTensor(3, 4).geometric(0.9) myeval('A') myexec('A += 3') myeval('A') myexec('A *= 3') myeval('A') myeval('A') print('A //= 3') A //= 3 myeval('A') myeval('A + 5') myeval('A * 5') print('A // 2') A // 2 B = ByteTensor().resizeAs(A).geometric(0.9) myeval('B') myeval('A + B') myexec('A += B') myeval('A')
def test_pytorchFloat(): PyTorch.manualSeed(123) numpy.random.seed(123) FloatTensor = PyTorch.FloatTensor A = numpy.random.rand(6).reshape(3, 2).astype(numpy.float32) B = numpy.random.rand(8).reshape(2, 4).astype(numpy.float32) C = A.dot(B) print('C', C) print('calling .asTensor...') tensorA = PyTorch.asFloatTensor(A) tensorB = PyTorch.asFloatTensor(B) print(' ... asTensor called') print('tensorA', tensorA) tensorA.set2d(1, 1, 56.4) tensorA.set2d(2, 0, 76.5) print('tensorA', tensorA) print('A', A) print('add 5 to tensorA') tensorA += 5 print('tensorA', tensorA) print('A', A) print('add 7 to tensorA') tensorA2 = tensorA + 7 print('tensorA2', tensorA2) print('tensorA', tensorA) tensorAB = tensorA * tensorB print('tensorAB', tensorAB) print('A.dot(B)', A.dot(B)) print('tensorA[2]', tensorA[2]) D = PyTorch.FloatTensor(5, 3).fill(1) print('D', D) D[2][2] = 4 print('D', D) D[3].fill(9) print('D', D) D.narrow(1, 2, 1).fill(0) print('D', D) print(PyTorch.FloatTensor(3, 4).uniform()) print(PyTorch.FloatTensor(3, 4).normal()) print(PyTorch.FloatTensor(3, 4).cauchy()) print(PyTorch.FloatTensor(3, 4).exponential()) print(PyTorch.FloatTensor(3, 4).logNormal()) print(PyTorch.FloatTensor(3, 4).bernoulli()) print(PyTorch.FloatTensor(3, 4).geometric()) print(PyTorch.FloatTensor(3, 4).geometric()) PyTorch.manualSeed(3) print(PyTorch.FloatTensor(3, 4).geometric()) PyTorch.manualSeed(3) print(PyTorch.FloatTensor(3, 4).geometric()) print(type(PyTorch.FloatTensor(2, 3))) size = PyTorch.LongStorage(2) size[0] = 4 size[1] = 3 D.resize(size) print('D after resize:\n', D) print('resize1d', PyTorch.FloatTensor().resize1d(3).fill(1)) print('resize2d', PyTorch.FloatTensor().resize2d(2, 3).fill(1)) print('resize', PyTorch.FloatTensor().resize(size).fill(1)) D = PyTorch.FloatTensor(size).geometric() # def myeval(expr): # print(expr, ':', eval(expr)) # def myexec(expr): # print(expr) # exec(expr) myeval('FloatTensor(3,2).nElement()') myeval('FloatTensor().nElement()') myeval('FloatTensor(1).nElement()') A = FloatTensor(3, 4).geometric(0.9) myeval('A') myexec('A += 3') myeval('A') myexec('A *= 3') myeval('A') myexec('A -= 3') myeval('A') print('A /= 3') A /= 3 myeval('A') myeval('A + 5') myeval('A - 5') myeval('A * 5') print('A / 2') A / 2 B = FloatTensor().resizeAs(A).geometric(0.9) myeval('B') myeval('A + B') myeval('A - B') myexec('A += B') myeval('A') myexec('A -= B') myeval('A')
D = PyTorch.{{Real}}Tensor(size).geometric() # def myeval(expr): # print(expr, ':', eval(expr)) # def myexec(expr): # print(expr) # exec(expr) myeval('{{Real}}Tensor(3,2).nElement()') myeval('{{Real}}Tensor().nElement()') myeval('{{Real}}Tensor(1).nElement()') A = {{Real}}Tensor(3, 4).geometric(0.9) myeval('A') myexec('A += 3') myeval('A') myexec('A *= 3') myeval('A') {% if Real != 'Byte' -%} myexec('A -= 3') {% endif -%} myeval('A') {% if Real in ['Float', 'Double'] -%} print('A /= 3') A /= 3 {% else -%} print('A //= 3') A //= 3 {% endif -%} myeval('A')