环境配置
原环境版本,python3.7,pytorch1.10
使用版本,python3.7.12,pytorch1.13.1+cu116
创建虚拟环境1
conda create -n mmseg python=3.9 anaconda
anaconda 会安装,如numpy、pandas、scipy、matplotlib等的包。
创建虚拟环境2
conda create -n mmseg python=3.7
根据后续命令手动安装torch等包,以保证版本之间不冲突。
删除虚拟环境
conda env remove -n mmseg
进入Pytorch官网安装Pytorch
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 –extra-index-url https://download.pytorch.org/whl/cu116
代码部分
安装mmsegmentation
//查看安装的torch版本
import torch
torch.__version__
//官方标准安装步骤,终端命令在jupyter中要加一个!
!pip install -U openmim
!mim install mmengine
!mim install mmcv==2.0.0
// 安装其他的安装包
!pip install opencv-python pillow matplotlib seaborn tqdm pytorch-lightning "mmdet>=3.1.0" -i https://pypi.tuna.tsinghua.edu.cn/simple
// mmsegmentation的下载可以直接到github上下载,不需要用git。
// 有时候代理不对还挺麻烦(我的是在要放弃时候git就好用了,改了代理)。
// 进入主目录
import os
os.chdir('mmsegmentation')
// 安装mmsegmentation
!pip install -v -e .
//创建文件夹用于保存训练数据
import os
# 创建 checkpoint 文件夹,用于存放预训练模型权重文件
os.mkdir('checkpoint')
# 创建 outputs 文件夹,用于存放预测结果
os.mkdir('outputs')
# 创建 data 文件夹,用于存放图片和视频素材
os.mkdir('data')
# 创建 图表 文件夹,用于存放生成的图表
os.mkdir('图表')
# 创建 Dsc-Configs 文件夹,用于存放自己的语义分割模型的 config 配置文件
os.mkdir('Dsc-Configs')
// 检查需要的所有环境
# 检查 Pytorch
import torch, torchvision
print('Pytorch 版本', torch.__version__)
print('CUDA 是否可用',torch.cuda.is_available())
# 检查 mmcv
import mmcv
from mmcv.ops import get_compiling_cuda_version, get_compiler_version
print('MMCV版本', mmcv.__version__)
print('CUDA版本', get_compiling_cuda_version())
print('编译器版本', get_compiler_version())
# 检查 mmsegmentation
import mmseg
from mmseg.utils import register_all_modules
from mmseg.apis import inference_model, init_model
print('mmsegmentation版本', mmseg.__version__)
// 如果三个检查整体都不报错就可以继续写代码了
// 为了整体连贯后续不出大错误,先调用预训练模型进行简单的图像分割。
# Linux操作系统,例如 云GPU平台:https://featurize.cn/?s=d7ce99f842414bfcaea5662a97581bd1
# 如果遇到 SSL 相关报错,重新运行本代码块即可
!wget https://zihao-openmmlab.obs.cn-east-3.myhuaweicloud.com/20220716-mmclassification/dataset/SimHei.ttf -O /environment/miniconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf
!rm -rf /home/featurize/.cache/matplotlib
import matplotlib
matplotlib.rc("font",family='SimHei') # 中文字体