我开始开发模型,并陷入尺寸问题。我的X_train和Y_train是形状为(65337, 19)
Input_1= Input(shape=(19,))
x = Dense(100, activation='relu')(Input_1)
out1 = Dense(1, activation='linear')(x)
out2 = Dense(1, activation='linear')(x)
...
out19 = Dense(1, activation = 'linear')(x)
model = Model(inputs=Input_1, outputs=[out1,out2,out3,out4,out5,out6,
out7,out8,out9,out10,out11,out12,
out13,out14,out15,out16,out17,out18,out19])
model.compile(optimizer = "rmsprop", loss = 'mse')
model.fit(X_train,y_train,epochs=5)
运行此命令时,出现值错误:
ValueError:检查模型目标时出错:Numpy数组列表 您传递给模型的信息不是模型期望的大小。 预计将看到19个数组,但得到以下列表1 数组:
在这里查看其他问题,似乎使用.fit(np.array(X_train) , np.array(y_train)
可以帮助一些问题,但是我遇到了相同的错误(这很有意义,因为它告诉我我有一个数组)。
答案 0 :(得分:1)
您期望获得19种不同的输出,因此您需要使用标签数组的19个切片将其馈送到您的网络:
model.fit(X_train,[y_train[:,0], y_train[:,1], y_train[:,2],[...], y_train[:, 18]] , epochs=5)