一、Tx2的刷机
电脑主机(Linux系统)
实现方法有两种:
①安装Linux系统
②下载VMware安装虚拟机(个人觉得用虚拟机较为方便)
刷机过程:
主机在官网https://developer.nvidia.com/embedded/jetpack下载JetPack安装包,例如JetPack-L4T-3.3-linux-x64.run,给文件加可执行权限并运行:
sudo chmod +x JetPack-L4T-3.3-linux-x64.run
./JetPack-L4T-3.3-linux-x64.run
然后主机就开始下载相应的安装包,这个过程可能需要30min左右,如果出现error的情况可以检测一下网络连接是否正常
下载完成之后进入如图所示的界面
执行下一步后,会出现一个提示,按照步骤操作,使Tx2进入recovery mode,翻译成中文如下:
(1)Tx2断电
(2)用Micro USB数据线连接PC和Tx2。(注意:数据线接到Tx2的Micro USB接口J20)
(3)接通Tx2电源
(4)按下并松开Tx2的POWER键S4;按下并保持FORCE RECOVERY键S3;在此期间按下并松开RESET键S1;等待2秒后松开FORCE RECOVERY键S3。
可以在终端输入lsusb,如果发现Nvidia Corp则说明Tx2与主机已连接,按照提示按下Enter键等待安装即可,之后终端界面运行到查找Tx2的IP的地方会停止,此时关闭该窗口(此处不要删除下载的文件),再次按照之前的操作打开安装界面,将Flash OS image to target 改成no action,点击next,会出现输入Tx2的IP地址的界面,由于已经安装好了图形界面,此时可以将Tx2接显示屏。然后将电脑主机和Tx2通过网线连接至同一个路由器上
PS:如果没有路由器的话可以尝试利用WiFi或者手机开热点的方式将主机和Tx2连接至同一个网络,然后通过Tx2的network选项查找IP地址并将IP地址,login(nvidia),password(nvidia)输入点击next即可,如果出现错误可以根据提示检查一下IP地址是否输入正确或者重试。
之后就是漫长的安装过程啦!
二、安装AlphaPose
根据Tx2自带的python2.7和python3.5主要有两种版本(General version和Pytorch version),这里主要分享搭建Pytorch version
根据官方文档https://github.com/MVIG-SJTU/AlphaPose/tree/pytorch
git clone -b pytorch https://github.com/MVIG-SJTU/AlphaPose.git
cd AlphaPose
python3 demo.py --indir ${img_directory}$ --outdir examples/res
报错:no module named torch说明没有安装pytorch
sudo apt install libopenblas-dev libatlas-dev liblapack-dev
sudo apt install liblapacke-dev checkinstall # For OpenCV
sudo apt-get install python3-pip
pip3 install --upgrade pip3==9.0.1
sudo apt-get install python3-dev
sudo pip3 install numpy scipy # 这个花费的时间略长,20分钟到30分钟左右
sudo pip3 install pyyaml
sudo pip3 install scikit-build
sudo apt-get -y install cmake
sudo apt install libffi-dev
sudo pip3 install cffi
sudo gedit ~/.bashrc
export CUDNN_LIB_DIR=/usr/lib/aarch64-linux-gnu
export CUDNN_INCLUDE_DIR=/usr/include
source ~/.bashrc
git clone http://github.com/pytorch/pytorch
cd pytorch
sudo pip3 install -U setuptools
sudo pip3 install -r requirements.txt
git submodule update --init --recursive
sudo nvpmodel -m 0 # 切换工作模式到最大
sudo ~/jetson_clocks.sh # 强制开启风扇最大转速
python3 setup.py build_deps
NO_SYSTEM_NCCL=1 DEBUG=1 sudo python3 setup.py build develop
sudo apt clean
sudo apt-get install libjpeg-dev zlib1g-dev
git clone https://github.com/python-pillow/Pillow.git
cd Pillow/
sudo python3 setup.py install
sudo pip3 install pandas # ~20-30 min
sudo pip3 install Cython
sudo pip3 install scikit-image
sudo pip3 --no-cache-dir install torchvision
参考https://m.oldpan.me/archives/nvidia-jetson-tx2-source-build-pytorch
此时安装的pytorch版本为pytorch v1.0,但是官方文档要求pytorch==0.4.0
参考https://github.com/lixiandea/AlphaposeWithPytorch1.0
报错:no module named cv2说明没有安装opencv
cd
sudo apt-get install -y \
libglew-dev \
libtiff5-dev \
zlib1g-dev \
libjpeg-dev \
libpng12-dev \
libjasper-dev \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libpostproc-dev \
libswscale-dev \
libeigen3-dev \
libtbb-dev \
libgtk2.0-dev \
cmake \
pkg-config
# Python 2.7
sudo apt-get install -y python-dev python-numpy python-py python-pytest -y
#GStreamer support
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout -b v3.3.0 3.3.0
# This is for the test data
cd $HOME
git clone https://github.com/opencv/opencv_extra.git
cd opencv_extra
git checkout -b v3.3.0 3.3.0
cd opencv
mkdir build
cd build
# Jetson TX2
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_PNG=OFF \
-DBUILD_TIFF=OFF \
-DBUILD_TBB=OFF \
-DBUILD_JPEG=OFF \
-DBUILD_JASPER=OFF \
-DBUILD_ZLIB=OFF \
-DBUILD_EXAMPLES=ON \
-DBUILD_opencv_java=OFF \
-DBUILD_opencv_python2=ON \
-DBUILD_opencv_python3=ON \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DWITH_OPENCL=OFF \
-DWITH_OPENMP=OFF \
-DWITH_FFMPEG=ON \
-DWITH_GSTREAMER=ON \
-DWITH_GSTREAMER_0_10=OFF \
-DWITH_CUDA=ON \
-DWITH_GTK=ON \
-DWITH_VTK=OFF \
-DWITH_TBB=ON \
-DWITH_1394=OFF \
-DWITH_OPENEXR=OFF \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0 \
-DCUDA_ARCH_BIN=6.2 \
-DCUDA_ARCH_PTX="" \
-DINSTALL_C_EXAMPLES=ON \
-DINSTALL_TESTS=ON \
-DOPENCV_TEST_DATA_PATH=../opencv_extra/testdata \
../
# Consider using all 6 cores; $ sudo nvpmodel -m 2 or $ sudo nvpmodel -m 0
make -j4
-DBUILD_opencv_python2=ON \
-DBUILD_opencv_python3=ON \
#把opencv的python2,python3的接口都打开
chmod +x buildOpenCV.sh
./buildOpenCV.sh
sudo make install
参考https://blog.csdn.net/w5688414/article/details/78771958
报错:no module named matplotlib
sudo pip3 install matplotlib
报错:no module named pyzmq
git clonehttps://github.com/zeromq/libzmq
./autogen.sh
sudo apt-get install libtool autoconf automake
./configure
make -j 4
make check
make install
sudo ldconfig
sudo pip3 install pyzmq
参考https://blog.csdn.net/n_sev7/article/details/77320250
报错:FileNotFoundError: [Errno 2] No such file or directory: ‘models/yolo/yolov3-spp.weights’
把官网上的model下载放到指定文件夹
https://github.com/MVIG-SJTU/AlphaPose/tree/pytorch
报错:RuntimeError: cuda runtime error (71) : operation not supported at /home/nvidia/pytorch/torch/csrc/generic/StorageSharing.cpp:232
python3 demo.py --indir ${img_directory} --outdir examples/res --sp#取消多线程
同样如果在运行video_demo.py是出现cv2 can’t pickle 问题时也可以在末尾加上–sp取消多线程
报错:ImportError: /usr/lib/python3.5/dist-packages/cv2.cpython-35m-aarch64-linux-gnu.so: undefined symbol: _ZTIN2cv3dnn19experimental_dnn_v15LayerE
cd opencv/build
sudo make install
最后衷心的感谢以上给予帮助的人!!
参考资料
https://github.com/MVIG-SJTU/AlphaPose/tree/pytorch
https://blog.csdn.net/n_sev7/article/details/77320250
https://blog.csdn.net/w5688414/article/details/78771958
https://github.com/lixiandea/AlphaposeWithPytorch1.0
https://m.oldpan.me/archives/nvidia-jetson-tx2-source-build-pytorch
https://github.com/kleinzcy/install-note/blob/master/TX2.md