【发布时间】:2021-06-05 23:51:23
【问题描述】:
我正在尝试用一些常数替换权重中的 NaN 值。但是我不知道如何做到这一点。
我知道要访问权重,我必须写。
for i in model.params:
arr = i.clone()
arr[torch.isnan(arr)] = 0
param_list.append(nn.Parameter(arr))
model.params= param_list
但这会破坏计算图,您可以建议我做同样的更好的方法吗?
【问题讨论】:
-
您的
model定义如何?clone不影响计算图(即,它是一个参考)。因此,您可以通过迭代model.parameters()来简单地将NaNs 更新为 0 值,从而不需要使用param_list。
标签: python neural-network pytorch initialization nan