我有一个Keras模型,它输入一个简单的数组并输出两个值(x和y),这两个值属于5个可能的类别(编码为一热),具有自定义损失函数.我知道您必须 for each 期望的输出值设置损失函数,正如我在脚本中所做的那样.
我对模型进行了如下初始化:
inputs = keras.Input(shape=(14))
middle = layers.Dense(10,activation="relu")(inputs)
out_x = layers.Dense(5,activation="sigmoid")(middle)
out_y = layers.Dense(5,activation="sigmoid")(middle)
model = keras.Model(inputs=inputs,outputs={"x":out_x,"y":out_y})
model.compile(optimizer="adam",loss={"x":custom_loss,"y":custom_loss},metrics=["accuracy"])
然后,我try 创建一组输入数据和标签.标签的布局如下:
[
{"x":[0,0,1,0,0],"y":[1,0,0,0,0]},
...
]
但当我试着用model.fit(training_data,labels)
的时候,它给了我一个错误,那就是数字5和Make sure all arrays contain the same number of samples.
重复了几百次
如果我希望我的模型有多个输出,我的标签应该是什么样子的?