具有互斥任务的多任务学习?

时间:2020-06-01 12:42:55

标签: python keras deep-learning pytorch multitasking

Multi-task learning

我希望通过使用共享层执行分割和分类来执行多任务学习,如图所示。但是,输出1将是一个分段蒙版,可与不同的损失函数(如骰子损失)一起工作,输出2将与softmax激活一起工作以提供类概率。而且,数据是互斥的,分割任务来自自然图像域,而分类则来自医学图像域。 Keras或Pytorch是否有定义的方法或示例演示这种多任务学习任务?

1 个答案:

答案 0 :(得分:0)

我想您想在训练时在两个任务之间交替。
我还将假设您将在同一批中混合这两个任务。

您可以创建返回的自定义Dataset

class MixedDataset(Dataset):
  # ...
  def __getitem__(self, index):
    # ... get data according to index
    return img, seg, seg_flag, class, class_flag

对于医学图像,seg将成为虚拟蒙版,seg_flag将为零,而class将成为目标类别,{{1 }}是1。
另一方面,对于自然图像,class_flag将成为所需的分割蒙版,seg将为1,而seg_flag将成为虚拟对象,而class将为零

现在您可以运行训练代码:

class_flag
相关问题