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 '\nabs', 8 '\nnumpy',np.abs(data),# [1 2 1 2] 9 '\ntorch',torch.abs(tensor) # torch tensor([1., 2., 1., 2.]) 10 ) 11 print( 12 '\nsin', 13 '\nnumpy:',np.sin(data), # [-0.84147098 -0.90929743 0.84147098 0.90929743] 14 '\ntorch:',torch.sin(tensor)# [-0.8415 -0.9093 0.8415 0.9093] 15 ) 16 print( 17 '\nmean', 18 '\nnumpy',np.mean(data), 19 '\ntorch',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( '\nnumpy',np.matmul(data,data), # [[7, 10], [15, 22]] '\ntorch',torch.mm(tensor,tensor)# [[7, 10], [15, 22]] ) data=np.array(data) print( '\nnumpy',data.dot(data), # [[7, 10], [15, 22]] 在numpy 中可行,進行的是叉乘 #'\ntorch: ', tensor.dot(tensor) # 報錯 )