TX2 刷机需要准备一台ubuntu系统的电脑,没有ubuntu系统电脑在Windows电脑中安装虚拟机也可。本文教程直接使用的是ubuntu系统的电脑。
主机端(电脑端)环境配置
在主机上安装sdkmanager
- 下载sdkmanager
直接点击红框中的下载即可
下载需要nvidia的账号, 没有的话可以注册一个。csdn下载,或者百度网盘下载 - 安装sdkmanager
进入到sdkmanager的下载目录
安装成功后在终端启动sudo apt install ./sdkmanager_XXXX.deb sudo apt install ./sdkmanager_1.9.0-10816_amd64.deb #举个例子
sdkmanager
登录nvidia账号
登陆成功后,选择要刷机的型号
按照步骤开始刷机
STEP 01
如图红框所示,此时电脑还没有和tx2连接。将tx2进入强制恢复模式后,使用官方的原装线将电脑与tx2连接,连接线如图所示:
连接成功后sdkmanager界面如图红框1所示:
62
在红框2中选择要安装的Jetpack版本,如图选择的是4.6.2
tx2进入强制恢复的方法:
在关机状态下按下并松开TX2的POWER键S4;按下并保持FORCE RECOVERY键S3;在此期间按下并松开RESET键S1;等待2秒后松开FORCE RECOVERY键S3。
细节:当TX2是恢复模式时,虚拟机界面右下角处的usb标志,会从灰色变成蓝色;也可在终端使用lsusb指令查看,是否能检测到NVIDIA crop这个设备,成功连接后终端显示如下:
STEP 02
步骤1完成后点击CONTINUE按钮进入步骤2
勾选左下角的同意协议,download那个不选。点击continue进入步骤3,开始下载包,下载完成后会自动安装。
STEP 03
在下载之前会要求输入主机端(电脑端)的密码
输入密码后会自动下载
当Jetson OS image 下载完成后会弹出如下界面
因为我们需要对tx2进行刷机(重装系统),所以这里红框1需要选择MAnual Setup -Jet送 TX2。如果不需要重装系统,只是需要重装CUDA和CUDNN这里选择Automatic Setup -Jetson TX2即可。红框2中的ip地址不要改动,这是系统为tx2接口自动分配的IP地址,每个人根据情况可能有所不同。选择手动模式后,如下图所示。在下面的红框中设置tx2的用户名和密码,然后点击Flash即开始刷机。
如图所示,等待Flashing进度条走完之后tx2中的ubuntu系统就安装成功。此时如果tx2有连接显示器,就会看到ubuntu系统的设置界面。此时先装到tx2进行一些系统的设置。
首先给tx2联网,然后换源以提高下载速度和成功率
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup # 对源文件进行备份
sudo gedit /etc/apt/sources.list
将下面类容复制到sources.list中
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
使用清华源,注意Jetson TX2 是ARM架构,源和x86版本要区分开!!!
进行更新
sudo apt-get update
操作完成后再到主机端进行操作,此时会弹出一个窗口,点击install就会出现下面的界面,等待安装即可,可能会卡99%,对尝试几次就会成功
刷机完成后安装深度学习工具
刷机完成后系统会自动安装python2.7和python3.6
安装jtop查看系统信息
1.通过pip安装
首先安装pip
sudo apt-get install python3-pip
然后再安装 jtop
sudo -H pip3 install -U jetson-stats
通过匹配安装通常不会成功,这时可以通过github源码安装
git clone https://github.com/rbonghi/jetson_stats.git
cd jetson_stats/
sudo python3 ./setup.py install
可能出现的错误
在使用sudo apt-get时可能会出现下面错误:
sudo apt -get 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),请查看您是否正以 root 用户运行?
解决办法
方法一
ps -e | grep apt
我这里显示
6929 pts/1 00:00:00 apt-get
6938 pts/1 00:00:00 apt-key
sudo kill 6929
方法二
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
安装成功后在终端输入jtop即可出现以下画面,可以查看jetpack cuda,cudnn等版本信息。
安装pytorch及torchvision
安装pytorch
jetson tx2有专门的pytorch版本,,去nvidia官网下载对应的版本即可。如图,jetpack4.6的pytorch只支持python3.6.官网法下载链接通常打不开,可以去我的csdn下载,或者去百度网盘下载,密码为:
下载完成后,通过下面指令安装即可
## 首先安装依赖项,不然在导入pytorch时会报错
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install Cython
pip3 install python 3.6 - torch-1.9.0-cp36-cp36m-linux_aarch64.whl
遇到的问题
在终端执行下面pytorch的安装指令时,出现这个平台不支持的错误
pip3 install python 3.6 - torch-1.9.0-cp36-cp36m-linux_aarch64.whl
解决办法
安装arm架构专用的anaconda解决,aarch64版本的anaconda
安装miniconda(建议)
下载完成后进入到下载目录进行安装即可
sudo ./Archiconda3-0.2.3-Linux-aarch64.sh
这个版本的archiconda会自动在系统中安装python3.7
conda安装成功后,使用下面指令创建环境,此时一定要指定python版本为3.6
conda create -n [env name] python=3.6
创建环境可能因为网络原因多次失败,更换网络或者多尝试几次就会成功。
进入到创建的环境安装pytorch
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install Cython
pip3 install python3.6 - torch-1.9.0-cp36-cp36m-linux_aarch64.whl ```
可能遇到的错误
在成功安装pytorch,在执行"import trorch"时可能出现下列错误
Illegal instrution(core dumped)
解决办法
打开~/.bashrc添加系统环境变量,进行全局修改
sudo gedit ~/.bashrc
增加如下内容
export OPENBLAS_CORETYPE=ARMV8
torch安装完成后进入到python测试是否调用cuda
>>import torch
>>torch.cuda.is_available()
True ## 返回True说明torch安装成功,并可以调用cuda加速
## 如果返回False 通常是cuda和torch版本不匹配的问题
补充
添加环境变量后"llegal instrution(core dumped)"的错误也没有得到解决,可以尝试更换miniconda的版本,多尝试几个版本,下面给出另外两个linux-aarch64版本anaconda的链接
Miniforge3:https://github.com/conda-forge/miniforge/releases/tag/4.12.0-0
参考:https://blog.csdn.net/Jorbo_Li/article/details/124984936
miniconda:https://repo.anaconda.com/miniconda/
成功安装4.9.2版本
参考:https://blog.csdn.net/buxiangyaomingzi/article/details/123297295
安装torchvision
可以先尝试直接使用pip安装
pip install torchvision=='你需要法版本'
安装不成功可以使用以下方法
sudo apt-get install libjpeg-dev zlib1g-dev
git clone -b v0.7.0 https://github.com/pytorch/vision torchvision # 版本可以自己选择
cd torchvision
sudo python3 setup.py install
编译时会耗费较多时间,耐心等待即可。
可能出现的错误
"Couldn't load custom C++ ops. This can happen if your PyTorch and "
RuntimeError: Couldn't load custom C++ ops. This can happen if your PyTorch and torchvision versions are incompatible,
or if you had errors while compiling torchvision from source. For further information on the compatible versions,
check https://github.com/pytorch/vision#installation for the compatibility matrix. Please check your PyTorch version with
torch.__version__ and your torchvision version with torchvision.__version__ and verify if they are compatible,
and if not please reinstall torchvision so that it matches your PyTorch install.
解决办法
暂时没解决