我在TensorFlow(Python)中实现了一个模型,我之前使用Eigen在C ++中编程,它按预期工作。但是这个模型在Python中并没有像预期的那样工作,可能是因为我错误地定义了张量,或者我正在混合尺寸。
我试图通过使用Visual Studio(2017)调试器来解决这些问题(如果不同的IDE更适合这个,那么我是所有的耳朵,但我更愿意坚持使用VS),但是张量不评估任何东西 - 我可以理解这一点,因为张量定义了一个操作,而不是一个数据对象(它只是在调用session.run
之后产生一个数据对象。)
然而,恒定和可变张量 - 以及仅在这些张量之上构建的任何其他张量 - 都带有预定义数据。嘿,为什么不能通过调试UI检查值呢?
所以我的问题是:有没有办法通过一些扩展来检查数据?
例如,如果我在C ++和Eigen中工作,我可以按照here所述使用Eigen.natvis。 TensorFlow有类似的东西吗?它不仅仅是看到评估值的问题。在调试时看到像形状等等的东西会很高兴。
如果有人有好的建议,我也会对TensorFlow代码的其他调试技术持开放态度。
答案 0 :(得分:4)
TensorFlow包含# Basic importing of BibTex files
library(RefManageR)
# User RefManageR to import bibtex references and convert to tibble
bib = ReadBib("MyEndnoteBibtexExportFile.bibtex")
d.bibEQL = as.data.frame(bibEQL)
,TensorFlow模型的调试器,您可以在其中逐步执行每个执行步骤,检查值,停止NaN等。请参阅程序员指南TensorFlow Debugger和{ {3}}了解更多信息。
tfdbg
设置和使用可能有点麻烦。检查中间值的快速替代方法是The Debugger Dashboard。 TensorFlow包含一些其他use tf.Print
operations,您可能会发现它们可用于检查一些基本内容。
编辑:另一个有用的工具是debugging operations。这允许您使用TensorFlow操作,就像它们是常规Python操作一样(它们返回操作的结果而不是图形对象),因此这是检查某些特定代码是否符合您期望的好方法。