TensorFlow是目前使用最广泛的深度学习框架,网上关于如何进行TensorFlow编程的教程或者博客比比皆是。然而,对于那些希望了解TensorFlow内部如何实现,或者是希望自定义修改TensorFlow内核的朋友来说,搜索相关的内容却很难找到有帮助的教程或者博客,不论是中文还是外文。笔者去年花费好几个月对如何调试TensorFlow源代码,再到如何修改TensorFlow内核C++库文件,最后自定义TensorFlow内部的Tensor形状以及卷积模式,较熟悉如何进行TensorFlow的源代码调试与修改。本文将介绍如何对TensorFlow进行调试,进而便于有需要的朋友进行内核(C++)的学习与修改。
网上有少许关于如何调试TensorFlow源代码的文章,有的推荐直接用gdb,有的推荐用Emacs+gdb,有的推荐用codeblock的,笔者通过实验发现VS code是可视化做的最好的,而且用户界面友好,调试不会出现卡顿。Emacs在调试时随着追踪的深入会卡顿;而单纯用gdb…可能适合于linux大佬;codeblock用户界面不及VS code,而且笔者尝试调试没有成功…。
一:准备工作:
- 首先安装VS code,python,gcc,bazel等必要库。
- 然后git下载TensorFlow的源代码并check out出自己需要的版本。对源代码进行configure,根据是否有GPU而进行相应选择。这里需要注意:TensorFlow的版本必须要和本机的python,gcc,bazel版本相匹配,建议提前想好再安装所有库文件。
- 在configure源文件之后,我们