我的环境(2021.9):
Jetpack 4.5
Ubuntu 18.04
cuda 10.2
cudnn 8.0.0
opencv 4.1.1
网上资料很多都是Jetpack3.3或以下的版本,比较陈旧,建议直接去官网查找最新版本对应的命令。
以下黄色区间内为试错,个人记录备忘用,请直接跳过
一、安装TensorFlow
参考【超简单】ubuntu安装keras-tensorflow在ubuntu,完美安装,简单易操作
!!!刚执行到sudo apt-get upgrade(未执行完寝室就断电了),明日再战。
1、Ubuntu换源
参考Ubuntu18.04更换国内源
回来劝一句:TX2别换源了,直接下载速度并不慢,换源反而会导致一堆问题,比如“E:无法定位软件包”,比如“软件包xxx没有可安装选项,但是它被其他的软件引用了……”
血泪的教训。
TX2生态和普通ubuntu还是有区别的,此路不通,换方法
换方法,直接参照NVIDIA官网例程安装tf2,我的环境就是最新版,Jetpack4.5,python3.6.9(刷机后自带的)
TX2安装tensorflow2
请忽略以下黄色区间,仅作个人记录
执行过程(建议别换源)
1、首先执行
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
(换阿里元和清华源后的)报错
1、dpkg 被中断,您必须手工运行 sudo dpkg –configure -a解决此问题
参考dpkg 被中断,您必须手工运行 sudo dpkg –configure -a解决此问题
再次运行,完蛋。。
2/E:无法定位软件包
参考Ubuntu18.04安装软件显示“E:无法定位软件包”问题
靠谱,之前我一直sudo apt-get update
然后sudo apt-get upgrade
换成sudo apt update
和sudo apt upgrade
就好使了,不太懂,有时间再去了解。
apt 和 apt-get的区别
换成sudo apt install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
仍然报“E:无法定位软件包”。。。https://blog.csdn.net/Letter_Sea/article/details/104253522?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link
突然意识到TX2 是aarch64 架构,是否不能换源????
清华源按理说是可以用的,可是我还是失败了。
Jetson Xavier NX/TX2/Nano更换源(清华源/中科大源)(arm64架构)
灰溜溜把源恢复了,结果成功了???!!!
所以折腾一下午是图啥。。哭辽。
请忽略以上,仅作个人记录
不换源执行命令
1、执行
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
2、执行
sudo apt-get install python3-pip
3、执行
sudo pip3 install -U pip testresources setuptools==49.6.0
看这美妙的进度条,顺利得有点不敢相信。
4、执行
sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
此步骤所需时间较长。
5、重头戏来了,安装tf2
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow
#自动安装了最新版。。和keras不兼容,最高对应tf2.2
#但是TX2支持的版本有限,具体查看官网
#我选择了tf1.15.5,注意keras2.3.1最低对应版本为tf2.15
https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow==1.15.5
文件较大,如果无法直接下载参考此文的方法:
NVIDIA Jetson TX2安装Tensorflow2
但是我比较顺利,只是安装时间比较长,大概20分钟。
验证tf2安装是否成功
$ python3
>>>import tensorflow
>>>tensorflow.__version__
好的,又报错了。。
“Illegal instruction(core dumped)”
找到了有网友Jetson nano遇到同样问题,解决了!
Ubuntu/Jetson Nano问题解决“Illegal instruction(core dumped)”
我在环境变量中添加export OPENBLAS_CORETYPE=ARMV8
还是失败,换另一种方式:
OPENBLAS_CORETYPE=ARMV8 python3
这样启动python3成功运行了。
原理有时间再细究。
测试GPU
$ OPENBLAS_CORETYPE=ARMV8 python3
>>>import tensorflowtf as tf
>>>tf.test.is_gpu_available()
返回True即成功。
TX2安装keras
参考Jetson TX2中Tensorflow-GPU和Keras环境配置过程/命令(简洁版,超简单)
sudo apt-get install python3-scipy
sudo apt-get install python3-matplotlib
sudo pip3 install keras==2.3.1
验证keras安装是否成功
$ OPENBLAS_CORETYPE=ARMV8 python3
>>> import keras
Using TensorFlow backend.
>>> keras.__version__
2.3.1
至此环境搭建完成,花了一下午的时间。