pytorch框架下语义分割训练实践(一)

源码地址:

https://github.com/yassouali/pytorch_segmentation

目录

环境准备

数据库下载

开始训练


环境准备

torch==1.1.0          
torchvision==0.3.0
tqdm==4.32.2
tensorboard==1.14.0
Pillow==6.2.0
opencv-python==4.1.0.25

这里面几个只有torch比较大,其他都很小,很快就装完,安装库前务必装下pip,python的话尽量使用3.6及以上版本。

比如安装tensorboard,命令如下:

pip install tensorboard==1.15.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

后面的 “-i https://pypi.tuna.tsinghua.edu.cn/simple/”是使用清华的镜像源,为了提高下载速度。

数据库下载

因为第一次接触语义分割,使用了网上的数据库,VOC2012的,这里分享给你们。

链接: https://pan.baidu.com/s/1bAjii0tLFSto80SKPhzv_w 提取码: je7i

将下载后的数据集解压,解压后放在./data/VOCtrainval_11-May-2012/VOCdevkit/文件夹下,VOCtrainval_11-May-2012文件夹和VOCdevkit文件夹需自己手动创建。程序设置检索的训练样本路径为:./data/VOCtrainval_11-May-2012/VOCdevkit/VOC2012/ ImageSets/Segmentation/train.txt

开始训练

训练需要预训练模型,如果没有,则开始训练前程序会自动下载,但下载速度很慢,因此最好先下载完成后放在指定的目录下面在开始训练。程序默认使用pspnet网络框架,编码使用resnet50,因此我们先下载resnet50的预训练模型,相关编码网络的下载路径如下:

'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth',
'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth',
'resnet50': 'https://s3.us-west-1.wasabisys.com/encoding/models/resnet50s-a75c83cf.zip',
'resnet101': 'https://s3.us-west-1.wasabisys.com/encoding/models/resnet101s-03a0f310.zip',
'resnet152': 'https://s3.us-west-1.wasabisys.com/encoding/models/resnet152s-36670e8b.zip'

也可在\models\resnet.py中查看。resnet50是压缩包格式,下载完成后需要解压,然后将解压后的.pth文件放在./pretrained文件夹下,pretrained需自己手动创建。

最后打开终端,输入如下命令即可开始训练。

python train.py

关于config.json的详细解析和目录结构说明可查看源码路径:https://github.com/yassouali/pytorch_segmentation

你可能感兴趣的:(语义分割,语义分割,pytorch,训练,demo)