SOLO模型环境搭建训练流程及问题

一、背景

SOLO是一种图像实例分割模型,我们主要下载的是github这个网站 因为该模型是基于mmdetection跟mmcv来的,所以要多注意学习掌握这两个东东

二、流程

1.根据install.md安装环境

Requirements

此次安装版本

Python 3.8
pytorch       1.10.2       py3.8_cuda11.3_cudnn8.2.0_0    pytorch

先找到Installation部分,打开INSTALL.md开始安装。首先一定要注意Requirements中的各种版本问题,这里面处处是坑。此次SOLO的训练环境是在从NGC下载的pytorch21.07镜像所起的容器中建立的。

a.创建conda虚拟环境并激活
conda create -n solo python=3.8 -y  #不是3.7,是3.8,当然以后训练的时候不知道是几了
conda activate solo

这里注意,python版本得是3.8了,要求中的3.7跟其他库的对应版本起冲突

b.按照官方说明安装 PyTorch和torchvision

如果直接按照它给的来,应该是直接装上了最新版本,也是可以的 可以根据official instructions挑选所需要的命令

conda install pytorch torchvision -c pytorch
c.克隆SOLO的repository
git clone https://github.com/WXinlong/SOLO.git
#如果上面这行不管用的话,(一般不管用,要翻墙)就先把它搞到gitee上,再从gitee clone也行
cd SOLO
d.安装构建要求,然后安装 SOLO。(我们通过 github repo 安装 pycocotools 而不是 pypi,因为 pypi 版本太旧并且与最新的 numpy 不兼容。)
pip install -r requirements/build.txt 
pip install " git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI " 
#上面这行我也没成功,从网上找到下面这行替代
or
pip install "git+https://gitee.com/wsyin/cocoapi.git#subdirectory=PythonAPI"
pip install -v -e 。  #或“python setup.py develop”    #这个一般选后面这句

其实还有docker镜像选择,但是我没有操作成功

2.开始训练train

训练数据在data/coco里面,根据coco的格式来

python tools/train.py ${CONFIG_FILE}

Example:
python tools/train.py configs/solo/solo_r50_fpn_8gpu_1x.py

3.推理模型结果inference

python demo/ inference_demo.py #这里注意要根据自己的config跟checkpoint以及demo.jpg改一下文件

三、问题

遇到这个问题

RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation:........

原因是torch版本高了,对应不起来了,因为INSTALL.md也说

PyTorch 1.1 或更高版本(>=1.5 未测试)

所以尝试了降低版本,降到1.4,但是遇到了新问题:

ImportError: libtorch_cpu.so: cannot open shared object file: No such file or directory

这又卡住了,搜索无果后,所以重新回到SOLO模型的原网址找issues,最终找到这个文件的修改 这个修改应该是torch升级后做出的,所以torch1.10就没问题了

经验分享 程序员 微信小程序 职场和发展