如何替换神经网络权值中的NaN值?



我试图用一些常数替换权重中的NaN值。然而,我不知道如何才能做到这一点。

我知道要访问权重,我必须写。

for i in model.params:
arr = i.clone()
arr[torch.isnan(arr)] = 0
param_list.append(nn.Parameter(arr))

model.params= param_list

但是这破坏了计算图,你能给我建议更好的方法吗?

with torch.no_grad():
for p in model.parameters():
p.data[torch.isnan(p.data)] = 0

最新更新