Tensorflow运行出错之Check failed: e->src_output()问题

在centOS 7环境下,CUDA8.0, cudnn5和TensorFlow 1.0的组合中遇到'Check failed: e->src_output()'错误。错误源于TensorFlow版本问题,特定的CHECK_LT检查导致了该问题,因为输入数据一维长度超过32768。通过查看源码和历史版本,发现是TF的string_input_producer读取数据时的限制。最终通过升级TensorFlow版本解决了问题,强调查看源码和保持库更新的重要性。" 52613934,5648465,亲历:自制编译器之旅,"['编译器开发', 'C语言', '编程实践', '学习经验', '技术挑战']
摘要由CSDN通过智能技术生成

系统:centOS 7
环境:CUDA8.0 + cudnn5 + TensorFlow 1.0

问题

报错是这样的:
F tensorflow/core/common_runtime/executor.cc:484] Check failed: e->src_output() < 32768 (56124 vs. 32768)
先说结果,经过一番原因查找,得知这并不是程序上的逻辑问题,而是TF执行检查产生的core dumped,进一步探究会发现,这个错误是因为TF的版本问题。

解决

查看tf的executor.cc,发现e->src_output()错误行号和所报不同(这不奇怪因为tf更新迭代比较快),
所以去history里找,
这里写图片描述
发现17年2月24号官方对CHECK作了修改:

2月22号的版本是这样的,
这里写图片描述
而2月24号后就变成这样的,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值