Comments 11
autoencoder.fit(x_train, x_train,
                epochs=50,
                batch_size=256,
                shuffle=True,
                validation_data=(x_test, x_test))

Кажется, здесь ошибка:


  • x_train, x_train -> x_train, y_train
  • x_test, x_test -> x_test, y_test
Энкодер восстанавливает вход на выходе, это не задача классификации. А «y» тут вообще не нужны нигде (до conditional моделей), в «у» просто лейблы цифр лежат.

Отличный цикл статей. Никак не могу понять, как на выходе "Сверточного автоэнкодера" получается определенный размер изображения 28,28, он же нигде не указывается. Можно ли его изменить произвольным образом? Например 20,20 или 30,30?

это размеры изображения свойственны датасету MNIST. каждая картинка имеет размерность 28x28.
изменить, конечно, можно, но для MNIST код уже не рабочим будет.
вот цитата из следующией статьи из этой серии: Изображения цифр mnist (на которых примеры в прошлой части) — это элементы 28*28=784-мерного пространства, как и вообще любое монохромное изображение 28 на 28.

Спасибо, непонятно было только для выходного слоя у "сверточного". Поскольку явно размерность не указана, как для первых двух сетей. Я так понял, что размерность остается такой же благодаря параметру padding='same'. А вообще меня для других целей интересовало, как изменить размерность у выходного слоя.

Наверное, вы уже разобрались, но вдруг кому-то поможет.


Сверточный енкодер уменьшает размеры изображения до (7,7) благодаря слоям MaxPooling2D, каждый из которых уменьшает размер в (2,2) раз.


Сверточный декодер разворачивает код (7,7) до (28,28) благодаря двум слоям UpSampling2D, каждый из которых увеличивает размер в (2,2) раз.

Only those users with full accounts are able to leave comments. Log in, please.