Pytorchの変数のvolatile属性とは何ですか? PyTorchで変数を定義するためのサンプルコードを次に示します。
datatensor = Variable(data, volatile=True)
0.4.0より前のPytorch
のバージョンでは、Variable
とTensor
は2つの異なるエンティティでした。変数には、volatile
とrequire_grad
の2つのフラグを指定できます。両方とも、勾配計算からサブグラフを細かく除外するために使用されました。
volatile
とrequires_grad
の違いは、フラグが操作の出力に適用される方法にあります。操作への入力として単一のvolatile = True
変数さえある場合、その出力もvolatile
としてマークされます。 requires_grad
の場合、その操作へのすべての入力にrequires_grad = False
フラグを付ける必要があります。これにより、出力にも同じ方法でフラグが付けられます。
Pytorch
0.4.0から、Tensors
とVariables
がマージされ、volatile
フラグは非推奨になりました。