本文簡要介紹python語言中 torch.cuda.amp.GradScaler.unscale_
的用法。
用法:
unscale_(optimizer)
optimizer(torch.optim.Optimizer) -擁有未縮放梯度的優化器。
將 (“unscales”) 優化器的梯度張量除以比例因子。
unscale_()
是可選的,適用於需要修改或檢查向後傳遞和step()
之間的梯度的情況。如果未顯式調用unscale_()
,則在step()
期間將自動取消縮放漸變。簡單的示例,使用
unscale_()
啟用未縮放漸變的裁剪:... scaler.scale(loss).backward() scaler.unscale_(optimizer) torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm) scaler.step(optimizer) scaler.update()
注意
unscale_()
不會產生 CPU-GPU 同步。警告
每個優化器每次
step()
調用隻能調用unscale_()
一次,並且隻能在該優化器分配的參數的所有梯度都已累積之後調用。在每個step()
之間為給定優化器調用unscale_()
兩次會觸發運行時錯誤。警告
unscale_()
可能會取消縮放稀疏梯度,從而替換.grad
屬性。
參數:
相關用法
- Python PyTorch Graph.eliminate_dead_code用法及代碼示例
- Python PyTorch Graph.inserting_before用法及代碼示例
- Python PyTorch Graph.inserting_after用法及代碼示例
- Python PyTorch Graph用法及代碼示例
- Python PyTorch Graph.node_copy用法及代碼示例
- Python PyTorch GroupedPositionWeightedModule.named_parameters用法及代碼示例
- Python PyTorch GroupedPooledEmbeddingsLookup.named_buffers用法及代碼示例
- Python PyTorch GroupNorm用法及代碼示例
- Python PyTorch GroupedPositionWeightedModule.named_buffers用法及代碼示例
- Python PyTorch GroupedPooledEmbeddingsLookup.state_dict用法及代碼示例
- Python PyTorch GriffinLim用法及代碼示例
- Python PyTorch GroupedPooledEmbeddingsLookup.named_parameters用法及代碼示例
- Python PyTorch GroupedPositionWeightedModule.state_dict用法及代碼示例
- Python PyTorch GreedyPerfPartitioner.partition用法及代碼示例
- Python PyTorch GroupedEmbeddingsLookup.state_dict用法及代碼示例
- Python PyTorch GroupedEmbeddingsLookup.named_parameters用法及代碼示例
- Python PyTorch GroupedEmbeddingsLookup.named_buffers用法及代碼示例
- Python PyTorch Grouper用法及代碼示例
- Python PyTorch Generator.set_state用法及代碼示例
- Python PyTorch Generator.seed用法及代碼示例
- Python PyTorch GLU用法及代碼示例
- Python PyTorch GDriveReader用法及代碼示例
- Python PyTorch GRUCell用法及代碼示例
- Python PyTorch Gumbel用法及代碼示例
- Python PyTorch Generator.get_state用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.cuda.amp.GradScaler.unscale_。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。