Ich versuche, einen Vanilla-Autoencoder mit Keras (mit einem Tensorflow-Backend) zu nehmen und zu stoppen, wenn der Verlustwert auf einen bestimmten Wert konvergiert. Nach der letzten Epoche möchte ich eine Sigmoid-Funktion verwenden, um eine Klassifizierung durchzuführen. Würdest du wissen, wie man das macht (oder mir zumindest in die richtige Richtung weis)?Klassifizierung mit Keras Autoencoder
Der folgende Code ist dem Vanille-Autoencoder bei http://wiseodd.github.io/techblog/2016/12/03/autoencoders/ ziemlich ähnlich. (Ich meine eigenen Daten verwenden, aber ich fühle mich frei, die MNIST Beispiel in der Verbindung zu verwenden, zu zeigen, was Sie reden.)
NUM_ROWS = len(x_train)
NUM_COLS = len(x_train[0])
inputs = Input(shape=(NUM_COLS,))
h = Dense(64, activation='sigmoid')(inputs)
outputs = Dense(NUM_COLS)(h)
# trying to add last sigmoid layer
outputs = Dense(1)
outputs = Activation('sigmoid')
model = Model(input=inputs, output=outputs)
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train,
batch_size=batch,
epochs=epochs,
validation_data=(x_test, y_test))
Hallo, was Ihr x_train ist und was y_train ist? Das sieht nicht wie ein Autoencdoer aus – CAFEBABE
Schauen Sie sich das Beispiel in der Verbindung an. Wenn ich daran arbeite, kann ich mit meinen Daten arbeiten. – quil
Lassen Sie mich die gleiche Frage anders stellen: Was wollen Sie mit dem Auto-Encoder erreichen? Sie könnten ein Standardklassifikationsmodell verwenden. – CAFEBABE