上一篇我介绍了Tensorflow如何数据并行多GPU处理。这一篇我会说一说如何来调试Tensorflow模型。
与普通Python代码相比,由于Tensorflow的符号特性,使得调试Tensorflow代码变得相对困难。我在这里介绍一些Tensorflow中包含的调试工具,它们使调试变得更加容易。
当使用Tensorflow时,最常见的错误可能是将错误大小张量传递给操作运算。许多Tensorflow操作可以对不同行列数和大小的张量进行操作,这在使用API时可能很方便,但当出现问题时可能会很麻烦。
1、使用tf.assert * ops
一种方法是用tf.assert * ops明确验证中间张量行列数和大小来减少不必要的错误。
查看官方文档以获取完整的assertion 操作列表,地址:https://www.TensorFlow.org/api_guides/python/check_ops。
2、使用tf.Print
另一个有用的内置调试函数是tf.Print,对给定张量标记成标准错误。
3、使用tf.compute_gradient_error
并非Tensorflow中的所有操作都带有梯度,我们会在无意中很容易用Tensorflow构建无法计算梯度的图。用tf.compute_gradient_error检查梯度。
4、其它
Tensorflow总结和tfdbg(Tensorflow调试器)是可用于调试的其他工具。地址:
https://www.TensorFlow.org/api_guides/python/summary https://www.TensorFlow.org/api_guides/python/tfdbg