2017-03-06 42 views
7

要保存keras模型,什麼都在輸出文件之間的差異:keras model.save()和model.save_weights()之間有什麼區別?

  1. model.save(),
  2. model.save_weights()?
  3. ModelCheckpoint()回調

從model.save保存的文件()比從model.save_weights()中的模型比JSON或YAML模型架構文件較大,但顯著大。爲什麼是這樣?重申一下,爲什麼size(model.save())+ size(something)= size(model.save_weights())+ size(model.to_json()),那是什麼?

只需要model.save_weights()和model.to_json()以及從這些加載而不是僅僅執行model.save()和load_model()會更高效嗎?有什麼區別?

回答

5

save()將權重和模型結構保存到單個HDF5文件中。我相信它也包含諸如優化器狀態之類的東西。然後,您可以使用該HDF5文件與load()重建整個模型,包括權重。

save_weights()只保存權重HDF5,沒有別的。您需要額外的代碼才能從JSON文件重建模型。

相關問題