Python中文
首页
教程
问答
标签
搜索
登录
注册
如何替换infs避免PyTorch中的nan梯度
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我需要计算<code>log(1 + exp(x))</code>,然后对其使用自动微分。但是对于过大的<code>x</code>,它会输出<code>inf</code>,这是因为求幂:</p> <pre class="lang-py prettyprint-override"><code>>>> x = torch.tensor([0., 1., 100.], requires_grad=True) >>> x.exp().log1p() tensor([0.6931, 1.3133, inf], grad_fn=<Log1PBackward>) </code></pre> <p>由于<code>log(1 + exp(x)) ≈ x</code>对于大的<code>x</code>,我想我可以用<code>torch.where</code>将{<cd6>}替换为{<cd2>}。但是当这样做的时候,我仍然得到<code>nan</code>,因为梯度值太大了。你知道为什么会发生这种情况吗?有没有其他方法可以让它起作用?在</p> ^{pr2}$
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<blockquote> <p>But for too large x, it outputs inf because of the exponentiation</p> </blockquote> <p>这就是为什么x永远不要太大。理想情况下应在[-1,1]范围内。 如果不是这样,您应该规范化您的输入。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
4 回答
文本小部件:在没有输入时更新并在循环后保持空闲
8 回答
文本小部件tkin
8 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
9 回答
文本小部件tkinter复制图像选项
5 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
4 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
9 回答
文本小部件不显示lis中的内容
6 回答
文本小部件不显示Unicode字符
7 回答
文本小部件中写入的行间距
1 回答
文本小部件中的文本作为变量
7 回答
文本小部件中的滚动条仅显示在底部
5 回答
文本小部件中的选项卡键空间计数
1 回答
文本小部件作为Lis
10 回答
文本小部件在主框架中扩展列宽
3 回答
文本小部件未使用删除功能清除
6 回答
文本小部件滚动动画(Tkinter、Python)
7 回答
文本居中。格式正确吗?
1 回答
文本差分算法
5 回答
文本已知时音频文件中的单词索引
3 回答