コード例 #1
0
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()')
コード例 #2
0
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')
コード例 #3
0
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()')
コード例 #4
0
ファイル: test_pytorch.py プロジェクト: hughperkins/pytorch
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')
コード例 #5
0
ファイル: test_pytorch.py プロジェクト: hughperkins/pytorch
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')
コード例 #6
0
    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')
コード例 #7
0
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')
コード例 #8
0
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')