如何在CNTK中训练具有多个输出层的网络?

2024-03-28 09:10:45 发布

您现在位置:Python中文网/ 问答频道 /正文

目的:为图像分类任务训练一个如下图所示的神经网络。(可以在图像中看到输入尺寸。)

我已经能够创建网络,但面临以下问题:

  1. 指定损失和分类错误函数。在
  2. 指定输入train_minibatch字典的输出变量。在

我使用一个生成器将数据传送到网络,因此使用train_minibatch来提供数据。这个生成器的输出是输入图像,以及包含1个热编码标签的4个项目的列表。在


Tags: 数据函数图像目的网络编码字典尺寸
1条回答
网友
1楼 · 发布于 2024-03-28 09:10:45

我自己也能弄明白。对于这样的场景,我们必须为每个分支定义单独的output variables,然后分别向它们提供数据。在

假设y是一个由4个元素组成的列表,这些元素应该是神经网络的输出。我们将定义数据字典,如下所示

trainer.train_minibatch( { input_placeholder: x, output_placeholder0: y[0], output_placeholder1: y[1], output_placeholder2: y[2], output_placeholder3: y[3] } )

其他变量,如损失、分类错误可以是单个损失的简单总和(这将取决于具体的用例)

更多细节请看这个notebook,我在这里创建了上面的网络,输入了数据并训练了模型。在

相关问题 更多 >