1:基础配置
要求大于等于11G的显卡,安装pytorch,下载代码。
2:测试
dataset文件中放的是一些例子,下载cityscape的预训练权重,放入到checkpoints文件夹下,测试模型。测试结果放在results文件夹下的label2city_1024p文件夹下。
3:数据集
首先下载Cityscape数据集,接着放置在datasets文件夹下,要和example放置的一样。
example放置:里面每个文件下的图片都是一一对应的。
下载后的原始数据集:
每一个文件夹下都有三个文件夹,里面放的是train,test,val。
每一个train,test,val下放的都是城市的名字,每个城市名字下放的是图片。
4:训练
训练使用512x1024大小的数据集。
5:多GPU训练
在train的时候制定GPU的型号即可。
6:混合精度
训练时候制定使用混合精度即可,前提是安装了APEX。
7:如果要在训练时候使用全分辨率,需要24G以上的内存,否则就裁切到512x1024.
8:训练自己的数据集
8.1:首先生成一个通道的寓意标签,标签上的每个值是物体对应的类别数,因为我们要从标签图中生成one-hot编码。在训练和测试时候制定通道数(类别数,cityscape未转换前是35个类别)。
8.2:如果输入不是标签图的话,指定label_nc=0,这将会直接使用RGB图片,dataset的名称也应该由train_label,train_img替换为train_A,train_B。即将A转换为B。
8.3:如果没有实例图,指定no_instance。
8.4:默认的预处理方式是scale_with,首先会将训练图片的宽缩放到1024,同时保持横纵比,长就会变为512(横纵比2:1),如果想用不同的设置,通过使用resize_or_crop改变他。比如,scale width and crop首先将图片的宽缩放到1024,然后随机crop到(finesize,finesize),长和宽一样。crop的话跳过resize操作,随机剪切。不想预处理的话就设置为None。
9:more