plo*_*bot 8 testing bazel tensorflow
我正在尝试修改Tensorflow源代码(核心).
在研究代码后,我开始修改,重新编译并运行我自己的测试.但我不确定我是否以最好的方式做到这一点.所以我对此有一些疑问.
1 - 我是否需要重新编译所有张量流代码或仅修改模块?
2 - 为了实现修改,我是否总是从我的源创建一个wheel包并安装它?为什么我可以在bazel编译后直接集成修改?
3 - 测试代码的最佳方法是什么?有很多单元测试,我不知道如何正确使用它.
4 - 我正在使用linux的bash脚本来运行bazel命令,还有更好的东西吗?
谢谢大家!
(总结来自对这个问题的评论)
在开发TensorFlow本身的更改时,无需为TensorFlow构建pip包.相反,bazel run <target>允许您运行单元测试(bazel test将一个或多个测试的输出记录到文件而不是直接打印).因此,例如,如果您正在修改一个热操作(tensorflow/core/kernels/one_hot_op.cc),您可能希望为该操作运行Python单元测试套件(tensorflow/python/kernel_tests/one_hot_op_test.py):
bazel run //tensorflow/python/kernel_tests:one_hot_op_test
Run Code Online (Sandbox Code Playgroud)
或者转到目录并使用相对构建目标:
cd python/kernel_tests
bazel run :one_hot_op_test
Run Code Online (Sandbox Code Playgroud)
测试目标在BUILD文件中定义.应自动选择对依赖项的任何更改.在第一次运行之后,编译应该非常快速,因为大部分都将被缓存.
如果您正在开发最终将集成到使用TensorFlow的软件中的更改,那么如果您在进行集成测试之前首先对TensorFlow更改进行单元测试(例如,您将TensorFlow捆绑到其中),则可能会获得更愉快的体验.一个pip包).
| 归档时间: |
|
| 查看次数: |
895 次 |
| 最近记录: |