torch.nn.utils.parametrize.cached¶
- torch.nn.utils.parametrize.cached()[來源][來源]¶
Context manager,用於啟用在以
register_parametrization()
註冊的參數化中的快取系統。當此 context manager 處於活動狀態時,參數化物件的值會在第一次需要時計算並快取。離開 context manager 時,快取的值會被丟棄。
當在正向傳遞中使用參數化的參數多次時,這會很有用。例如,參數化 RNN 的循環核心或共享權重時。
啟用快取最簡單的方法是包裝神經網路的正向傳遞
import torch.nn.utils.parametrize as P ... with P.cached(): output = model(inputs)
在訓練和評估中。也可以包裝多次使用參數化張量的模組部分。例如,帶有參數化循環核心的 RNN 迴圈。
with P.cached(): for x in xs: out_rnn = self.rnn_cell(x, out_rnn)