Pytorch 加法操作:
1. +
這個是最直接的加法。
res = x + y
2. torch.add()
pytorch 官網提供的一種加法函數。
res = torch.add(x, y)
# 也可以指定加法結果輸出對象
torch.add(x, y, out=result)
3. .add_()
這個是Tensor類的方法。
res = y.add_(x)
加法速度比較:
這麼多的加法操作,哪個更穩定速度更快?
實例:
import torch
import time
x = torch.rand(5, 3)
y = torch.rand(5, 3)
start = time.time()
res_1 = x + y
print("res_1 output: \n",res_1)
print("res_1: ", time.time() - start)
start = time.time()
res_2 = torch.add(x, y)
print("res_2 output: \n",res_2)
print("res_2: ", time.time() - start)
start = time.time()
res_3 = x.add_(y)
print("res_3 output: \n",res_3)
print("res_3: ", time.time() - start)
結果截圖:
情況1:直接輸出運算時間:
情況2:輸出運算結果與運算時間:
對比結果
-
計算結果:一致
在計算結果上,所有的方法得到的結果都一致。
-
速 度:torch.add() 勝利
在速度上,我們可以看到 torch.add() 方法顯得更加便捷穩定,在深度學習中,計算量很大,如果遇到加法操作,建議還是使用此函數計算。
更多操作~請到官方文檔查看。