繁体   English   中英

Python:无法在Keras中训练回归模型

[英]Python: cannot train regression model in Keras

我正在尝试与Keras一起训练DNN。 在此定义模型:

model = Sequential()
model.add(Dense(2050, input_shape=(2050, 75), activation='relu'))
model.add(Dense(1024, activation='relu'))
model.add(Dense(1024, activation='relu'))
model.add(Dense(1024, activation='relu'))
model.add(Dense(75, activation='sigmoid'))

成本函数是毫秒。 这里的想法是训练一组3000张尺寸为2050 * 75的图像,这基本上是从1025 * 75图像中提取的两个不同特征,以便在输出中获得3000张尺寸为1025 * 75的图像,这是某种原始图像的表示形式。

因此,输入为(3000,2050,75)张量,而输出尺寸为(3000,1025,75)。

我可以看到Keras为什么给我以下错误:

ValueError:检查目标时出错:预期density_5具有形状(None,2050,75),但数组的形状为(3000,1025,75)

必须有一种避免此错误的方法,可能是通过重新定义DNN尺寸或图层。 你有什么建议吗? 谢谢。

编辑:根据要求,这是完整的代码。

X = train_set
Y = m
[n_samples, n_freq, n_time] = X.shape

model = Sequential()
model.add(Dense(n_freq, input_shape=(n_freq, n_time), activation='relu'))
model.add(Dense(n_hid, activation='relu'))
model.add(Dense(n_hid, activation='relu'))
model.add(Dense(n_hid, activation='relu'))
model.add(Dense(n_time, activation='sigmoid'))

model.summary()
model.compile(optimizer='rmsprop',loss='mse',metrics=['mae','accuracy'])
model.fit(np.abs(X), np.abs(Y), epochs=n_epochs, batch_size=batch_size)
score = model.evaluate(np.abs(X), np.abs(Y), batch_size = batch_size)

因为您不能在内部使用重塑层重塑阵列,因为新阵列的总大小必须保持不变。 我建议使用平整层平整张量。 但首先,您需要重塑y:

y = y.reshape(-1, 1025*75)

更新后的模型如下所示:

model = Sequential()
model.add(Dense(n_freq, input_shape=(n_freq, n_time), activation='relu'))
model.add(Dense(n_hid, activation='relu'))
model.add(Dense(n_hid, activation='relu'))
model.add(Dense(n_hid, activation='relu'))
model.add(Flatten())
model.add(Dense(1025*75, activation='sigmoid'))

model.summary()
model.compile(optimizer='rmsprop',loss='mse',metrics=['mae','accuracy'])
model.fit(np.abs(X), np.abs(y), epochs=n_epochs, batch_size=batch_size)
#score = model.evaluate(np.abs(X), np.abs(Y), batch_size = batch_size)

之后,您可以将y_pred重塑为(-1,1015,75)形状:

y_pred = y_pred.reshape(-1,1015,75)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM