Q1:什么是神经网络?
Q2:torch vs numpy
Numpy:NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高 效的多(该结构也可以用来表示矩阵(matrix))。专为进行严格的数字处理而产生。
Q3:numpy和Torch的转换
Q3 torch中的数学运算
torch中的tensor运算和numpy的array运算很相似,具体参看下面的代码
1 import torch 2 import numpy as np 3 4 data=[-1,-2,1,2] 5 tensor=torch.FloatTensor(data)# 转换成32位浮点 tensor 6 print( 7 ' abs', 8 ' numpy',np.abs(data),# [1 2 1 2] 9 ' torch',torch.abs(tensor) # torch tensor([1., 2., 1., 2.]) 10 ) 11 print( 12 ' sin', 13 ' numpy:',np.sin(data), # [-0.84147098 -0.90929743 0.84147098 0.90929743] 14 ' torch:',torch.sin(tensor)# [-0.8415 -0.9093 0.8415 0.9093] 15 ) 16 print( 17 ' mean', 18 ' numpy',np.mean(data), 19 ' torch',torch.mean(tensor) 20 )
当然还有其他各种运算,自己去尝试吧。
Q4:2.2 numpy和torch的矩阵乘法还是有点不同的,下面将对其区别进行展示:
import torch import numpy as np data=[[1,2],[3,4]] tensor=torch.FloatTensor(data) print( ' numpy',np.matmul(data,data), # [[7, 10], [15, 22]] ' torch',torch.mm(tensor,tensor)# [[7, 10], [15, 22]] ) data=np.array(data) print( ' numpy',data.dot(data), # [[7, 10], [15, 22]] 在numpy 中可行,进行的是叉乘 #' torch: ', tensor.dot(tensor) # 报错 )