Bazel编译Tensorflow C++ 版本CPU/GPU DLL动态库(附windows端tensorflow CPU/GPU开发包)
采用官方Bazel编译,其中踩坑无数,只有程序员才能理解程序员的心酸。踩过的坑就不一一写了, 以下随便记录下其中出现的问题和自己解决的方法。
在编译之前,首先搭配建立好自己的软件和系统环境。如果环境没建立好,后面Bazel编译的时候肯定会出错的。不想码太多文字在怎么搭建上了,亲自搜以下很容易看到。
我使用的具体软件环境如下:
1. CUDA10.0 + CUDNN7.4:cuda_10.0.130_411.31_win10.exe、 cudnn-10.0-windows10-x64-v7.4.2.24.zip
2. tensorflow v1.13.2
3. Python 3.7.4:Anaconda3-2019.10-Windows-x86_64.exe
4. VS2015
5. Bazel -0.20
6. Msys64 (官网下载慢,先用了网络上的)
CUDA直接默认安装即可
cudnn解压后cuda/*下文件,拷贝到cuda文件下v10.0下。
cudnn和cuda一定是匹配的版本(从官方找对应的版本包下载即可)
安装完后,检测cuda是否运行正确如下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\demo_suite
下命令行运行deviceQuery.exe
信息如下说明cuda正确(cudnn一般版本匹配就好)
可以进一步采用pycharm 验证CUDA是否正确
运行pip install tensorflow-gpu==1.13.2版本, 安装完后:
import tensorflow as tf
如果报错以下:
ImportError: No module named '_pywrap_tensorflow_internal';DLL load failed: 找不到指定的模块