Windows从源码构建tensorflow(离线编译)

Windows从源码构建tensorflow(离线编译)_第1张图片

由一开始的在线编译,到后面的离线编译,一路踩坑无数,历经整整6个半小时,终于编译成功!在此记录一下参考过的文章,有时间整理一下踩坑记录。
一、环境配置
在tensorflow官网上有版本对应关系
Windows从源码构建tensorflow(离线编译)_第2张图片

win10
bazel 3.1.0
msys2
tensorflow2.3.0
python3.5-3.8
MSVC2019
protobuf3.9.2 //protobuf的版本貌似非常重要,在tensorflow/tensorflow/workspace.bzl文件中可以查找到对应的版本
cuda10.1
cudnn7.6.5
VS2019 //编译过程中好像因为VS版本问题报过错,查找VS的MSVC版本,在报错文件中会有要求

二、编译前的准备工作,包括下载安装软件,配置环境变量,设置虚拟环境等

三、开始编译

bazel build --config=opt --config=cuda //tensorflow:tensorflow_cc.dll --local_ram_resources=200 --local_cpu_resources=10

四、编译报错处理

C++ compilation of rule ‘//tensorflow/core/kernels:XXX‘ failed

在windows环境下离线编译tensorflow2.2.0的C++动态链接库

Windows10 Bazel 编译 Tensorflow 2 C++ dll 和 lib 文件

Windows编译Tensorflow2.2.0 C++ dll (CPU bazel)

五、在VS上测试
Windows从源码构建tensorflow(离线编译)_第3张图片

上面的步骤完成后, 在 G:\tensorflow_c++_2.3(在你放源码的地方) 下的 bazel_bin 中会有相应的 include 文件夹, tensorflow_cc.dlltensorflow_cc.lib 文件, 把它们复制出来放到你的程序里就可以了.

Windows从源码构建tensorflow(离线编译)_第4张图片
Window下搭建Tensorflow的C++环境

你可能感兴趣的:(windows,tensorflow,人工智能)