首页 Paddle框架 帖子详情
paddle多任务语义分割(两张输出对应于两张)
收藏
快速回复
Paddle框架 问答深度学习炼丹技巧 1230 2
paddle多任务语义分割(两张输出对应于两张)
收藏
快速回复
Paddle框架 问答深度学习炼丹技巧 1230 2

用paddle进行多任务语义分割,两张输入图像经过编码器(VGG)提取特征,然后由两个独立的解码器得到两张输出语义分割图。

训练过程中发现,loss一直在震荡。两个任务的精度都比较低(一高一低,有一个任务精度接近0)

训练代码(交叉熵损失):

        for i_batch, (img1, img2, label1, label2, _) in enumerate(train_loader):

            label1 = paddle.cast(label1, dtype='int64')
            label2 = paddle.cast(label2, dtype='int64')

            output1, output2 = net(img1, img2)

            loss1 = criterion_CE(output1, label1)
            loss2 = criterion_CE(output2, label2)

            loss = loss1 + loss2
            loss.backward()
            optimizer.step()
            optimizer.clear_grad()
            #
            loss_np = loss.numpy()
            train_loss += loss_np[0]

相同的模型代码在XX火炬上都能正常收敛。求问paddle支持这种多任务学习吗??

1
收藏
回复
全部评论(2)
时间顺序
MR.三水九
#2 回复于2020-11

用的是2.0rc版本的,优化器是动量SGD。希望好心大神帮我看看是哪里的问题。

0
回复
MR.三水九
#3 回复于2020-11

找到问题了,是实现的CBAM注意力模块有问题

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户