Ой! Я вижу, позвольте мне попробовать и посмотреть, если это работает для меня!

е представляют собой 10 видео, каждое из которых разделено на 86 кадров, и каждый кадр имеет 28 * 28 пикселей,

video_num = 10
frame_num = 86
pixel_num = 28*28

Я хочу использовать Conv2D + LSDM для построения модели и при каждом шаге time_steps (= frame_num = 86) отправлять данные пикселей (= INPUT_SIZE = 28 * 28) в модели. Итак, мой код о модели приведен ниже.

BATCH_SIZE = 2 (just try)
TIME_STEPS=frame_num (=86)
INPUT_SIZE=pixel_num (=28*28)

model = Sequential()
model.add(InputLayer(batch_input_shape=(BATCH_SIZE, TIME_STEPS,     
INPUT_SIZE)))
print (model.output_shape)

model.add(TimeDistributed(Conv2D(64,(1,3),strides=(1,1), padding='same', 
data_format='channels_last')))  ##always the error here
print (model.output_shape)

model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2),padding='same')))
print (model.output_shape)

model.add(TimeDistributed(Conv2D(64,(1,3),strides=(1,1), 
data_format='channels_last', padding='same')))
print (model.output_shape)

model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2),padding='same')))
print (model.output_shape)

model.add(TimeDistributed(Flatten()))
print (model.output_shape)

model.add(TimeDistributed(Dense(4096, activation='relu')))
print (model.output_shape)

model.add(LSTM(100, stateful=True, return_sequences=True))
print (model.output_shape)

model.add(Dense(1, activation='sigmoid'))
print (model.output_shape)

На следующем рисунке показана ошибка из командной строки

https://imgur.com/a/yAPQO говорит "индекс списка вне диапазона"

Я думаю, что ошибка связана с формой ввода в TimeDistributed (), которая получает данные из верхнего уровня (InputLayer ()), но я не знаю, как исправить ошибку. Я попытался удалить InputLayer () и использовать

TimeDistributed(Conv2D(...), input_shape=(TIME_STEPS, INPUT_SIZE))

как первый слой, но также получить ту же ошибку ...

Если кто-нибудь знает об этой ошибке, поделитесь своей идеей, буду очень признателен. Кроме того, я до сих пор не очень понимал разницу между batch_input_shape и input_shape, кто-нибудь использовал эти два раньше? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос