У меня есть модель, которую я использую для подачи изображений, и цель модели - сравнить с одним изображением, которое является выходным.
Размер всех / каждого изображения = [96,96,3]
Модель берет в папку, где всего 6 изображений, где 5 из них похожи на6-е изображение, и мы должны использовать 5 изображений (изображений с увеличенными изображениями), чтобы правильно предсказать 6-е изображение.В наборе тестов и обучающем наборе есть несколько таких папок
Я решил использовать CNN + LSTM для решения этой проблемы, что, как я считаю, будет лучше, чем просто использование простого CNN для решения этой проблемы, я уже пробовалобычный CNN и Увеличение изображения, которое достигает максимума в производительности.
Ниже приведена модель, которая у меня есть на данный момент, часть, в которой я комментирую, - это то, где у меня возникла проблема.* Чтобы помочь вывод этой модели для модели.summary () выше
Layer (type) Output Shape Param #
=================================================================
conv_lst_m2d_1 (ConvLSTM2D) (None, 5, 96, 96, 32) 40448
_________________________________________________________________
batch_normalization_1 (Batch (None, 5, 96, 96, 32) 128
_________________________________________________________________
conv_lst_m2d_2 (ConvLSTM2D) (None, 5, 96, 96, 32) 73856
_________________________________________________________________
batch_normalization_2 (Batch (None, 5, 96, 96, 32) 128
_________________________________________________________________
conv_lst_m2d_3 (ConvLSTM2D) (None, 5, 96, 96, 32) 73856
_________________________________________________________________
batch_normalization_3 (Batch (None, 5, 96, 96, 32) 128
_________________________________________________________________
dropout_1 (Dropout) (None, 5, 96, 96, 32) 0
_________________________________________________________________
conv_lst_m2d_4 (ConvLSTM2D) (None, 5, 96, 96, 32) 73856
_________________________________________________________________
batch_normalization_4 (Batch (None, 5, 96, 96, 32) 128
_________________________________________________________________
dropout_2 (Dropout) (None, 5, 96, 96, 32) 0
_________________________________________________________________
conv_lst_m2d_5 (ConvLSTM2D) (None, 5, 96, 96, 3) 3792
_________________________________________________________________
batch_normalization_5 (Batch (None, 5, 96, 96, 3) 12
_________________________________________________________________
reshape_1 (Reshape) (None, 5, 96, 96, 3) 0
=================================================================
Total params: 266,332
Trainable params: 266,070
Non-trainable params: 262
_________________________________________________________________
Я получаю ошибку в последней строкемоей модели, когда я пытаюсь изменить форму и поместить свой выход BatchNorm_5 в Conv2D в качестве входа.
, который, как я понимаю, должен быть изменен на [Нет, 96,96, 3] .Вот где мне нужна помощь сообщества.
Почему мне нужна эта форма, потому что мое выходное изображение имеет такую же
форму, с которой нужно сравнивать.
- Я хочу сделать это изменение с минимальной потерей информации.
Ошибка, которую я получаю, что очень правильно, но мне нужны идеи о том, как исправитьэта ошибка
Traceback (most recent call last):
File "train.py", line 154, in <module>
model.add(Conv2D(3, (3, 3), activation='relu', padding='same'))
File "/home/sandeeppanku/anaconda3/envs/tensorflowpy1p11/lib/python3.6/site-packages/keras/engine/sequential.py", line 181, in add
output_tensor = layer(self.outputs[0])
File "/home/sandeeppanku/anaconda3/envs/tensorflowpy1p11/lib/python3.6/site-packages/keras/engine/base_layer.py", line 414, in __call__
self.assert_input_compatibility(inputs)
File "/home/sandeeppanku/anaconda3/envs/tensorflowpy1p11/lib/python3.6/site-packages/keras/engine/base_layer.py", line 311, in assert_input_compatibility
str(K.ndim(x)))
ValueError: Input 0 is incompatible with layer conv2d_1: expected ndim=4, found ndim=5