心电信号深度学习训练及部署(3):编译tensorflow C++ API

python训练得到模型后,将模型部署到C++上应用,这个过程首先要对tensorflow源代码进行编译,得到tensorflow C++的API接口,在C++上进行调用。(别看寥寥几句话,这个过程个人感觉最苦逼,遇到的坑最多,花费时间最久)

由于系统是win10下,VS2019调用,我的目标是编译一个DLL和LIB,搜索尝试了很多,最后在这篇博主(https://blog.csdn.net/yx123919804/article/details/107042822/)的方法下完成了编译,大家可以参考进行尝试。

下面是我大致的流程,比较简单,具体的可以参考上面的博文。

 

准备工作

1. 下载tensorflow源码,2.1.1版本

2. 安装bazel 0.29.0 (bazel版本与tensorflow的版本需要对应一致,若不同可能导致编译错误)

3. 安装MSYS2

4. 配置一个tensorflow的anaconda环境(参考博文提到的具体依赖项我没有安装,仅配置了环境)

5. 安装VS2019(原来就安装好的,VS2017未尝试)

 

编译release版

1. 打开anaconda prompt, 激活tensorflow环境

2. 切换到tensorflow源代码目录

3. 运行python configure.py进行配置,除了CUDA部分选择Y,与参考博主不同外,其他的都相同

这里我遇到了一个问题,在CUDA中选Y后,找不到相应的CUDA。我的问题是我安装tensorflow时并未安装显卡驱动,tensorflow应该是自己帮我装上了,后面我移除了该环境,先安装相应版本的显卡驱动,再装tensorflow-gpu,问题得到解决。

4. 编译dll。输入 bazel build --config=opt //tensorflow:tensorflow_cc.dll进行编译,如果不成功,可以多试几次,可以在网络好一些的时候尝试(我个人晚上尝试失败,第二天早上尝试成功)

5. 编译lib。输入 bazel build --config=opt //tensorflow:tensorflow_cc_dll_import_lib进行编译

6. 编译头文件。再输入 bazel build --config=opt //tensorflow:install_headers

 

编译时间根据电脑和网速有所不同,我的在网络好的时候,半个小时编译结束。完成后,在D:\tensorflow-2.1.1\bazel-bin\tensorflow下得到我们需要的三个文件(夹):include文件夹、tensorflow_cc.dll和tensorflow_cc.lib。

至此,整个编译过程已完成。参考博文介绍的debug我没有尝试,有兴趣的朋友可以尝试以下。友情提示,此时千万不要用bazel clean 清除文件,因为我们还会回来。

 

参考资料

[1] https://blog.csdn.net/yx123919804/article/details/107042822/

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值