Jja*_*ang 5 python deep-learning pytorch
我正在使用 PyTorch 的 AutomaticMixedPrecision 功能来训练具有更小占用空间和精度的网络。
在某个时刻,网络中的一些嵌入的张量中包含 NaN,因此我想将其替换为 0,以便执行在线硬负样本挖掘。
然而,在像这样替换张量中的 NaN 之后:
tensor[torch.isnan(tensor)] = 0
Run Code Online (Sandbox Code Playgroud)
在执行下一个缩放器 ste (scaler.step(optimizer)) 时出现以下错误:
assert len(optimizer_state["found_inf_per_device"]) > 0, "No inf checks were recorded for this optimizer."
AssertionError: No inf checks were recorded for this optimizer.
Run Code Online (Sandbox Code Playgroud)
在消除此错误的同时将 NaN 归零的正确方法是什么?