首页 >> 大全

【Bug解决】Warning: grad and param do not ob

2023-11-10 大全 24 作者:考证青年

内容

Warning: grad and param do not obey the gradient layout contract. This is not an error, but may impair performance.
grad.sizes() = [512, 256, 1, 1], strides() = [256, 1, 1, 1]
param.sizes() = [512, 256, 1, 1], strides() = [256, 1, 256, 256] (function operator())

首先,这个 不解决对程序执行下去没有影响,但强迫症们必须解决!!

环境:单机多卡训练代码时,仅在第二个 epoch 会抛出该 ,其余 epoch 均正常。当使用一张卡训练时,不会抛出该 。经过 debug 调试,发现在第二个 epoch 的 loss.() 语句执行时会抛出该警告

原因:在 model 推理过程中, 不连续。

解决口苦最快的方法_解决中暑最有效方法_

Debug 过程:笨办法,看 model 的 函数里哪个步骤可能会导致 不连续,最终定位到我的 网络()中的 残差连接下采样,也就是下面代码的 = self.(x),给输入 x 加上 .() 变成 = self.(x.()) 后, 消失啦!

其他解决方案

在 这个讨论 下还找到了一些潜在的解决方案,第一个方法尝试过之后对我的情况无效,但可以作为大家的备选方案!

方法一:给网络模型中的 ReLU() 加上 =Flase。

方法二:如果是自己初始化网络参数的,需要注意下面这个人说的情况。

方法三:这里提供的方法解决了我的 ,但他是给 model 的 input 使用 .,并不适合每个人,需要根据自己情况找到抛 的地方。就如 2022 年高考作文题目,红楼梦第十七回 大观园试才题对额 的情景,众人给匾额题名,或直接移用,或借鉴化用,或根据情境独创,产生了不同的艺术(debug)效果。

参考:

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了