PaddleSeg
PaddleSeg copied to clipboard
训练PP-Liteseg,训练结果图像全是背景,但log显示mIOU=1.0, ACC=1.0
问题确认 Search before asking
- [X] 我已经搜索过问题,但是没有找到解答。I have searched the question and found no related answer.
请提出你的问题 Please ask your question
我在进行一个图像分割任务,需要PP-liteseg分割出图像的前景和背景。输入的图像label如图(原图是.bmp格式,不支持上传):
但得到的输出结果类似于这样:
日志显示 mIOU = 1.0, ACC = 1.0
我怀疑是数据集处理得有问题,导致模型无法分辨出有前景和背景,但不知道是哪里出了问题
以下是我的config:
batch_size: 8
iters: 10
optimizer:
type: sgd
momentum: 0.9
weight_decay: 5.0e-4
lr_scheduler:
type: PolynomialDecay
end_lr: 0
power: 0.9
warmup_iters: 100
warmup_start_lr: 1.0e-5
learning_rate: 0.005
loss:
types:
- type: OhemCrossEntropyLoss
min_kept: 130000 # batch_size * 1024 * 512 // 16
- type: OhemCrossEntropyLoss
min_kept: 130000
- type: OhemCrossEntropyLoss
min_kept: 130000
coef: [1, 1, 1]
train_dataset:
type: Dataset
dataset_root: .\dataset\train_data
train_path: .\dataset\train_data\train.txt
num_classes: 2
transforms:
- type: ResizeStepScaling
min_scale_factor: 0.125
max_scale_factor: 1.5
scale_step_size: 0.125
- type: RandomPaddingCrop
crop_size: [1024, 512]
- type: RandomHorizontalFlip
- type: RandomDistort
brightness_range: 0.5
contrast_range: 0.5
saturation_range: 0.5
- type: Normalize
mode: train
val_dataset:
type: Dataset
dataset_root: .\dataset\train_data
val_path: .\dataset\train_data\val.txt
num_classes: 2
transforms:
- type: Normalize
mode: val
test_config:
aug_eval: True
scales: 0.5
model:
type: PPLiteSeg
backbone:
type: STDC1
pretrained: .\pretained_model\pp_liteseg\stdc1_cityscapes_1025x512\model.pdparams
arm_out_chs: [32, 64, 128]
seg_head_inter_chs: [32, 64, 64]
看上去两类分割中数据不均衡问题导致模型泛化效果差,建议通过损失加强少量样本的权重,并增加数据增强。
看上去两类分割中数据不均衡问题导致模型泛化效果差,建议通过损失加强少量样本的权重,并增加数据增强。
问一下 这个怎么给损失添加权重。在损失中怎么修改。