【mask2former】环境配置+cityscapes全景分割

1. 配置mask2former环境

1.1 在conda下配置新环境:

conda create -n mask2former python=3.8
conda activate mask2former
pip install torch==1.9.0+cu102 torchvision==0.10.0+cu102 -f https://download.pytorch.org/whl/torch_stable.html
conda install --channel https://conda.anaconda.org/Zimmf cudatoolkit=10.2
# pip install opencv-python
pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com opencv-python

1.2 detectron2-main 安装

git clone [email protected]:facebookresearch/detectron2.git
下载文件夹解压主文件并打开:
cd detectron2-main
pip install -e . # 报错的话 执行这个 conda install -c conda-forge pycocotools
pip install "git+https://github.com/cocodataset/panopticapi.git"
pip install "git+https://github.com/mcordts/cityscapesScripts.git"
#linux环境下就要加"" , windows 就要去掉双引号 

@@@@@如果遇到安装失败,参考pip install git+https:XXX 安装失败
【mask2former】环境配置+cityscapes全景分割_第1张图片

python setup.py sdist
pip install cityscapesScripts-2.2.0.tar.gz

@@@@@@@@@@@@@@@@@这里指的是git+https://github.com/mcordts/cityscapesScripts.git安装失败后的补救办法。。。。。

cd ..

1.3 Mask2Former-main 安装

在Mask2Former-main 文件下:

cd Mask2Former-main 
pip install -r requirements.txt
## 如果出现超时问题,socket.timeout: The read operation timed out
## pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=100
## pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
cd mask2former/modeling/pixel_decoder/ops
sh make.sh
# 数据集预处理需要的库
pip install opencv-python labelme
pip install setuptools==59.5.0 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

2. cityscape数据集设置

【mask2former】环境配置+cityscapes全景分割_第2张图片

【mask2former】环境配置+cityscapes全景分割_第3张图片

【mask2former】环境配置+cityscapes全景分割_第4张图片

【mask2former】环境配置+cityscapes全景分割_第5张图片
【mask2former】环境配置+cityscapes全景分割_第6张图片
【mask2former】环境配置+cityscapes全景分割_第7张图片

3. 训练测试

测试代码:

python ./demo/demo.py \
--config-file ./configs/cityscapes/panoptic-segmentation/maskformer2_R50_bs16_90k.yaml \
    --input "./input/000.jpg" \
    --confidence-threshold 0.5 --output "./output/000.jpg" \
  --opts MODEL.WEIGHTS ./model/mode_Cityscapes_Pano_Seg_R50.pkl

训练代码:
如果没有指定gpu,num-gpus 设置为1的话,就只会从0号gpu上面训练,如果需要指定,前面加上CUDA_VISIBLE_DEVICES=1

CUDA_VISIBLE_DEVICES=1 python train_net.py \
    --config-file ./configs/cityscapes/panoptic-segmentation/maskformer2_R50_bs16_90k.yaml \
    --num-gpus 1 \
    SOLVER.IMS_PER_BATCH 2 \
    SOLVER.BASE_LR 0.0025

中间训练遇到的问题:

1. AttributeError: module ‘distutils‘ has no attribute ‘version‘ 解决方案

“setuptools版本问题”,版本过高导致的问题
conda install setuptools==58.0.4 降低setuptools的版本

2.RuntimeError: Default process group has not been initialized, please make sure to call init_process_解决方案

【mask2former】环境配置+cityscapes全景分割_第8张图片
这里的norm_cfg中,如果是多卡训练,采用SyncBN; 如果是单卡训练,将type修改为BN 即可。
【mask2former】环境配置+cityscapes全景分割_第9张图片

然后训起来咯~~~~

【mask2former】环境配置+cityscapes全景分割_第10张图片

你可能感兴趣的:(深度学习,pytorch,深度学习,python)