Checkpoint фрагмент:Keras: Загрузка весов контрольных точек hdf5 генерируется несколькими графическими процессорами
checkpointer = ModelCheckpoint(filepath=os.path.join(savedir, "mid/weights.{epoch:02d}.hd5"), monitor='val_loss', verbose=1, save_best_only=False, save_weights_only=False)
hist = model.fit_generator(
gen.generate(batch_size = batch_size, nb_classes=nb_classes), samples_per_epoch=593920, nb_epoch=nb_epoch, verbose=1, callbacks=[checkpointer], validation_data = gen.vld_generate(VLD_PATH, batch_size = 64, nb_classes=nb_classes), nb_val_samples=10000
)
Я обучал мою модель на множественный хост GPU, который сваливает mid
файлы в формате HDF5. Когда я загрузил их на одном GPU машине с keras.load_weights('mid')
была сгенерирована ошибка:
Using TensorFlow backend.
Traceback (most recent call last):
File "server.py", line 171, in <module>
model = load_model_and_weights('zhch.yml', '7_weights.52.hd5')
File "server.py", line 16, in load_model_and_weights
model.load_weights(os.path.join('model', weights_name))
File "/home/lz/code/ProjectGo/meta/project/libpolicy-server/.virtualenv/lib/python3.5/site-packages/keras/engine/topology.py", line 2701, in load_weights
self.load_weights_from_hdf5_group(f)
File "/home/lz/code/ProjectGo/meta/project/libpolicy-server/.virtualenv/lib/python3.5/site-packages/keras/engine/topology.py", line 2753, in load_weights_from_hdf5_group
str(len(flattened_layers)) + ' layers.')
ValueError: You are trying to load a weight file containing 1 layers into a model with 21 layers.
Есть ли способ загрузки контрольных точки весов, сгенерированные нескольких графических процессоров на одном GPU машине? Кажется, что ни одна проблема Keras не обсуждала эту проблему, поэтому любая помощь была бы оценена.
Можете ли вы загрузить эту же машину с несколькими GPU? В сообщении об ошибке указано, что существует несколько несоответствий уровня. Сколько слоев имеет модель? –
@ YaoZhang Весы могут быть загружены только с помощью 'model.load_weights()' на исходном компьютере. 21 слой как в модели model.yml, так и на модели с несколькими GPU. – lz96