【问题标题】:Tensorflow-Keras: Loading weights from checkpoint increases graph size significantlyTensorflow-Keras:从检查点加载权重会显着增加图形大小
【发布时间】:2020-02-28 14:26:13
【问题描述】:

我正在使用一个相当大的网络(9800 万个参数),我正在使用 Keras ModelCheckPoint 回调来保存我的权重,如下所示,当我使用 keras 重新加载我保存的权重时,我可以看到加载操作增加了大约 10我图中每层的操作。这导致我的整个网络的内存大幅增加。这是预期的行为吗?如果是这样,是否有任何已知的解决方法?

详情: 我正在使用:tf.keras.callbacks.ModelCheckpoint"save_weights_only=True" 作为参数来保存权重

加载它的代码是:

model.load_weights(path_to_existing_weights)

model 是自定义的 keras 模型。

我正在使用Tensorflow 1.14Keras 2.3.0

有人有什么想法吗?

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

    在我看来,这似乎是出乎意料的行为,但我看不出有任何明显的迹象表明您做错了。您确定在保存权重和重新加载权重之间没有对模型进行任何更改吗?我只能建议尝试做同样的事情,除了这次在回调中更改它以保存整个模型。然后重新加载模型,然后检查图表。我也遇到过这个,怀疑是这个问题,但我会检查一下

    为了将您的 Keras 模型保存为 HDF5 文件,例如通过 keras.callbacks.ModelCheckpoint, Keras 使用 h5py Python 包。它是 Keras 的依赖项,应该默认安装。 如果您不确定是否安装了 h5py,您可以打开 Python shell 并通过以下方式加载模块 import h5py 如果导入没有错误则安装,否则可以找到详细安装 此处的说明:http://docs.h5py.org/en/latest/build.html

    也许你可以尝试重新安装它。

    【讨论】:

      猜你喜欢
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 2017-05-11
      相关资源
      最近更新 更多