以下问题不是如何在 Pytorch 中应用分层学习率?因为这个问题的目的是冻结训练中张量的子集而不是整个层。
我正在尝试用 PyTorch 实现彩票假设。
为此,我想将模型中的权重冻结为零。以下是正确的实施方法吗?
for name, p in model.named_parameters():
if 'weight' in name:
tensor = p.data.cpu().numpy()
grad_tensor = p.grad.data.cpu().numpy()
grad_tensor = np.where(tensor == 0, 0, grad_tensor)
p.grad.data = torch.from_numpy(grad_tensor).to(device)
Run Code Online (Sandbox Code Playgroud)