欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TX2安装tensorflow遇到的问题

程序员文章站 2022-07-05 16:03:09
...

这几天给TX2安装tensorflow深度学习框架,没法提,各种问题层出不穷。折腾了4,5天好在终于是把它装上了,现在我就把这几天遇到的各种坑给大家整理一下,希望后来装的人不要重蹈覆辙。

首先是关于版本的问题,现在有tensorflow1.01,1.3,1.4这几个版本,教程比较多。

如果你想安装1.01版本,就用jetpack3.0刷一下机,3.0安装的是CUDA8和CUDnn5.1.10

如果你想安装1.4版本,就用jetpack3.1刷机,3.1安装的是CUDA8和CUDnn6.0

还有就是最好买一块固态硬盘在TX2上,不然恐怕flash容量不太够,而且装了固态确实可以提高安装速度。(官方说正常安装在4小时以内,你懂的),固态的具体安装配置方法我的前几篇博客有:

https://blog.csdn.net/qq_35239859/article/details/79832656

装这东西我感觉得看脸,运气好的基本就一次成功,而我就是运气不好的那一类,问题是层出不穷。闲话少说,正式开整!

装tensorflow正常方法基本上就是2步,第一,增加交换空间,第二下载脚本,执行脚本文件。听起来很简单,实际一脸泪水!

http://www.jetsonhacks.com/2017/09/14/build-tensorflow-on-nvidia-jetson-tx2-development-kit/

这个链接是安装tensorflow1.3版本的

TX2安装tensorflow遇到的问题

准备工作就是这个,用jetpack3.1刷机,就我上面说的

TX2安装tensorflow遇到的问题

这句是把TX2的模式切换到模式0,关于TX2的模式介绍,我前几篇博客也有介绍

https://blog.csdn.net/qq_35239859/article/details/79825341

TX2安装tensorflow遇到的问题

这几步不用说。

接下来TX2安装tensorflow遇到的问题

这句就是开创出8G的交换空间。

接下来有两种选择,一个是用python2.7版本,一个是3.5,差不多其实

2.7运行 ./installPrerequisites.sh,./cloneTensorFlow.sh, ./setTensorFlowEV.sh这三个脚本

3.5运行 ./installPrerequisitesPy3.sh, ./cloneTensorFlow.sh, ./setTensorFlowEVPy3.sh这三个脚本

在运行第一个安装预备条件的脚本就出错,打开这个脚本,发现里面其实包含两个脚本的,TX2安装tensorflow遇到的问题

第一个是安装python和java8的一般不会出什么问题,第二个是安装bazel的,这个会出问题,这个脚本里的内容为

INSTALL_DIR=$PWD
cd $HOME
wget --no-check-certificate https://github.com/bazelbuild/bazel/releases/download/0.10.0/bazel-0.10.0-dist.zip
unzip bazel-0.10.0-dist.zip -d bazel-0.10.0-dist
sudo chmod -R ug+rwx $HOME/bazel-0.10.0-dist
# git clone https://github.com/bazelbuild/bazel.git
cd bazel-0.10.0-dist
./compile.sh 
sudo cp output/bazel /usr/local/bin

会下载bazel 0.10.0版本,有可能会下载不下来,或者网速比较慢,给大家一个网址,如果下载不下来可以去网址直接下载然后按照脚本依次执行

https://github.com/bazelbuild/bazel/releases

执行完后,这三个脚本后,接下来就是编译bazel, ./buildTensorFlow.sh,编译官方说会两个小时左右,但是我一开始编译就出错了,错误如下TX2安装tensorflow遇到的问题

经过多方查找资料,有人说是bazel版本太高,要换成bazel0.5.4,好吧,换! 然而尴尬了,换成0.5.4的版本,运行到那个./compile.sh就出错了,错误如下:

TX2安装tensorflow遇到的问题

啊,心累,这个问题困扰了很久,后来各方查资料知道,是因为java版本太高了,我查了下自己的是java 8u162,需要换成8u121,具体方法自己百度吧,太多了,基本上这几个问题解决了,基本上也没啥了,接下来,按照教程做吧