VS2019平台引入C++版tensorflow遇到的一些问题及解决方法
[TOC]
安装tensorflow
我采用的是已编译好的tensorflow
下载tensorflow
https://github.com/fo40225/tensorflow-windows-wheel
注意:
这里面只有tensorflow1.71.10的版本有编译好的cpp库,其他的版本只有编译好的安装tf的python库的whl文件,所以强烈推荐大家用1.71.10的tensorflow。
例如我需要tensorflow1.10的、cpu支持AVX2指令集的版本,就下载tensorflow-windows-wheel/1.10.0/cpp/libtensorflow-cpu-windows-x86_64-1.10.0-avx2.7z
例如我需要tensorflow1.10的、cpu支持SSE2指令集、且gpu支持CUDA9.2和CUDNN7.2的版本,就下载tensorflow-windows-wheel/1.10.0/cpp/libtensorflow-gpu-windows-x86_64-1.10.0-sse2cuda92cudnn72.7z
然后把其中的include路径包含进去,把lib文件添加到工程中,再在执行exe时把dll文件复制进去就好了
————————————————
版权声明:本文为CSDN博主「_沥川往事」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuejisuo1948/article/details/84197534
引入tensorflow
在cmakelist.txt中写入;
include_directories(<Your Path>/tensorflow/include)
link_directories(<Your Path>/tensorflow/lib)
target_link_libraries(<Your exe name> tensorflow)
遇到的问题:
1. “(”:“::”右边的非法标记应输入标记符
原因处在vc和c++模板库上.min和max与<windows.h>中传统的min/max宏定义有冲突
在属性->C/C+±>预处理器-> 预处理定义中 添加NOMINMAX
解决方法:
2.找不到tensorflow.dll
解决方法:
==将已编译好的tensorflow的bin目录下 tensorflow.dll 复制到 debug目录下和*.exe一起==
如图:
3.找不到cublas64_92.dll
没安装cuda的缘故
我对应的是安装9.2的版本
参考安装CUDA文章
安装完后再运行提示 找不到 cudnn64_7.dll
没有安装对应的cudnn版本
去nvidia官网安装 https://developer.nvidia.com/rdp/cudnn-archive
选择对应的Cuda版本 , 这里选择的就是
下载后 将对应的文件复制到 CUDA 的安装目录:
a) Copy <installpath>\cuda\bin\cudnn64_7.dll to C:\Program Files
\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin.
b) Copy <installpath>\cuda\ include\cudnn.h to C:\Program Files
\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include.
c) Copy <installpath>\cuda\lib\x64\cudnn.lib to C:\Program Files
\NVIDIA GPU Computing Toolkit\CUDA\v9.2\lib\x64