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

Python 具有互斥任务的多任务学习?,python,keras,deep-learning,pytorch,multitasking,Python,Keras,Deep Learning,Pytorch,Multitasking,我希望通过使用共享层执行分割和分类来执行多任务学习,如图所示。但是,输出1将是一个分割掩码,它与不同的损失函数(如骰子损失)一起工作,输出2与softmax激活一起工作,以提供类概率。另外,数据是互斥的,分割任务来自自然图像域,分类任务来自医学图像域。Keras或Pytorch是否有明确的方式或示例来演示这种多任务学习任务?我想您希望在培训时在这两项任务之间交替进行。 我还假设您将在同一批中混合这两个任务 您可以创建一个返回的自定义 类混合数据集(数据集): # ... 定义uu获取项目uu(自


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

我想您希望在培训时在这两项任务之间交替进行。
我还假设您将在同一批中混合这两个任务

您可以创建一个返回的自定义

类混合数据集(数据集):
# ...
定义uu获取项目uu(自身,索引):
# ... 根据索引获取数据
返回img、seg、seg_标志、class、class_标志
对于医学图像,
seg
将是一个虚拟掩码,
seg\u标志
将是零,而
class
将是目标类,
class\u标志
为1。
另一方面,对于自然图像,
seg
将是所需的分割掩码,
seg_标志
为1,而
class
将是虚拟的,
class_标志
为零

现在,您可以运行培训代码:

列车装载机中i(img、seg、seg_标志、class、class_标志)的

选项0_梯度()
预测掩码,预测类=模型(img)#预测两者
丢失seg=seg标志*骰子丢失功能(预屏蔽,seg)
损失类=类标志*交叉熵损失函数(pred类,类)
(损失段+损失类).backward()
选择步骤()

我想你应该在训练时交替完成这两项任务。
我还假设您将在同一批中混合这两个任务

您可以创建一个返回的自定义

类混合数据集(数据集):
# ...
定义uu获取项目uu(自身,索引):
# ... 根据索引获取数据
返回img、seg、seg_标志、class、class_标志
对于医学图像,
seg
将是一个虚拟掩码,
seg\u标志
将是零,而
class
将是目标类,
class\u标志
为1。
另一方面,对于自然图像,
seg
将是所需的分割掩码,
seg_标志
为1,而
class
将是虚拟的,
class_标志
为零

现在,您可以运行培训代码:

列车装载机中i(img、seg、seg_标志、class、class_标志)的

选项0_梯度()
预测掩码,预测类=模型(img)#预测两者
丢失seg=seg标志*骰子丢失功能(预屏蔽,seg)
损失类=类标志*交叉熵损失函数(pred类,类)
(损失段+损失类).backward()
选择步骤()