【坑向】——pycharm中调试显示的数据精度

背景:

在进行深度学习相关实验时遇到一个奇怪的问题,卡了很久,一直找不到解决方案,最后还是导师一针见血。特此记录,希望能帮助到你。


问题描述

我取出网络中的权重参数,获得等于某个值的张量索引

原始代码如下:
在这里插入图片描述
高亮部分是核心代码:会获得张量weight_copy等于attn_thre的索引(二维)

然后发现程序并不像想象中的进行,于是进行调试。进行调试时候发现这个aux_index只有1个值,如下图:

在这里插入图片描述


调试分析:

进行调试,阈值attn_thre为0.9896,再看weight_copy里的显示如下:

在这里插入图片描述

仔细查看weight_copy张量里的数据,是有很多值为0.9896的,那为什么aux_index只有1个值呢?

我单独将weight复制下来到另一个文件中测试如下:

在这里插入图片描述
在这里插入图片描述
进行调试,发现aux_index里面的值不为1:

在这里插入图片描述
也就是有25个值,同样的数据,为什么会得到不一样的结果?


原因解析:

我又做了不少实验,结果是相同的数据在不一样的程序中不一样,一度怀疑是API出现了问题等等,卡了好久最后终于真相大白:pycharm显示的数据精度问题,即调试看到的数据为0.9896,实际上可能为0.98963545,weight_copy里面张量的值也是同样的道理,根据这个重新修改算法得到正确的程序。


总计:

有时候眼见也不一定为真,数据精度这一难注意到的问题今后也要多加考虑。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值