【发布时间】:2018-03-23 07:00:35
【问题描述】:
请帮忙处理下面的代码,错误似乎与输出的形状有关,但我不确定我应该改变什么,我的输入是 X,训练数据的标签是 y(见代码)
def model(load, shape, checkpoint=None):
"""Return a model from file or to train on."""
if load and checkpoint: return load_model(checkpoint)
conv_layers, dense_layers = [32, 32, 64, 128], [1024, 512]
model = Sequential()
model.add(Convolution2D(32, 3, 3, activation='elu', input_shape=shape))
model.add(MaxPooling2D())
for cl in conv_layers:
model.add(Convolution2D(cl, 3, 3, activation='elu'))
model.add(MaxPooling2D())
model.add(Flatten())
for dl in dense_layers:
model.add(Dense(dl, activation='elu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='linear'))
model.compile(loss='mse', optimizer="adam")
return model
net = model(load=False, shape=(100, 100, 3))
X = ['/path/to/img/file',...]
y = [[1.2, 4.5],[<num1>,[num2>]]]
net.fit_generator(_generator(256, X, y), samples_per_epoch=1000, nb_epoch=2)
导致以下错误:
net.fit_generator(_generator(256, X, y), samples_per_epoch=1000, nb_epoch=2)
ValueError: Error when checking target: expected dense_3 to have shape (None, 1) but got array with shape (256, 2)
【问题讨论】:
标签: tensorflow deep-learning keras keras-layer