就像上一节说的那样,分析可以让你了解特定操作的内存使用情况。但是,观察整个模型的内存消耗更加重要。你必须确保不会超过你机器的内存,因为 swapping 绝对会降低你输入管道的速度,这样 GPU 就会等着处理新的数据。要检测这种行为,atv,用简单的 top 或者 Tensorboard 队列图应该足够了。要详细研究可以参照前面说的方法。 调试 善用打印 在调试问题时,比如停滞丢失或产生了奇怪的输出,我主要使用的工具是 tf.Print。考虑到神经网络的性质,看你的模型里面张量的原始值一般没有什么意义。没有人能看懂数百万的浮点数,看出什么地方错了。但是,有些方法,尤其是把形状或平均值打印出来,就能提供很多的信息。如果你要实现一些现有的模型,把东西打印出来能让你把模型的值和论文或文章里的值进行比较,还能帮助你解决一些棘手的问题,或者论文里的拼写错误。 TensorFlow 1.0 推出了新的 TFDebugger,看起来很有用。我现在还没有使用这个功能,但接下来几个星期肯定会用。 设置一个操作执行超时 好,现在你已经实现了你的模型,session 也启动了,但没有事情都没有什么发生?这通常是由空队列引起的。但是,如果你不知道是哪一个队列导致的,那么有一个简单的修复方法:只需在创建会话时启用一个操作执行超时,这样当操作超过限制时,脚本就会崩溃:
使用堆栈跟踪,你就可以找出是哪个操作产生了问题,修复错误,继续训练吧。 希望这篇文章对同样使用 TensorFlow 的你有用。如果你发现了错误,或者有建议或意见,欢迎在评论里和大家分享哦~~ 编译来源:
【寻找AI独角兽】新智元联手10大资本 启动2017创业大赛 AI 创业大赛由新智元与10 家主流 AI 创投机构:蓝驰创投、红杉资本中国基金、高瓴智成人工智能基金、蓝湖资本、蓝象资本、IDG资本、高榕资本、中信建投证券、明势资本、松禾远望基金携手发起,由新智元主办,北京市中关村科技园区管理委员会、中关村科技园区海淀园管理委员会支持,是一场聚合了 AI 技术领袖和投资领袖的盛会。新智元向满怀雄心的未来AI独角兽提供强大的创投资源对接机会,顶级风投 TS 等你来拿。
点击文章下方阅读原文,在线填写报名申请报名表。该报名表为参与评选必填资料。 如有更多介绍资料(例如BP等),可发送至 [email protected],邮件标题请注明公司名称。如有任何咨询问题,也欢迎向该邮箱发信联系。 大赛咨询,请添加新智元微信号: (责任编辑:本港台直播) |