莫烦pytorch学习01:pytorch与numpy之间的转换

import torch
import numpy as np

#abs 绝对值转换
data = [-1,-2,-3,4]
tensor = torch.FloatTensor(data) #32bit浮点数

print(
    '\nabs',
   '\nnumpy',np.abs(data),
   '\ntorch',torch.abs(tensor),
)
print(
    '\nsin',
   '\nnumpy',np.sin(data),
   '\ntorch',torch.sin(tensor),
)
print(
    '\nmean',
   '\nnumpy',np.mean(data),
   '\ntorch',torch.mean(tensor),
)


data = [[1,2], [3,4]]
tensor = torch.FloatTensor(data)  # 转换成32位浮点 tensor
print(
    '\nnumpy',np.matmul(data,data),
    '\ntorch',torch.mm(tensor,tensor),
)

data = np.array([1,2,3,4])
tensor = torch.FloatTensor(data)
print(
   '\nnumpy',data.dot(data),
    '\ntorch',tensor.dot(tensor), # torch 会转换成 [1,2,3,4].dot([1,2,3,4) = 30.0
)

#dot()的使用 https://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html
#numpy   a.dot(b) = np.dot(a,b) np.dot(a,b) != np.dot(b,a)
#一维数组返回内积
data = [1,2,3,4]
data = np.array(data)
print(
   '\nnumpy',data.dot(data),
)
#二维数组(矩阵)返回矩阵积
data = [[1,2], [3,4]]
data = np.array(data)
print(
   '\nnumpy',data.dot(data),
)

#pytorch
#仅支持一维数据
data = [1,2,3,4]
data = np.array(data)
tensor = torch.FloatTensor(data)
print(
   '\ntorch',tensor.dot(tensor),
)
#二维会报错
# data = [[1,2], [3,4]]
# data = np.array(data)
# tensor = torch.FloatTensor(data)
# print(
#  '\ntorch',tensor.dot(tensor),
# )

猜你喜欢

转载自blog.csdn.net/baidu_37336262/article/details/88795773
今日推荐