Я пытаюсь создать авто-кодировщик, который восстанавливает изображение размером 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