本文只提供了linux下的配置,Windows我没配置过。mmrotate版本为 0.3.4
我个人比较推荐这个版本 版本 1.0.0rcX
虽然新但是文档不全。
mmRotate是一个十分优秀的项目,但 0.3.4
对于新版本的torch支持却不尽如人意,而他自带的mim
环境管理又缺乏维护,这导致使用自带的mim安装会出现版本不适配造成的bug。我花了一天时间整理环境,找到了他所能支持的最新环境配置方案。配置此环境的难点不在于安装mmrotate本身,而在CUDA版本与torch版本选择上,故本文着重讲解此内容。
为了让后来人少受折磨,故写此“宝宝攻略”分享给大家,里面包含从CUDA、cuDNN安装、torch安装等的详细做法,请各位选择性阅读。同时这里有一份完整可用的requirements.txt,可以使用pip安装环境。
如按本教程配置仍未能完成配置,欢迎发邮件联系我。
TL;DR
ubuntu22.04
+CUDA11.7
+RTX3090
+torch1.13.0+cu117
addict==2.4.078 collapsed lines
aliyun-python-sdk-core==2.16.0aliyun-python-sdk-kms==2.16.5brotlipy==0.7.0certifi @ file:///croot/certifi_1671487769961/work/certificffi @ file:///croot/cffi_1670423208954/workcharset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/workclick==8.1.8colorama==0.4.6crcmod==1.7cryptography @ file:///croot/cryptography_1677533068310/workcycler==0.11.0Cython==3.0.12docker-pycreds==0.4.0e2cnn==0.2.3flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_corefonttools==4.38.0gitdb==4.0.12GitPython==3.1.45idna @ file:///croot/idna_1666125576474/workimportlib-metadata==6.7.0jmespath==0.10.0kiwisolver==1.4.5Markdown==3.4.4markdown-it-py==2.2.0matplotlib==3.5.3mdurl==0.1.2mkl-fft==1.3.1mkl-random @ file:///tmp/build/80754af9/mkl_random_1626179032232/workmkl-service==2.4.0mmcv-full==1.7.0-e git+https://github.com/open-mmlab/mmdetection.git@e9cae2d0787cd5c2fc6165a6061f92fa09e48fb1#egg=mmdet&subdirectory=../../../submodules/mmdetectionmmengine==0.10.7-e git+https://github.com/open-mmlab/mmrotate.git@c88e6150f560a978877f21f6b43e14e2816bd7e5#egg=mmrotatemodel-index==0.1.11mpmath==1.3.0numpy @ file:///opt/conda/conda-bld/numpy_and_numpy_base_1653915516269/workopencv-python==4.12.0.88opendatalab==0.0.10openmim==0.3.9openxlab==0.0.10ordered-set==4.1.0oss2==2.17.0packaging==24.0pandas==1.3.5Pillow==9.4.0platformdirs==4.0.0protobuf==4.24.4psutil==7.0.0pycocotools==2.0.7pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/workpycryptodome==3.23.0Pygments==2.17.2pyOpenSSL @ file:///croot/pyopenssl_1677607685877/workpyparsing==3.1.4PySocks @ file:///tmp/build/80754af9/pysocks_1594394576006/workpython-dateutil==2.9.0.post0pytz==2023.4PyYAML==6.0.1requests==2.28.2rich==13.8.1scipy==1.7.3sentry-sdk==2.33.2setproctitle==1.3.3shapely==2.0.7six @ file:///tmp/build/80754af9/six_1644875935023/worksmmap==5.0.2sympy==1.10.1tabulate==0.9.0termcolor==2.3.0terminaltables==3.1.10tomli==2.0.1torch==1.13.0torchaudio==0.13.0torchvision==0.14.0tqdm==4.65.2typing_extensions==4.7.1urllib3 @ file:///croot/urllib3_1673575502006/workwandb==0.18.7yapf==0.30.0zipp==3.15.0
环境概览
为了方便后续与transformers集成以及后续开发工作,我倾向于尽可能的使用高版本的torch与CUDA,下面是我的整体环境:
- 非Root账号
- 8*3090
- python 3.7
- Ubuntu 22.04 (可使用
uname -a
查看) - CUDA 11.7 (可使用
nvcc --version
查看,文末附配置方式) - 驱动版本: (可使用
nvidia-smi
查看,文末附配置方式) - Miniconda
- Clash for linux 代理 (本文不提供讲解)
创建环境
CUDA Toolkit 安装
你可以在这里找到 CUDA Toolkit 11.7 的安装包(选择.run文件)。
想安装老版本的CUDA Toolkit?
要安装多版本CUDA?
请参考本文: 《多版本 CUDA Toolkit 安装与切换》
我们使用wget将run文件下载到本地以后,先通过 chmod +x ./<xxxxx>.run
修改权限,然后直接运行 ./<xxxxx>.run
即可。
我们先输入 accept 同意用户许可,然后按需选择是否要安装驱动。
在 Options
中,我们可以指定安装路径。在此处,我们将其安装到 ~/cuda/cuda-11.7
下。其他版本也将其安装到~/cuda/cuda-<version>
下。
完成配置后,选择 Install
即可完成安装。
CUDA环境变量
我们先通过 vim ~/.bashrc
打开bash配置文件。
在其中添加以下几行:
# >>> CUDA version >>>export CUDA_VERSION=11.7export PATH=$HOME/cuda/cuda-${CUDA_VERSION}/bin:$PATHexport LD_LIBRARY_PATH=$HOME/cuda/cuda-${CUDA_VERSION}/lib64:$LD_LIBRARY_PATHexport CUDA_HOME=/data/chenzirui/cuda/cuda-${CUDA_VERSION}/# <<< CUDA version <<<
然后执行 source ~/.bashrc
即可。
Conda环境配置
首先我们使用conda初始化mmrotate:
$ conda create --name mmrotate python=3.7 -y
没有安装conda?
我们先下载配置文件
$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
然后修改权限并运行即可:
$ chmod +x ./Miniconda3-latest-Linux-x86_64.sh$ ./Miniconda3-latest-Linux-x86_64.sh
pytorch安装
请确保在安装前已经通过conda activate mmrotate
激活虚拟环境。
安装前请通过 which nvcc
、nvcc --version
来确认是否使用的是 11.7
版本的CUDA。
对于torch,你可以在官网按照版本下载。在本文中,我建议用pip如下安装(建议开启代理):
# ROCM 5.2 (Linux only)pip install torch==1.13.0+rocm5.2 torchvision==0.14.0+rocm5.2 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/rocm5.2# CUDA 11.6pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116# CUDA 11.7pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117# CPU onlypip install torch==1.13.0+cpu torchvision==0.14.0+cpu torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cpu
mmrotate安装
在创建的虚拟环境中,依次执行以下代码即可(版本建议一致,否则会报错)
pip install openmimmim install mmcv-full==1.7.0mim install mmdet==2.28.2git clone https://github.com/open-mmlab/mmrotate.gitcd mmrotatepip install -r requirements/build.txtpip install -v -e .
至此,你已经完成了mmrotate环境配置。