Keras autoeoncoder, как деконволюция выходного сигнала энкодера для соответствия входному изображению - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь создать авто-кодировщик, который восстанавливает изображение размером 30 x 24 .Я хочу кластеризовать закодированный результат, чтобы определить любые неинтуитивные шаблоны в моих данных.

Столбцы представляют каждый час, а строки представляют различные действия.Поскольку строки не связаны, я хочу построить ядра, которые уменьшают размеры до 1, следовательно, введение шагов = [30,1] conv2d я могу уменьшить размеры до 1 x 24 x 16 , но я не нахожу способ сделать обратное свертывание через керас, чтобы восстановить изображение, чтобы я мог тренировать модель,Знаете ли вы, как я могу воссоздать изображение с размерами 30x24x1 из моего вывода upsampling2d 1x24x16 ?

from keras.layers import Input, Dense, Conv2D, MaxPooling2D, UpSampling2D, Flatten
from keras.models import Model
from keras import backend as K

input_img = Input(shape=(30, 24, 1))  # adapt this if using `channels_first` image data format
x_train = np.reshape(x_train, (train_size, 30, 24, 1))  # adapt this if using `channels_first` image data format
x_test = np.reshape(x_test, (test_size, 30, 24, 1))  # adapt this if using `channels_first` image data format

x = Conv2D(16, kernel_size= (30, 3), activation='relu', padding='same', strides = (30,1))(input_img)
encoded = MaxPooling2D((1, 2), padding='same')(x)

x = UpSampling2D((1, 2))(encoded)
decoded = Conv2D(1,  kernel_size=(30, 24), activation='sigmoid', padding='same', strides = (30,1))(x)

autoencoder = Model(input_img, decoded)
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')

Autoencoder.summary ()

Layer (type)                 Output Shape              Param #   
=================================================================
input_11 (InputLayer)        (None, 30, 24, 1)         0         
_________________________________________________________________
conv2d_17 (Conv2D)           (None, 1, 24, 16)         1456      
_________________________________________________________________
max_pooling2d_9 (MaxPooling2 (None, 1, 12, 16)         0         
_________________________________________________________________
up_sampling2d_9 (UpSampling2 (None, 1, 24, 16)         0         
_________________________________________________________________
conv2d_18 (Conv2D)           (None, 1, 24, 1)          11521     
=================================================================
Total params: 12,977
Trainable params: 12,977
Non-trainable params: 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...