报错截图
RuntimeError: Function 'SqrtBackward0' returned nan values in its 0th output
报错原因
此处是在调用torch.sqrt时输入出现0的情况。
sqrt函数的定义域是[0, ∞)
sqrt导函数的定义域是(0, ∞)
函数与导函数的定义域不同导致在输入值为0时,反向传播过程会出现类似如图的报错。
解决方法
在调用sqrt函数的地方加一个很小的数,例如下图:
参考:http://t.csdnimg.cn/j9P9P