【发布时间】:2017-06-19 08:53:53
【问题描述】:
我正在尝试修改 Tensorflow 源代码(核心)。
研究完代码后,我开始修改、重新编译并运行自己的测试。但我不确定我是否以最好的方式做到这一点。所以我对此有一些疑问。
1 - 我需要重新编译所有 tensorflow 代码还是只需要重新编译修改后的模块?
2 - 为了实现修改,我是否总是从我的源代码创建一个 Wheel 包并安装它?为什么我可以在bazel编译后直接集成修改?
3 - 测试代码的最佳方法是什么?有很多单元测试,我不知道如何正确使用它。
4 - 我正在使用 linux 的 bash 脚本来运行 bazel 命令,还有更好的方法吗?
谢谢大家!
【问题讨论】:
-
曾经有一个名为“为开发设置 tensorflow”的部分,它提供了一种修改 TF 并使用它而无需安装轮子的方法。不知道它去了哪里,我在github.com/orionr/tensorflow/blob/…看到旧版本@
-
你是在修改 Python 还是 C++?
-
我正在修改 C++ 核心,并使用 c++ 和 python 运行应用程序。我认为 python 总是使用 c++ 核心和内核来做计算。
-
在这种情况下,我会采用与 Google 内部工作流程等效的方法,即在开发时在单元测试中使用“bazel run”(或在多个测试中使用“bazel test”)。您不必全部运行它们,通常只有一两个相关。我会为您的 TensorFlow 更改编写一个单元测试,其格式与其他 TensorFlow 单元测试相同,并且只有在通过后才使用修改后的 TensorFlow 进行集成测试。
-
我认为这应该被提升为答案并被接受:)
标签: testing tensorflow bazel