主要参考以下:
https://blog.csdn.net/xingdou520/article/details/84402577
https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html
十分感谢,我大概18年7月份时手搭过一次TX2的环境,但是当时做的记录太少了,大部分都是源码编译,所以这次就不想走太多弯路了,找到这篇真得能解决80%的问题,比较顺利地一下午一晚上把tensorflow import成功了。
其中部分地方需要补充说明:
因为是配置成功之后写的记录,所以凭印象不一定按照顺序,想到一个写一个
1、JDK安装
这里webupd8team那个ppa源可能不太好通过add-repository添加,我通过fq也没成功,最后是通过ppa搜索,添加公钥,编辑source.list然后成功添加了源,但是然并卵,apt-get update之后并没有oracle-java-installer软件包,所以通过手动下载了官网的jdk8的压缩包,解压后配置了JRE和java的环境变量就能用了,实际比添加ppa源更方便。
2、protobuf版本问题
protobuf大概我在之前TX2配置时就碰到过不下一回,这个版本并不是像pip3安装时说的>=‘某个版本’就行,最终成功的版本恰恰是那个‘某个版本’,后面的都会出问题,就像我装tf 1.13.1时,pip3提醒>=3.6.1的protobuf就可以了,直接-U安装了3.9.0的在import时就会报错,换了3.7.0依然报错,换到3.6.0(因为看网上有人卸了3.6.0对应了1.13.1,并不是我不识字)也是错误,最后指定了3.6.1就么的问题了。
3、pip安装的问题
这里需要说一下几个问题
1、下载速度慢
下载速度慢的问题是默认国外源,你可以通过在install时添加 -i 指定国内源就行了,具体源我在文章pip source中写到几个常用的。
另外我也有尝试过终端fq的,然并卵,一直黄字提醒connection有问题,retry失败
要不然也会遇到SSL问题,通过 --no-check-certification也没什么效果
一劳永逸的方法可以参考这里:https://blog.csdn.net/e15273/article/details/79649876
2、提示用户问题
添加参数 --user就行,不建议使用sudo,虽然官方文档全是sudo下去的,但是如果你想比较清晰地管理系统多个版本python及不同环境的话,建议一对一处理。这里通过--user安装的软件包在当前用户home下有个.local/lib/python3.6/site-package文件夹中,注意不要搞混。
3、源安全问题
黄字,可以不管(猜的),建议添加 --trusted-host (根据源不同,可以更换eg:)pypi.douban,com
添加信任就可以了
4、版本问题
没啥严苛的问题的话,默认直接装新的就行,-U选项一般默认最新版本,或者用来升级某个软件包,需要指定版本的话就在软件包后==x.xxx就行,如protobuf==3.6.1
5、pip升级后import main出错问题
老生常谈,我也不知道为啥两年了都没解决
# sudo vi /usr/bin/pip3
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
6、pip编译过程太慢
在编译某些软件包时因为源码编译太慢,有的等了五六分钟一点动静都没有,所以我误以为他卡住了,就退了,反复试验还是卡在一个地方没有什么信息提示。
其实他是在后台gcc编译的,在pip指令之后添加-vvv参数可以看到每一步细节,要不然真的以为后台卡在某个步骤也没办法找原因是最头痛的
4、git问题
git clone太慢了,可以参考另外一个文章配置git global代理的,这年头搞点开发没fq手段真的是举步维艰,大部分问题解决方案都是从stackoverflow看到的,尤其是一些比较新的问题,如下面我要说的numpy的问题,可能很多人都没听过,百度上也索引不到,google上就那一条,但就刚好解决问题。
5、numpy问题
numpy默认我通过pip3 -U安装的,所以一下给我整到1.17版本了,所以在import tensorflow时提示了一堆问题,差点让我把他跟protobuf的问题搞混了,还好比较仔细一条条提示信息看过去的,发现是numpy报错,提示的是Future warning, next version之类云云,在stackoverflow上有人提出来是1.17版本新出的,所以果断uninstall 然后重装1.16,一切正常
6、还有一些问题
去年我在配置时还碰到过openblas相关问题,但是这次过程中还没装过openblas,可能后面还会碰到,这里先码上,有些问题是躲不过的。