Я обучил модель с помощью утилиты multi_gpu_model и использовал обычный обратный вызов для проверки и сохранения весов модели.Эта модель была обучена на 4 GPU.
Теперь для вывода я хочу использовать только один GPU (приведенный ниже код предназначен для одного GPU, отличается от обучения, где использовалась утилита multi_gpu_model), но когда я пытаюсьзагрузить веса, это дает ошибку.
input_seq = Input(shape=(40,32,16,1))
a = ConvLSTM2D(256, (3, 3), activation='sigmoid', padding='same', return_sequences=True)(input_seq)
a = ConvLSTM2D(256, (3, 3), activation='sigmoid', padding='same', return_sequences=True)(a)
a = MaxPooling3D((2,2,2), padding='same')(a)
a = ConvLSTM2D(256, (3, 3), activation='sigmoid', padding='same', return_sequences=True)(a)
a = ConvLSTM2D(256, (3, 3), activation='sigmoid', padding='same', return_sequences=False)(a)
a = UpSampling3D((2, 2,2))(a)
for i in range(10):
out_frames.append(Conv2D(filters=1, kernel_size=(3, 3), activation='sigmoid',padding='same')(a))
model = Model(input_seq, out_frames)
model.compile(loss="binary_crossentropy", optimizer="adam")
weight_file="model_weights.hdf5"
Но выдает исключение следующим образом:
ValueError: You are trying to load a weight file containing 1 layers into a model with 14 layers.