首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改tensorflow源代码的良好实践

问修改tensorflow源代码的良好实践
EN

Stack Overflow用户
提问于 2017-06-19 16:53:53
回答 1查看 1.5K关注 0票数 8

我正在尝试修改Tensorflow源代码(核心)。

在研究了代码之后,我开始修改、重新编译并运行我自己的测试。但我不确定我是不是在以最好的方式做这件事。因此,我对此有一些问题。

1-我需要重新编译所有的tensorflow代码还是只重新编译修改后的模块?

2-为了实现修改,我总是需要从我的源码创建一个轮子包并安装它吗?为什么可以在bazel编译后直接集成修改?

3-测试代码的最佳方法是什么?有很多单元测试,我不知道如何正确使用它。

4-我正在使用linux的bash脚本来运行bazel命令,还有更好的方法吗?

谢谢大家!

EN

回答 1

Stack Overflow用户

发布于 2017-06-28 01:17:56

(从对问题的评论中总结)

在开发对TensorFlow本身的更改时,不需要为TensorFlow构建pip包。相反,bazel run <target>允许您运行单元测试(bazel test会将一个或多个测试的输出记录到一个文件中,而不是直接打印出来)。因此,例如,如果您正在修改一个热op (tensorflow/core/kernels/one_hot_op.cc),您可能希望为该op (tensorflow/python/kernel_tests/one_hot_op_test.py)运行Python单元测试套件:

代码语言:javascript
复制
bazel run //tensorflow/python/kernel_tests:one_hot_op_test

或者转到目录并使用相对构建目标:

代码语言:javascript
复制
cd python/kernel_tests
bazel run :one_hot_op_test

测试目标在构建文件中定义。对依赖关系的任何更改都应该自动获取。在第一次运行之后,编译应该非常快,因为大部分都将被缓存。

如果您正在开发最终将被集成到使用TensorFlow的软件中的更改,那么如果您先对TensorFlow更改进行单元测试,然后再进行集成测试(例如,将TensorFlow捆绑到一个pip包中),这可能会是一种更愉快的体验。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44626098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档