上图可知opencv的版本和CUDA不兼容,需要重新安装opencv
安装参考:
Ubuntu18.04安装opencv4.5.1+contrib 支持cuda加速(附带编译好的opencv4.5.1及缺失文件)
step1.首先下载opencv与opencv-contrib的zip源码包:
opencv下载地址:GitHub - opencv/opencv at 4.5.1
opencv-contrib下载地址:Tags · opencv/opencv_contrib · GitHub
step2.然后解压opencv与opencv-contrib,并将opencv-contrib文件夹放到opencv文件夹中step3.安装依赖
sudo apt-get install build-essential \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libeigen3-dev \
libglew-dev \
libgtk2.0-dev \
libgtk-3-dev \
libjpeg-dev \
libpostproc-dev \
libswscale-dev \
libtbb-dev \
libtiff5-dev \
libv4l-dev \
libxvidcore-dev \
libx264-dev \
qt5-default \
zlib1g-dev \
libavresample-dev \
gstreamer1.0-plugins-bad \
pkg-config
step4. 进入opencv目录下,创建build文件夹
cd opencv-4.5.1
mkdir build
cd build
step5.cmake编译
cmake -DCMAKE_BUILD_TYPE=RELEASE\
-D CMAKE_INSTALL_PREFIX=/usr/local\
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.1/modules\
-D WITH_CUDA=1\
-D WITH_CUDNN=ON \
-D WITH_TBB=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN='6.2'\
-D ENABLE_FAST_MATH=1\
-D CUDA_FAST_MATH=1\
-D WITH_CUBLAS=1\
-D BUILD_opencv_python3=ON -DBUILD_opencv_python2=ON\
-D WITH_V4L=ON\
-D WITH_QT=ON\
-D WITH_OPENGL=ON\
-D OPENCV_GENERATE_PKGCONFIG=1\
-D WITH_GSTREAMER=ON\
-D CUDA_GENERATION=Pascal ..
注意:CUDA_ARCH_BIN='6.2' 表示显卡算力,根据自己的显卡算力填。
step6.cmake完之后会给一个大致如下图的列表,需要:
1).检查一下cuda,cudnn是否检测到了
2).检查cudnn版本是否合适
3).检查NVIDIA GPU arch是否和自己之前输入的CUDA_ARCH_BIN是否一样 CUDA_ARCH_BIN=6.2的话这里应该会显示62。
step7.编译安装
nproc # 查看核数
sudo make -j4
sudo make install
注:经过编译的超长等待。。。后,出现下图表示成功:
step8.配置opencv库
首先将OpenCV的库添加到路径
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件中添加
/usr/local/lib
保存后退出
用如下命令使配置文件生效
sudo ldconfig
配置bash.bashrc文件
sudo gedit /etc/bash.bashrc
添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/bash.bashrc
step8.测试
pkg-config --modversion opencv4
python3 -c "import cv2; print(cv2.__version__)"
至此 opencv安装完成
安装torch
参考:TX2安装pytorch+TensorRT+yolov5实现实时检测
我的TX2配置的是Jetson4.6.2,即安装PyTorchv1.10.0,
在官网下载 torch-1.10.0-cp36-cp36m-linux_aarch64.whl 即可
在终端输入以下命令
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev
pip3 install Cython
pip3 install numpy torch-1.10.0-cp36-cp36m-linux_aarch64.whl #Permission denied就加sudo
用以下命令测试是否安装成功
python3
import torch
print(torch.__version__)
print(torch.cuda.is_available())
注:如需卸载可使用这条命令:pip3 uninstall torch
安装torchvision
torvision是pytorch的一个工具,用于处理图像视频的。
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
pip3 install setuptools
git clone --branch v0.11.1 https://github.com/pytorch/vision torchvision
cd torchvision
sudo python3 setup.py install
cd ../
pip3 install 'pillow<7'
注:如需卸载用 sudo pip3 uninstall torchvision
python3
import torchvision
print(torchversion.__version__)
注:如果 import torchvision 报错'future feature annotations is not defined',
怀疑是python版本和pillow的版本不匹配导致
原环境:python==3.6+pillow==9.2.0
对pillow降级变为pillow==8.4.0解决
电脑安装opencv可参考:Ubuntu18.04安装Opencv4.5(最新最详细)