我有一系列以hdf5格式保存的Keras模型(包括结构和重量)。这些模型基于预先训练的DenseNet121 from keras.applications,并使用自定义数据集进行了进一步的微调
对于生产使用,我需要同时将所有这些模型加载到内存中
from keras.models import load_model
model_names = ['birds', 'cats', 'dogs', 'phones']
models = dict()
for name in model_names:
path = 'models/{}.h5'.format(name)
m = load_model(path)
models[name] = m
加载的模型越多,加载时间似乎就越长。指示值为:
birds.h5
需要1分钟cats.h5
需要5分钟dogs.h5
需要7分钟phones.h5
需要15分钟所有型号都基于相同的结构,每个h5文件占用磁盘上82Mb的空间。我在一个装有一个GPU的AWSp2.xlarge
实例上运行这个
问题:
这不是一个经过验证的答案,我在这里根据上面的评论详细说明,供您测试
怎么做?
加载它们并一直等待(这仍然不是生产)
现在:
保存此
common_model
,并查看在新会话中加载所需的时间您可以使用
common_model.layers[i]
从中检索每个模型。请参见摘要中的哪个i
是哪个层。如果使用名称定义子模型,则更容易:common_model.get_layer(model_name)
相关问题 更多 >
编程相关推荐