本文簡要介紹python語言中 torch.nn.Module.register_full_backward_hook 的用法。
用法:
register_full_backward_hook(hook)一個句柄,可用於通過調用
handle.remove()刪除添加的鉤子torch.utils.hooks.RemovableHandle在模塊上注冊一個後向鉤子。
每次計算與模塊輸入相關的梯度時,都會調用該鉤子。掛鉤應具有以下簽名:
hook(module, grad_input, grad_output) -> tuple(Tensor) or Nonegrad_input和grad_output是元組,分別包含關於輸入和輸出的梯度。鉤子不應該修改它的參數,但它可以選擇返回一個關於輸入的新梯度,該梯度將在後續計算中用於代替grad_input。grad_input將僅對應於作為位置參數給出的輸入,並且所有 kwarg 參數都被忽略。對於所有非張量參數,grad_input和grad_output中的條目將為None。由於技術原因,當這個鉤子被應用到一個 Module 時,它的 forward 函數將接收傳遞給 Module 的每個 Tensor 的視圖。同樣,調用者將收到模塊 forward 函數返回的每個張量的視圖。
警告
使用後向鉤子時不允許就地修改輸入或輸出,這會引發錯誤。
返回:
返回類型:
相關用法
- Python PyTorch Module.register_forward_hook用法及代碼示例
- Python PyTorch Module.register_forward_pre_hook用法及代碼示例
- Python PyTorch Module.register_buffer用法及代碼示例
- Python PyTorch Module.buffers用法及代碼示例
- Python PyTorch Module.named_modules用法及代碼示例
- Python PyTorch Module.parameters用法及代碼示例
- Python PyTorch Module.named_parameters用法及代碼示例
- Python PyTorch Module.state_dict用法及代碼示例
- Python PyTorch Module.named_children用法及代碼示例
- Python PyTorch Module.modules用法及代碼示例
- Python PyTorch Module.apply用法及代碼示例
- Python PyTorch Module.to用法及代碼示例
- Python PyTorch Module.named_buffers用法及代碼示例
- Python PyTorch ModuleList用法及代碼示例
- Python PyTorch Module用法及代碼示例
- Python PyTorch ModuleDict用法及代碼示例
- Python PyTorch MaxUnpool3d用法及代碼示例
- Python PyTorch MultiStepLR用法及代碼示例
- Python PyTorch MaxPool1d用法及代碼示例
- Python PyTorch MetaInferGroupedPooledEmbeddingsLookup.state_dict用法及代碼示例
- Python PyTorch MetaInferGroupedEmbeddingsLookup.named_buffers用法及代碼示例
- Python PyTorch MultiLabelMarginLoss用法及代碼示例
- Python PyTorch MultiplicativeLR用法及代碼示例
- Python PyTorch MixtureSameFamily用法及代碼示例
- Python PyTorch MultiheadAttention用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.Module.register_full_backward_hook。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
