准备工作:
ps:本人电脑为64位操作系统
安装 vs2015 64bit 去i tell you 可以下载
下载msys2 http://www.msys2.org/
安装后在系统环境变量的path中添加路径D:\msys64和D:\msys64\usr\bin,本人装在D盘,操作如下图所示:
打开mingw64.exe 输入:
pacman -Syuu
可能会出现如下错误:无法从repo.msys2.org:Operation too slow.Less than 1 bytes/sec transferred the last 10 seconds
解决方法:将清华镜像的路径 加入到 D:\msys64\ect\pacman.d\ 目录下的文件里
/etc/pacman.d/mirrorlist.mingw32
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
/etc/pacman.d/mirrorlist.mingw64
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
/etc/pacman.d/mirrorlist.msys
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
以上清华镜像路径写在其他镜像路径的上方。
接着在mingw64.exe中输入:
pacman -S patch, unzip, grep
下载安装bazel,现在版本为:bazel-0.22.0-window-x86_64.exe,网址https://github.com/bazelbuild/bazel/releases,可能国内下载速度很慢,推荐使用https://www.newbe.pro/Mirrors/Mirrors-Bazel/
下载完成后,将bazel-0.22.0-window-x86_64.exe 改为bazel.exe, 然后放在D:msys64目录下
接着配置环境变量,新建环境变量BAZEL_SH, BAZEL_VC, BAZEL_VS,按下图所示:
注意:有的人的环境是C:\Program Files(x86) Microsoft Visual Studio 14.0\VC 和 C:\Program Files(x86) Microsoft Visual Studio 12.0 请按照自己的路径添加
下载 tensorflow 1.12.0 :https://pypi.org/project/tensorflow/1.12.0/
安装 python 3.6.5
编译:
打开Windows PowerShell进入tensorflow1.12.0包的文件夹运行:
python configure.py
可能会报不能读取 .rc的文件这时候只要降低bazel的版本就可以了, 我改成了0.15.0的版本,运行结果如下图所示:
下一步运行:
bazel build --config=opt //tensorflow/tools/lib_package:libtensorflow
就可以在D:\tensorflow-1.12.0\bazel-out\x64_windows-opt\bin\tensorflow\tools\lib_package\中找到libtensorflow.tar.gz,解压后得到include和tensorflow.dll、tensorflow.lib。目录结构如图所示:
在运行上述的命令可能会出现下图所示丢失包的错误:
这个原因是运行时一些依赖包没有下载下来,如果你有个速度很快的VPN是不会出现这种问题的。
********************************************************************************************
这里时我编译好的include和tensorflow.dll、tensorflow.lib
下载链接:https://download.csdn.net/download/goodman_lqifei/12305014
********************************************************************************************
现在进行示例展示:
好多网上的实列依然采用的是没有编译的tensorflow来写的,我认为是不合理的。下面给出参考示例:
首先配置环境,在vs2015中创建空项目
将include的添加到包含目录中:
将lib添加到库目录和链接器的输入中的附加依赖项中:
最后将dll文件放在D:\project\Project3\x64\Release\目录下:
PS:这里使用的pb文件是在keras框架模型转成的。
代码:
这里是测试一个样本的示例,最终的运行结果如下图所示,其中代码还有些瑕疵,以后慢慢打磨。
如果有什么错误,请在评论区留言哦,如代码有不清楚的地方,也请在评论区留言,一起讨论!