1 给JetsonXavierAGX重新刷机
很多安装Yolov5都需要安装虚拟环境,后来查了下,因为不同的项目可能需要的python的版本不一样,使用虚拟环境就可以解决版本切换的问题。我没有这个问题,发现那些虚拟机的步骤可以跳过。对于python也不是特别懂,最近稍微了解了一些,完全是新手。下面的安装步骤不是很复杂,已经在重新刷机的系统上配置成功。只是有几个会比较花费时间。
2 环境配置
2.1 处理python环境
#sudo apt-get remove python-pip
#sudo apt-get remove python
#sudo apt-get install python3-pip
系统默认的Python3环境为3.6.9。
2.2 安装Cython
#sudo pip3 install Cython
2.3 安装matplotlib
#sudo pip3 install matplotlib==3.2.2
安装过程会出现:error “FreeType version 2.3 or higher is required.
这里就需要安装下面的,再重新进行上面的指令。
#sudo apt-get install libfreetype6-dev
#sudo apt-get install pkg-config
#sudo pip3 install matplotlib==3.2.2
这里,我忽然感觉这libfreetype6-dev这个很熟悉,好像安装过。后来想起来之前安装opencv时会需要提前安装一些库,ffmpeg呀,jpeg啥的,这些在这里应该也需要,我就把那边找过来全给安装上了。
#sudo apt-get install build-essential libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
#sudo pip3 install numpy==1.18.5
会发现安装失败,因为刷机后的系统预装了numpy对应的库,但是使用下面指令去卸载的时候,会发现提示:pip3 uninstall 失败,outside environment /usr。
#sudo pip3 uninstall numpy
我们需要进入相应的文件夹直接删除对应的文件。其中requirement.txt中好多库都有预装,但是版本不对,到时候都得进行删除,再重新安装。这些库在这两个路径/usr/lib/python3/dist-packages和/usr/local/lib/python3.6/dist-packages里。这个得注意查查到底在哪个文件夹下面。
#sudo rm -rf numpy
#sudo rm -rf numpy-1.13.3.egg-info
#sudo pip3 install numpy==1.18.5
2.4 安装opencv-python
得先安装scikit-build库,直接安装可能安装不上。我们切换到清华源。
#sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-build
#sudo pip3 install opencv-python==4.6.0.66
Opencv-python安装会花费很长时间。
2.5 安装Pillow
#sudo pip3 install Pillow
2.6 安装PyYAML
#sudo pip3 install PyYAML
2.7安装requests
#cd /usr/local/lib/python3.6/dist-packages
#sudo rm –rf requests
#sudo rm –rf requests-2.27.1.dist-info/
#sudo pip3 install requests==2.27.1
2.8 安装scipy
直接安装时会出现错误:error:library mach has Fortran source but no Fortran found,说是有代码是Fortran的,因此需要安装gfortran
#cd /usr/lib/python3/dist-packages
#sudo rm –rf scipy
#sudo rm –rf scipy-0.19.1.egg-info
更新setuptools
#cd /usr/local/lib/python3.6/dist-packages
#sudo rm –rf setuptools
#sudo rm –rf setuptools-39.0.1-egg-info
继续安装
#sudo pip3 –upgrade wheel
#sudo apt install gfortran
#sudo pip3 install scipy==1.5.4
2.9 安装Torch及torchvision
去网站下载对应的Torch,网站为 https://nvidia.app.box.com/public/static/cs3xn3td6sfgtene6jdvsxlr366m2dhq.whl
会得到torch-1.7.0-cp36-cp36m-linux_aarch64.whl,正好cp36和python3.6匹配。
#sudo pip3 install torch-1.7.0-cp36-cp36m-linux_aarch64.whl
获取并安装torchvision。
#git clone –b v0.8.1 https://github.com/pytorch/vision.git version-0.8.1
#cd vision-0.8.1
#sudo apt-get install libopenblas-dev
#sudo python3 setup.py install
2.10 安装tqdm
#sudo pip3 install tqdm
2.11 安装protobuf
#cd /usr/local/lib/python3.6/dist-packages
#sudo rm –rf protobuf-3.19.4-nspkg.pth
#sudo rm –rf protobuf-3.19.4.dist-info
#sudo rm install protobuf==3.19.0
2.12 安装tensorboard
#sudo pip3 install tensorboard
2.13 安装pandas
#cd /usr/lib/python3/dist-packages
#sudo rm –rf pandas
#sudo rm –rf pandas-0.22.0.egg-info/
#sudo pip3 install pandas==1.1.5
2.14 安装seaborn ipython psutil thop
#sudo pip3 install seaborn==0.11.2
#sudo pip3 install ipython
#sudo pip3 install psutil
#sudo pip3 install thop
3 运行测试
接上我的USB摄像头。
进入yolov5-master文件夹下,运行下面指令,就获取了图像。
#python3 detect.py –source 0 –weight weights/yolov5x.pt –conf 0.5
max功率模式,640*480分辨率时,大概0.17秒一张。