- numpy和torch两者用法十分相似,torch可以说是神经网络中的numpy。
numpy和torch之间的互相转换:
import torch
import numpy as np
np_data = np.arange(6).reshape(2, 3)
print("Numpy 数据:", np_data)
torch_data = torch.tensor([[0, 1, 2], [3, 4, 5]])
print("Torch 数据:", torch_data)
np2torch = torch.from_numpy(np_data)
print("numpy数据转torch数据:", np2torch)
torch2np = torch_data.numpy()
print("torch数据转numpy数据:", torch2np)
-
result:
numpy和torch的数学运算:
-
详细的API用法请参考官方地址:https://pytorch.org/docs/stable/torch.html
-
中文文档地址:https://pytorch-cn.readthedocs.io/zh/latest/package_references/Tensor/
-
计算绝对值abs
import torch import numpy as np data = [-1,2,-3,4] np_abs = np.abs(np.array(data)) print("numpy的abs:", np_abs) torch_abs = torch.abs(torch.tensor(data)) print("torch的abs:", torch_abs)
result:
-
计算sin torch.tensor和torch.Torch的区别
import torch import numpy as np data = [-1,2,-3,4] np_sin = np.sin(np.array(data)) print("numpy的sin:", np_sin) # 这里改了大写的Tensor torch_sin = torch.sin(torch.Tensor(data)) print("torch的sin:", torch_sin)
result:
-
计算均值mean
import torch import numpy as np data = [-1,2,-3,4] np_mean = np.mean(np.array(data)) print("numpy的均值:", np_mean) # 这里改了大写的Tensor torch_mean = torch.mean(torch.Tensor(data)) print("torch的均值:", torch_mean)
result:
-
矩阵相乘
import torch import numpy as np matrix_2x3 = [[1,2,3], [4,5,6]] matrix_3x2 = [[1,2],[3,4],[5,6]] np_matmul = np.matmul(matrix_2x3, matrix_3x2) print("numpy的矩阵相乘:", np_matmul) torch_matmul = torch.mm(torch.tensor(matrix_2x3), torch.tensor(matrix_3x2)) print("torch的矩阵相乘:", torch_matmul)
result: