conda create --name openmmlab python=3.8 -y
conda activate openmmlab
Step 2. 按照 官方教程 安装 PyTorch, 例如
GPU 平台:
conda install pytorch torchvision -c pytorch
CPU 平台:
conda install pytorch torchvision cpuonly -c pytorch
Step 1. 安装 MMSelfSup.
实例 a: 如果您直接或者开发 MMSelfSup, 从源安装:
git clone https://github.com/open-mmlab/mmselfsup.git
cd mmselfsup
pip install -v -e .
# "-v" means verbose, or more output
# "-e" means installing a project in editable mode,
# thus any local modifications made to the code will take effect without reinstallation.
实例 b: 如果您以 mmselfsup 为依赖项或者第三方库, 可使用 pip 安装:
pip install mmselfsup
strides=(1, 2, 2, 2),
dilations=(1, 1, 1, 1),
out_indices=[4], # 0: conv-1, x: stage-x
norm_cfg=dict(type='BN'),
frozen_stages=-1),
head=dict(
type='ClsHead', with_avg_pool=True, in_channels=2048,
num_classes=1000))
model = build_algorithm(model_config).cuda()
image = torch.randn((1, 3, 224, 224)).cuda()
label = torch.tensor([1]).cuda()
loss = model.forward_train(image, label)
如果您能顺利运行上面脚本,恭喜您已成功配置好所有环境。
自定义安装
基准测试
依照 最优方案 可以保证基本功能, 如果您需要一些下游任务来对您的预训练模型进行评测,例如检测或者分割, 请安装 MMDetection 和 MMSegmentation。
如果您不运行 MMDetection 和 MMSegmentation 基准测试, 可以不进行安装。
您可以使用以下命令进行安装:
pip install mmdet mmsegmentation
若需要更详细的信息, 您可以参考 MMDetection 和 MMSegmentation 的安装指导页面。
CUDA 版本
在安装 PyTorch 时, 您需要确认 CUDA 版本。 若您对此不清楚,可以按照我们的建议:
对于安培架构的 NVIDIA GPUs, 例如 GeForce 30 系列或者 NVIDIA A100, CUDA 11 是必须的。
对于较老版本的 NVIDIA GPUs, CUDA 11 是兼容的, 但是 CUDA 10.2 具有更好的兼容性以及更加轻量化。
请确认您的 GPU 驱动满足最小版本需求。 请参考 此表 获取更多信息。
如果您按照我们的最优方案安装 CUDA runtime 库是足够的,因为本地不会编译 CUDA 代码。但是如果您希望从源编译 MMCV 或开发其它 CUDA 算子, 您需要安装完整的 CUDA 工具包, 从 NVIDIA 的网站,https://developer.nvidia.com/cuda-downloads,并它的版本需要和 PyTorch 的 CUDA 版本相匹配。如准确的 cudatoolkit 版本 在 conda install
命令中。
不使用 MIM 安装 MMCV
MMCV 包含了 C++ 和 CUDA 扩展, 因此以一种复杂的方式依赖于 PyTorch。 MIM 自动解决了这种依赖关系,并使安装更加容易,然而,这不是必须的。
使用 pip 安装 MMCV, 而不是 MIM, 请参考 MMCV 安装指南。 这需要根据 PyTorch 版本及其 CUDA 版本手动指定一个链接。
例如, 下列命令安装了 mmcv-full, 基于 PyTorch 1.10.x 和 CUDA 11.3。
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10/index.html
另一种选择: 使用 Docker
我们提供了一个配置好所有环境的 Dockerfile。
# build an image with PyTorch 1.6.0, CUDA 10.1, CUDNN 7.
docker build -f ./docker/Dockerfile --rm -t mmselfsup:torch1.10.0-cuda11.3-cudnn8 .
重要: 请确保您安装了 nvidia-container-toolkit。
运行下面命令:
docker run --gpus all --shm-size=8g -it -v {DATA_DIR}:/workspace/mmselfsup/data mmselfsup:torch1.10.0-cuda11.3-cudnn8 /bin/bash
{DATA_DIR}
是保存你所有数据集的根目录。
在 Google Colab 上安装
Google Colab 一般已经安装了 PyTorch, 因此,我们只需要使用以下命令安装 MMCV 和 MMSeflSup。
Step 0. 使用 MIM 安装 MMCV。
!pip3 install openmim
!mim install mmcv-full
Step 1. 安装 MMSelfSup
!git clone https://github.com/open-mmlab/mmselfsup.git
%cd mmselfsup
!pip install -e .
Step 2. 安装校验
import mmselfsup
print(mmselfsup.__version__)
# Example output: 0.9.0
Within Jupyter, the exclamation mark !
is used to call external executables and %cd
is a magic command to change the current working directory of Python.
使用不同版本的 MMSelfSup
如果在您本地安装了多个版本的 MMSelfSup, 我们推荐您为这多个版本创建不同的虚拟环境。
另外一个方式就是在您程序的入口脚本处,插入以下代码片段 (train.py
, test.py
或则其他任何程序入口脚本)
import os.path as osp
import sys
sys.path.insert(0, osp.join(osp.dirname(osp.abspath(__file__)), '../'))
或则在不同版本的 MMSelfSup 的主目录中运行以下命令:
export PYTHONPATH="$(pwd)":$PYTHONPATH