vs2015编译Tensorflow源码

  最近在window上编译了一下tensorflow的源码,现在把自己在这个过程里遇到的问题写下来,方便以后使用。

  在编译之前主要参考的文章的是这一篇:https://joe-antognini.github.io/machine-learning/build-windows-tf,如果没什么问题的话,按照这个编译应该就是可以的。但是很不幸,我在按照这个博客操作的时候还是出现了一些问题。

  vs2015可以支持AVX编译。2017支持AVX2,参考:https://software.intel.com/zh-cn/articles/tutorial-for-compiling-tensorflow-on-windows

  首先是编译器的问题,在晚上搜了很多都是用vs2015编译的,然而机器上本来安装的是vs2017,报错的时候没有仔细看是什么原因,就甩锅给vs2017,转用2015,其实后面的编译过程来看未必一定需要2017。

  在用CMake生成sln文件之后打开,2015直接编译有很多错,总结如下:

  1、下载文件的问题,一些文件下载不了,那可能需要科学上网,才能解决。下载的文件放在build/downloads下面。期间一个特别奇怪的事情,就是下载a6f29d8ac48d63293f845f2253eccbf86bc28321.tar.gz这个文件的时候,总是校验码错误,导致gemmlowp这个项目编译失败(虽然也不知道这个项目编译失败有没有关系),因此就改了Cmakefile里的检验码

可以看到是一个字符串比对,因为这个字符串比对一直失败,导致编译出错。

  2、出现常量中有字符串的问题,这个问题主要是文件的编码方式有问题,原来的编码方式是utf-8with bom的,只要改成utf-8就可以完成编译。主要是search_test.cc和re2_test.cc这两个文件。

  3、如果其实上同时又vs2017和vs2015的话,最好还是尝试2017编译,因为用2015打开解决方案,项目属性里平台工具集都是v141,我在删除了2017之后,平台工具集使用了v140,才可以正常编译的。

  整个编译的时间比较长,需要慢慢等待,最后上一个执行的例子截图。

 

posted @ 2017-10-31 14:53  放学后去打篮球啊  阅读(2409)  评论(0编辑  收藏  举报