Pytorch的加法細節操作,提高運算速度

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() 方法顯得更加便捷穩定,在深度學習中,計算量很大,如果遇到加法操作,建議還是使用此函數計算。

更多操作~請到官方文檔查看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章