项目部署上需要,需要编译Tensorflow的C++接口。参考了很多文章,折腾了好几天,最后记录一下我的编译过程。
1.编译工具准备
第一个重要的点:确保版本匹配。
一定要让 Tensorflow,python,VS,Bazel,CUDA,cuDNN 版本匹配,大部分编译出问题都是版本不匹配。官方的推荐版本映射关系,参考下表。
最后我采用的环境:
- Visual Studio 2015 with update3
- Anacoda3(Python3.6.5)
- CUDA 10.0
- cuDNN 7.6.5
- Tensorflow-1.13.1
- bazel-0.20.0-windows-x86_64.exe
- msys2-x86_64-20210419.exe
**注意:**这里需要说明一下,cuDNN对应版本应该采用7.4,但我机子已经安装了7.6,懒得换了就直接用的,暂时没发现问题。其他模块我都保持和它要求一致的。
第二个重要的点:请准备一个番羽强工具
安装过程中有很多需要下载的模块,如果不能连外面,大概率会失败。
2.安装CUDA
安装VS2015这个就可以略过了,正常安装就行了。
安装cuda也很简单,默认安装就可以了。
cuDNN解压后直接拷贝到cuda目录就可以了
注意:安装完成后要重启系统
验证安装后是否正常
打开 cmd 命令行
输入
nvcc -V
可以查看当前cuda版本
3.安装Anaconda
我安装的是Anaconda3-5.2.0-Windows-x86_64.exe
对应的是python3.6.5,当然你也可以不安装Anaconda,直接安装python,也是可以的。
注意:要勾选 Add Anaconda to my PATH environment variable
安装完成后要重启系统
重启后在命令行输入python查看当前是否成功
4.安装msys2
进入msys2官网
http://www.msys2.org/
下载最新的版本就可以了