您现在的位置是:首页 >技术杂谈 >jetson orin nx模组刷机及环境配置(二)网站首页技术杂谈
jetson orin nx模组刷机及环境配置(二)
jetson orin nx安装pytorch、opencv
前言
前篇文章把系统和一些环境配好了,接下来可以根据自己的需求配置一些其他的包。由于项目需要,本人配了pytorch,opencv with cuda,在此继续记录一下。
1.pytorch
由于开发板是aarch64架构,如果直接用pytorch官网上的命令的话,会出现包找不到的错误,如果直接pip install torch的话倒是可以安装成功,只不过是cpu的版本。本人在此处踩了很多坑,最后还是按照nvidia官网的步骤配好了。
首先先下载一下Anaconda3吧,这个很简单。或者可以下载Archiconda3。接着创建一个conda环境,装好python(我的是3.8)。
我是按照nvidia官方的指示安装的,非常简单:
1.首先安装一些依赖:
sudo apt-get -y update;
sudo apt-get -y install autoconf bc build-essential g++-8 gcc-8 clang-8 lld-8 gettext-base gfortran-8 iputils-ping libbz2-dev libc++-dev libcgal-dev libffi-dev libfreetype6-dev libhdf5-dev libjpeg-dev liblzma-dev libncurses5-dev libncursesw5-dev libpng-dev libreadline-dev libssl-dev libsqlite3-dev libxml2-dev libxslt-dev locales moreutils openssl python-openssl rsync scons python3-pip libopenblas-dev;
2.接着导入命令:
export TORCH_INSTALL=https://developer.download.nvidia.cn/compute/redist/jp/v51/pytorch/torch-1.14.0a0+44dac51c.nv23.02-cp38-cp38-linux_aarch64.whl
可以安装指定版本:
https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION/pytorch/$PYT_VERSION
3.安装pytorch:
python3 -m pip install --upgrade pip; python3 -m pip install aiohttp numpy=='1.19.4' scipy=='1.5.3' export "LD_LIBRARY_PATH=/usr/lib/llvm-8/lib:$LD_LIBRARY_PATH"; python3 -m pip install --upgrade protobuf; python3 -m pip install --no-cache $TORCH_INSTALL
大功告成,这样安装的pytorch是可以使用gpu的。
2.tensorrt
这里其实二次刷机的时候是安装好的,但是需要有个注意的地方:
conda下import tensorrt是会报错的,conda环境下的python是打不开tensorrt的!!!
我是把anaconda从环境变量中去除才看到tensorrt的,另外在终端输入python是python2,也打不开,要输入python3:
3.opencv with cuda
二次刷机后的opencv是没有cuda的版本,要先给卸载了:
sudo apt purge libopencv-dev libopencv-python libopencv-samples libopencv*
接着安装一些依赖:
sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev python3-pip python3-numpy
从源码进行安装:
VERSION=4.4.0 #可更换版本
git clone https://github.com/opencv/opencv.git -b $VERSION --depth 1
进入安装目录进行编译:
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-D OPENCV_GENERATE_PKGCONFIG=ON
-D BUILD_EXAMPLES=OFF
-D INSTALL_PYTHON_EXAMPLES=OFF
-D INSTALL_C_EXAMPLES=OFF
-D PYTHON_EXECUTABLE=$(which python2)
-D BUILD_opencv_python2=OFF
-D PYTHON3_EXECUTABLE=$(which python3)
-D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")
-D PYTHON3_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
-D WITH_CUDA=ON
..
不出意外的话应该会出意外,报错:CUDA: OpenCV requires enabled ‘cudev‘ module from ‘opencv_contrib‘
解决方法为,先安装opencv_contrib:
VERSION=4.4.0
git clone https://github.com/opencv/opencv_contrib.git -b $VERSION --depth 1
安装好后进入该文件夹,将opencv_contrib中的modules中的cudev文件夹复制到opencv/modules里。然后再按上述命令进行编译,应该就没问题了。
编译好后:
make -j8
要等一段时间,再:
sudo make install
sudo ldconfig
大功告成,jtop命令可以看到(我下载的4.7.0版本):