首先,这里不详细讨论tensorflow的安装和配置过程,具体请参阅其官网https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html#installing-from-sources
三个问题如下:
1.安装bazel,提示Java找不到
2../configure 时,bazel无法下载tensorflow所需的依赖库(如果不是使用代理上网应该不存在这个问题)
3.bazel编译过程中报错
接下来我们逐条给出解决方法:
问题一:找不到java. 但系统下已经安装了java8,而且可以正常使用,感觉应该是没有配置JAVA_HOME,CLASSPATH等环境变量导致的,索性我就在自己的用户名下重新装了Java,将JAVA_HOME,JRE_HOME,CLASS_PATH和PATH写到了.bash_profile中(具体要根据自己Java目录而定).这样一来问题一就解决了。
问题二:bazel无法下载. 主要原因是由于服务器是使用的代理访问外网,之前一直工作正常,但bazel一直提示我的代理地址“not a valid URL”,Google了一下,确实有很多人反映bazel不支持用代理下载,但应该是比较老的版本了,现在既然可以提示我的代理不是有效的URL,那应该是可以用代理下载了。问题其实是出在我的配置上,我之前都是以这种格式设置代理的:
export http_proxy=proxy_ip:port (e.g. export http_proxy=10.110.0.25:8888)
export https_proxy=proxy_ip:port
(PS: 由于自己不是计算机科班出身,学艺不精,很多知识不懂,都是能用就行,具体为什么要这么配置并不知晓)
其实我们应该写成这样:
export http_proxy=http://proxy_ip:port (e.g. export http_proxy=http://10.110.0.25:8888)
export https_proxy=http://proxy_ip:port
这样bazel就可以正常使用了。
问题三:编译时报错,图片如下:
一开始是这个错误
报的Git上的错误,我试了一下,git确实没有-C (此处大写)的命令,但是有-c (小写),不知道是我git版本的问题还是哪里的错误,按照提示,把tensorflow/tools/git/gen_git_source.py, line165除的-C改为了-c (小写)。
之后,这个错误没了,但是还是同一地方,又出了另一个错:
还是不能运行,但打开Python,在Python的命令行中输入这句代码,是有结果的,没有再找原因,就直接把我得到的结果赋值给了变量strs,具体如下:
这样一来终于可以正常编译了(但这个错误不知道是什么原因,大家要知道请告知我。),后面的步骤请大家参阅tensorflow官方教程。
注意:
tensorflow版本更新蛮快的,估计这篇文章已经落伍了,仅供参考。