这是我的代码:
AE_0 = Sequential()
encoder = Sequential([Dense(output_dim=100, input_dim=256, activation='sigmoid')])
decoder = Sequential([Dense(output_dim=256, input_dim=100, activation='linear')])
AE_0.add(AutoEncoder(encoder=encoder, decoder=decoder, output_reconstruction=True))
AE_0.compile(loss='mse', optimizer=SGD(lr=0.03, momentum=0.9, decay=0.001, nesterov=True))
AE_0.fit(X, X, batch_size=21, nb_epoch=500, show_accuracy=True)
X具有形状(537621256)。我正试图找到一种方法,将大小为256的矢量压缩到100,然后压缩到70,然后再压缩到50。我在Lasagne做过这个,但在Keras,使用自动编码器似乎更容易。
这是输出:
Epoch 1/500537621/537621【==========================】-27s-损耗:0.1339-acc:00036
Epoch 2/500537621/537621【==========================】-32s-损耗:0.1339-acc:00036
Epoch 3/500252336/537621【===========>…………】-预计到达时间:14s-损失:0.1339-累计:0.0035
它会一直这样。
现在已经在master上修复了:)打开问题有时是最好的选择https://github.com/fchollet/keras/issues/1604