對PyTorch中inplace欄位的全面理解

2022-09-28 09:36:09 字數 876 閱讀 8017

torch.nn.relu(inplace=true)

inplace=true

表示進行原地操作,對上一層傳遞下來的tensor直接進行修改,如x=x+3;

inplace=false

表示新建乙個變數儲存操作結果,如y=x+3,x=y;

inplace=true

可以節省運算記憶體,不用多儲存變數。

補充:pytorch中網路裡面的inplace=true欄位的意思

在例如nn.leakyrelu(inplace=true)中的inplace欄位是什麼意思呢?有什麼用?

inplace=tru程式設計客棧e的意思是進行原地操作,例如x=x+5,對x就是乙個原地操作,y=x+5,x=y,完成了與x=x+5同樣的程式設計客棧功能但是不是原地操作。

上面leakyrelu中的inplace=true的含義是一樣的,jwjgrsl是對於conv2d這樣的上層網路傳遞下來的tensor直接進行修改,好處就是可以節省運算記憶體,不用多儲存變數y。

inplace=true means that it will modify the input directly, without allocating any additional output. it can sometimes slightly decrease the memory usage, but may not always be a valid operation (because the original程式設計客棧 input is destroyed). however, if you don't see an errjwjgrslor, it means that your use case is valid.

本文標題: 對pytorch中inplace欄位的全面理解

本文位址:

對Pytorch 中的contiguous理解說明

最近遇到這個函式,但查的中文部落格裡的解釋貌似不是很到位,這裡翻譯一下stackoverflow上的回答並加上自己的理解。在pytorch中,只有很少幾個操作是不改變tensor的內容本身,而只是重新定義下標與元素的對應關係的。換句話說,這種操作不進行資料拷貝和資料的改變,變的是元資料。這些操作是 ...

對Pytorch中backward()函式的理解

寫在第一句 這個部落格解釋的也很好,參考了很多 pytorch中的自動求導函式backward 所需引數含義 所以切入正題 backward 函式中的引數應該怎麼理解?官方 如果需要計算導數,可以在tensor上呼叫.backward 1.如果tensor是乙個標量 即它包含乙個元素的資料 則不需要...

我對pytorch中gather函式的一點理解

torch.gather input dim,index,out none tensor torch.gather input dim,index,out none tensor gathers values along an axis specified by dim.for a 3 d tens...