Bazel编译tensorflow

这里会逐渐补充。

编译时可以直接在powershell或者cmd或者Anaconda Prompt中执行bazel 命令编译。

编译过程中需要关掉360安全卫士,避免编译进程被杀死导致编译失败。

1、bazel编译tensorflow

(1)打开anaconda prompt

  如果想使用不同版本的虚拟环境可以激活相应的虚拟环境,比如我有一个py35的虚拟环境。  

conda activate py35

(2)配置项目

cd /d D:\GitHub\tensorflow-1.13.1
python configure.py

然后根据提示配置符合自己电脑的信息。

(3)编译项目:libtensorflow_cc.so、libtensorflow_framework.so和install_headers

编译之前,去到\tensorflow-master\tensorflow\BUILD文件里面好好看清楚

需要编译的是libtensorflow_cc.so、libtensorflow_framework.so和install_headers三个项目

install_headers项目会把所有H文件汇总,方便后面引用

cd tensorflow
bazel build :libtensorflow_cc.so(BUILD文件tf_cc_shared_object(name="libtensorflow_cc.so"))
bazel build :libtensorflow_framework.so(BUILD文件tf_cc_shared_object(name="libtensorflow_framework.so"))
bazel build :install_headers(BUILD文件tf_cc_shared_object(name="install_headers"))

最后一条可以不用执行,因为它会将生成的文件安装到C盘,文件很大:

bazel build :install_headers(BUILD文件tf_cc_shared_object(name="install_headers"))

动态库生成到bazel-bin/tensorflow文件夹下,使用时libtensorflow_cc.so需要更名为tensorflow_cc.dll。不知道上面的命令libtensorflow_cc.so直接替换成tensorflow_cc.dll或者tensorflow.dll是不是可以编译成功,可以一试。

 调用示例参考:https://blog.csdn.net/atpalain_csdn/article/details/97945536

 2、上面编译的tensorflow是cpu版本的,编译GPU版本的命令如下。

编译c++ DLL  GPU版本:

bazel build --config=opt --config=cuda --copt=-nvcc_options=disable-warnings //tensorflow:libtensorflow_cc.so 

参考博客:https://blog.csdn.net/yyplc/article/details/104448153

 参考博客:https://blog.csdn.net/sinat_19758811/article/details/90896639

 

3、build freeze_graph 工具( 需要 bazel ):

bazel build tensorflow/python/tools:freeze_graph

 4、配置库路径

参考:https://blog.csdn.net/atpalain_csdn/article/details/97945536#Step4_tensorflow_110

按照上面的参考报错:

cannot open source file "tensorflow/core/framework/types.pb.h"

于是猜测,路径设置有问题,参考博客中include 目录下存放的tensordlow不应该是源文件下的tensordlow,而应该是编译后genfiles文件夹下的tensordlow文件夹,所以需要自己测试一下,我测试了一下,果然替换过来就可以了。(tensorflow-gpu版本发现上面这个问题)

 

参考:https://blog.csdn.net/atpalain_csdn/article/details/97945536

 参考:https://blog.csdn.net/jin739738709/article/details/86705735

posted @ 2020-07-15 17:58  巨鹿王十二  阅读(1265)  评论(0编辑  收藏  举报