|
- import ms_adapter.pytorch as pytorch
- import numpy as np
- import torch
- from mindspore import context
- import mindspore as ms
- context.set_context(mode=ms.PYNATIVE_MODE)
- def test_add_():
- tensor = pytorch.tensor(np.array([[1.0, 1.0],[1.0,1.0]]))
- tensor.add_(2.0)
- print(tensor)
-
-
- def test_mul_():
- tensor = pytorch.tensor(np.array([[1.0, 1.0],[1.0,1.0]]))
- tensor.mul_(2.0)
- print(tensor)
-
-
- def test_fill_():
- tensor = pytorch.tensor(np.array([[1.0, 1.0],[1.0,1.0]]))
- tensor.fill_(3.0)
- print(tensor)
-
- def test_zero_():
- tensor = pytorch.tensor(np.array([[1.0, 1.0],[1.0,1.0]]))
- tensor.zero_()
- print(tensor)
-
- def test_normal_():
- tensor = pytorch.tensor(np.array([[1.0, 1.0],[1.0,1.0]]))
- tensor.normal_(1.0, 0.5)
- print(tensor)
-
- def test_uniform_():
- tensor = pytorch.tensor(np.array([[1.0, 1.0],[1.0,1.0]]))
- tensor.uniform_(1.0, 0.5)
- print(tensor)
-
- def test_erfinv_():
- # only support on Ascend
- tensor = pytorch.tensor(np.array([[1.0, 1.0],[1.0,1.0]]))
- tensor.erfinv_()
- print(tensor)
-
- def test_clamp_():
- tensor = pytorch.tensor(np.array([[1.0, 5.0],[10.0, 20.0]]))
- tensor.clamp_(min=5.0)
- print(tensor)
- tensor.clamp_(max=10.0)
- print(tensor)
-
- def test_permute1():
-
- tensor = np.random.random((3, 4, 4)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.permute(1,0,2)
- ms_output = ms_tensor.permute(1,0,2)
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- def test_permute2():
-
- tensor = np.random.random((3, 4, 4)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.permute((1,0,2))
- ms_output = ms_tensor.permute((1,0,2))
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- def test_copy_():
-
- tensor = np.random.random((3, 4, 4)).astype(np.float32)
- src = np.random.random((3, 4, 4)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_src = torch.tensor(src)
- ms_src = pytorch.tensor(src)
- torch_tensor.copy_(torch_src)
- ms_tensor.copy_(ms_src)
- assert np.allclose(ms_tensor.asnumpy(), torch_tensor.numpy())
-
- def test_expand():
-
- tensor = np.random.random((1, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.expand(4, -1)
- ms_output = ms_tensor.expand(4, -1)
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- def test_sigmoid():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.sigmoid()
- ms_output = ms_tensor.sigmoid()
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
-
- def test_sigmoid_():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_tensor.sigmoid_()
- ms_tensor.sigmoid_()
- assert np.allclose(ms_tensor.asnumpy(), torch_tensor.numpy())
-
- def test_float():
-
- tensor = np.random.random((3, 3)).astype(np.int)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.float()
- ms_output = ms_tensor.float()
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- def test_flip():
-
- tensor = np.random.random((3, 3)).astype(np.int)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.flip(0)
- ms_output = ms_tensor.flip(0)
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- torch_output = torch_tensor.flip([0,1])
- ms_output = ms_tensor.flip([0,1])
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- def test_sign():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.sign()
- ms_output = ms_tensor.sign()
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
-
- def test_mul():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- value = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_value = torch.tensor(value)
- ms_value = pytorch.tensor(value)
- torch_output = torch_tensor.mul(torch_value)
- ms_output = ms_tensor.mul(ms_value)
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- def test_div():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- value = np.random.random((3, 3)).astype(np.float32)
- torch_value = torch.tensor(value)
- ms_value = pytorch.tensor(value)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.div(torch_value)
- ms_output = ms_tensor.div(ms_value)
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- def test_max():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.max()
- ms_output = ms_tensor.max()
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.max(dim = 1)
- ms_output = ms_tensor.max(dim = 1)
- assert np.allclose(ms_output.asnumpy(), torch_output[0].numpy())
-
-
- def test_numel():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.numel()
- ms_output = ms_tensor.numel()
- assert np.allclose(ms_output, torch_output)
-
- def test_sum():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.sum()
- ms_output = ms_tensor.sum()
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.sum(dim = 1)
- ms_output = ms_tensor.sum(dim = 1)
- assert np.allclose(ms_output.asnumpy(), torch_output.numpy())
-
-
- def test_split():
-
- tensor = np.random.random((3, 3)).astype(np.float32)
- torch_tensor = torch.tensor(tensor)
- ms_tensor = pytorch.tensor(tensor)
- torch_output = torch_tensor.split(3)
- ms_output = ms_tensor.split(3)
- print(torch_output)
- print(ms_output)
|