Staram się śledzić Głębokie Autoencoder Keras example. Dostaję wyjątek niedopasowania wymiarów, ale dla mojego życia nie mogę zrozumieć dlaczego. Działa, gdy używam tylko jednego zakodowanego wymiaru, ale nie wtedy, gdy je stosuję.Python/Keras/Theano niewłaściwe wymiary Deep Autoencoder
Wyjątek: wejściowy 0 jest niezgodna z warstwy dense_18:
oczekiwany kształt = (brak, 128), znaleziono kształt = (brak, 32) *
Błąd jest na linii decoder = Model(input=encoded_input, output=decoder_layer(encoded_input))
from keras.layers import Dense,Input
from keras.models import Model
import numpy as np
# this is the size of the encoded representations
encoding_dim = 32
#NPUT LAYER
input_img = Input(shape=(784,))
#ENCODE LAYER
# "encoded" is the encoded representation of the input
encoded = Dense(encoding_dim*4, activation='relu')(input_img)
encoded = Dense(encoding_dim*2, activation='relu')(encoded)
encoded = Dense(encoding_dim, activation='relu')(encoded)
#DECODED LAYER
# "decoded" is the lossy reconstruction of the input
decoded = Dense(encoding_dim*2, activation='relu')(encoded)
decoded = Dense(encoding_dim*4, activation='relu')(decoded)
decoded = Dense(784, activation='sigmoid')(decoded)
#MODEL
autoencoder = Model(input=input_img, output=decoded)
#SEPERATE ENCODER MODEL
encoder = Model(input=input_img, output=encoded)
# create a placeholder for an encoded (32-dimensional) input
encoded_input = Input(shape=(encoding_dim,))
# retrieve the last layer of the autoencoder model
decoder_layer = autoencoder.layers[-1]
# create the decoder model
decoder = Model(input=encoded_input, output=decoder_layer(encoded_input))
#COMPILER
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')
Niesamowite jak najbardziej ludzie walczą w tych samych punktach. Dzięki za podzielenie –
https://stackoverflow.com/questions/47842931/valueerror-error-when-checking-target-expected-model-2-to-have-shape-none-25 jakieś sugestie? –