Tensorflow c++实践(使用cmake vs2015 编译tensorflow源码)

https://cloud.tencent.com/developer/article/1146674


写得非常详细非常好


亲身实践,下载TensorFlow的时候真的别用git clone,会下载一些莫名其妙的东西,多达几百M,而且根本编译不过,多达几百个错误,哎。官网的TensorFlow实际只有1百多M,并且直接编译通过,根本没什么幺蛾子发生,会报十来个错误,但是这些错误不影响库的编译。网上的博客坑真多。

官网的TensorFlow是可以选择版本的,在branch里面去找对应的版本然后直接下载。


【Tensorflow】Windows编译tensorflow dll和lib报错fatal error C1060: 编译器的堆空间不足

解决办法:https://blog.csdn.net/heiheiya/article/details/89317265

亲测有效,先提前设置好,然后编译,就不会出现这个问题了。


然后就是最后三个错误。最核心的三个工程

tensorflow windows cmake 编译 error: “grpcpp/grpcpp.h”: No such file or directory,出现这个问题,应该是编译时会下载一些库文件,由于网络原因没有下载下来,因此需要我们手动下载。所以保持稳定的网络十分的重要,免得出现莫名其妙的错误。没有下载,是因为我们cmake TensorFlow的时候没有勾选GRPC_SURPPOET选项。

解决方法:https://blog.csdn.net/alvinlyb/article/details/82215894


grpcpp下载后,把include复制到tensorflow\contrib\cmake\build\grpc\src\grpc下,注意,删掉自带的google文件夹,免得protof冲突。

然后手动仅生成tf_c、tensorflow_static、tensorflw三个项目。生成前先清理

最后这三个错误,按照上面的方法是可以处理的,但问题就在于版本问题,你不知道对不对。所以我最后的办法就是让编译器自己下载grpc,需要重新cmake一遍,要在TensorFlow设置那里勾选GRPC_SURPPOET选项。这样才会自动下载。勾选之后,是编译不通过的。但是我们需要的是grpc这个文件库,所以目的达到了。于是再取消勾选GRPC_SURPPOET选项,再重新编译一遍。

今天准备再重新编译一遍,哎,真的好难啊。

最后编译TensorFlow项目出现链接问题,应该是没找到库,而实际上,通过查找,链接出问题的函数明显就是没有得到项目的编译,据推断,应该是grpc项目,但是我们取消勾选GRPC_SURPPOET选项,所以是没有grpc项目的,那么自然也不会得到编译,哎。所以,我通过查找后,决定注释相关函数,我只能期待它们没什么用。

注释后能全部编译无错误了

虽然编译得库了,但是并不能正常使用,所以肯定还是缺少了一些代码。配置参数很可能是不对的。只能等后面再试试了,目前先告一段落


2019.06.26

我今天依然没有放弃,于是又查资料,竟然看到一个网站https://github.com/fo40225/tensorflow-windows-wheel

这个人把tensorflow 1.7--1.10的windows版本全部编译好了,我的妈耶!!!

例如我需要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文件复制进去就好了,参考下面的【三】和【四】。

我打算直接下载别人编译好的了。关于编译,https://www.cnblogs.com/steven_oyj/p/8259205.html,这篇文章可能还可以


tf 1.8.0 is the latest version that can build cpp lib with cmake.

1.9.0 & 1.10.0 need some fix to make cmake cpp lib build script work.

after 1.11.0, tf deprecated cmake and use bazel to build.

bazel didn't support build the cpp lib on windows until now (1.13.1)

You can try to use cmake to build cpp lib on newer tf.

这是大神的话,所以 tf 1.8.0能很好的编译,再往上就不行了


多看看大神的github果然又好处。https://www.tensorflow.org/install/source_windows

大神介绍了这个网站编译tensorflow


win 10 1709

git 2.14.1 (in PATH)

cmake 3.9.6 (in PATH)

anaconda3 5.1.0 (in PATH)

visual studio 2017

swigwin-3.0.10

open visual studio 2017 x64 native tools command prompt

cd %HOMEPATH%

git clone

https://github.com/tensorflow/tensorflow.git -b v1.6.0

cd tensorflow/tensorflow/contrib/cmake

mkdir build

cd build

cmake .. -G "Visual Studio 15 2017" -A x64 -T host=x64 ^

-DCMAKE_BUILD_TYPE=Release ^

-DSWIG_EXECUTABLE=C:\Users\User\swigwin-3.0.10\swig.exe ^

-Dtensorflow_WIN_CPU_SIMD_OPTIONS="/arch:AVX2"

cmake --build . --target tf_python_build_pip_package --config Release -- /fileLogger

pip install tf_python\dist\tensorflow-1.6.0-cp36-cp36m-win_amd64.whl



我把lib下载下来后,发现还是用不了,在newsession那里就显示内存访问错误。后来发现,工程也要是release才对,因为我们用的lib是release X64,哭晕在厕所。最后我自己编译的、下载别人的,都是设置release X64就都可以用了,完美!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容