1. 创建并激活detectron2环境
conda create -n maskrcnn python=3.8
conda activate maskrcnn
2. 安装对应的pytorch和tochvision
根据 sudo jetson_release命令查看jetson版本号以及与它适配的cuda、cudnn、TensorRT、OpenCV等等版本,详情见我之前的博客Jetson AGX ORIN硬件初始化和环境部署-CSDN博客
根据jetpack的版本,我是Jetpack5.1.1,根据官网链接PyTorch for Jetson - Jetson Nano - NVIDIA Developer Forums进行匹配下载pytorch
下载whl之后安装:
sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev
pip install Cython
pip install numpy xxx.whl
之后再根据对应关系安装相应的torchvision,torch=1.12对应的是torchvision=0.13
代码命令:
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.13.1 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.13.1
python setup.py install --user
验证是否安装成功:
python
import torch
print(torch.__version__)
import torchvision
print(torchvision.__version__)
如果安装torchvision后仍然出现错误的情况
可以直接考虑 conda install torchvision -c pytorch 安装,也可以成功
3. 安装detectron2相关的库和包
Install fvcore:其他版本可能会有权重无法加载的问题。
pip install fvcore==0.1.1.post20200716
Install pycocotools:
pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
Install opencv:
conda install --channel https://conda.anaconda.org/menpo opencv
4. 下载detectron2
git clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2
!!不能进入下载好的detectron2文件里面安装,不然会一直报错
成功安装
5. 验证环境安装
会出现 cannot import name ‘_C‘ from ‘detectron2‘ 问题
就进入到detetctron2的文件里面
python setup.py build develop
然后在下载好的detetctron2里面找到_C.cpython-38-aarch64-linux-gnu.so文件,复制到对应代码的detectron2文件里面和整体代码文件里面。
移动到代码文件下和代码里的detectron2下:
在对应电脑上应该直接搜索_C.cp 就行,之前我在windows上也遇到了这个问题。也是直接搜索到对应环境下的这个文件,复制到代码文件下。