这里是源码给的环境配置,我最后采用的是CUDA10.2,所以有些地方会不一样,下面是我的配置,除了这些可能有一两个包要装,到时候会报错,直接装就行。
pip install torchvision==0.9.1
pip install timm==0.3.2
pip install mmcv-full==1.3.0
pip install opencv-python==4.5.1.48
pip install einops
cd lawin && pip install -e . --user
剩下环境配置上应该是没啥问题了,如果像我一样用的是10.2的cuda,注意要把mmcv-full版本换一下。不知道mmcv-full版本的可以在这里查
https://download.openmmlab.com/mmcv/dist/cu102/torch1.10.0/index.html里面查找,(这里记得要根据cuda和torch的版本调整网址的名称)
用自己的数据集进行训练
在他给的地方下载好预训练模型,放入./pretrained目录下
调整好GPU个数和设置好work_dir就行了
我的问题主要出在我打算用pascal voc的数据集进行训练,但他给的代码里面没有相关的配置
于是照着ade20k的数据集的配置照葫芦画瓢写了一个。。。
遇到了一些问题:
例如batch_size要设置为1以上,在配置里面调整
data = dict(samples_per_gpu=2)
要不然会报错。
以及这里要修改一下。还有num_class个数。
test_cfg=dict(mode='slide', crop_size=(512,512), stride=(480,480)))
报错如下:
AttributeError: module 'numpy' has no attribute 'int'.
找到./mmseg/core/evaluation/metrics.py,将dtype=np.float换成dtype=float即可