在查看本篇文章之前,请先查看博主的上一篇文章【Deeplabv3+】Ubutu18.04中使用pytorch复现Deeplabv3+(第一步)-----环境配置_努力弹琴的大风天的博客-优快云博客
配置好环境之后,再进行接下来的操作
注意:本文原来是在Ubuntu18.04上测试的,后来在windows上搭建了环境,现在是在windows上测试的。
目录
一、源码、数据集和预训练下载
2.1 源码下载
源码位置:https://github.com/VainF/DeepLabV3Plus-Pytorch
该项目中有详细的复现过程代码,大家可参考复现代码以及本文测试这个项目。
点击:Code > Download ZIP 下载即可。
下载完成后,解压到Ubuntu桌面(其它位置也可),得到项目文件夹DeepLabV3Plus-Pytorch-master。
2.2 cityscapes数据集准备
- 数据集下载
cityscapes数据集需要注册登录才能下载,下载链接:

- 数据集放置
下载完成后,进入DeepLabV3Plus-Pytorch-master/datasets/data,在其中创建cityscapes文件夹,将下载的两个文件解压到此处。数据集架构:
/datasets
/data
/cityscapes
/gtFine
/leftImg8bit

至此,数据集准备完毕。
2.3 预训练模型预测
在正式训练之前,可以使用预训练模型,查看最终的预测效果。
best_deeplabv3plus_mobilenet_cityscapes_os16.pth预训练模型下载(下载需要科学上网):
下载地址(任选一个即可):
https://www.dropbox.com/sh/w3z9z8lqpi8b2w7/AAB0vkl4F5vy6HdIhmRCTKHSa?dl=0
或者
https://share.weiyun.com/qqx78Pv5
本文只使用:best_deeplabv3plus_mobilenet_cityscapes_os16.pth。其它的可以自己下载测试。
下载完成后,将其放置在DeepLabV3Plus-Pytorch-master/checkpoints中,然后切换到虚拟环境中,使用如下命令进行预测:
# 单张图片预测 test_results会生成在master中,是预测结果最终放置的位置
python predict.py --input datasets/data/cityscapes/leftImg8bit/train/bremen/bremen_000000_000019_leftImg8bit.png --dataset cityscapes --model deeplabv3plus_mobilenet --ckpt checkpoints/best_deeplabv3plus_mobilenet_cityscapes_os16.pth --save_val_results_to test_results
整个文件夹预测:
# 整个文件夹预测
python predict.py --input datasets/data/cityscapes/leftImg8bit/train/bremen --dataset cityscapes --model deeplabv3plus_mobilenet --ckpt checkpoints/best_deeplabv3plus_mobilenet_cityscapes_os16.pth --save_val_results_to test_results/bremen
二、训练
2.1 训练过程
进入pytorch虚拟环境中,使用如下代码进行训练:
# 根据自己的显卡设置相应的batch_size,显卡特别差的可能跑不起来本文3060显卡,设置为4
python main.py --model deeplabv3plus_mobilenet --dataset cityscapes --gpu_id 1 --lr 0.1 --crop_size 768 --batch_size 4 --output_stride 16 --data_root ./datasets/data/cityscapes

注意:
- 其中一个epoch是将所有需要训练的图片训练一遍,cityscapes中2975张图片用于训练,所以,当batch_size为4的时候,训练一个epoch需要2975/4约等于744个iters。
- 每50个Itrs会进行一次评估,把最近的一次训练模型和最好的一次训练模型保存,最终训练完成之后,在checkpoints中会有最好的训练模型;同时每50个迭代评估的时候,会评估平均交并比mIoU等指标
2.2 训练中的问题
1.OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "C:\Users\Dafengtian.conda\envs\pytorch\lib\site-packages\torch\lib\cudnn_adv_train64_8.dll" or one of its dependencies.
可能是使用cpu在训练,将训练代码中--gpu_id 0改成--gpu_id 1
2.numpy.core._exceptions.MemoryError: Unable to allocate array with shape (1960931,) and data type int64
batch_size设置过大,在训练代码中,将batch_size改小。
该文详细介绍了如何在Windows系统中使用Pytorch复现Deeplabv3+模型,包括源码下载、cityscapes数据集准备、预训练模型的预测及整个文件夹的预测流程。此外,还提供了训练过程的步骤,调整batch_size以解决内存问题,并强调了训练指标mIoU的计算。
2841

被折叠的 条评论
为什么被折叠?



