Tensorflow Keras load_model来自内存还是变量?

时间:2019-10-07 10:00:21

标签: tensorflow keras tf.keras

因为tensorflow.keras.models.load_model输入是路径。

但是我必须先从文件中加载它,然后解密。然后指向

load_model

是否有实施的想法?

from tensorflow.keras.models import load_model
with open('mypath.h5'. mode='rb') as f:
    h5 = decrypt_func(f.read())

model = load_model(h5)

有效。

解决方案根据@jgorostegui

import tempfile
import h5py
from tensorflow.keras.models import load_model

temp = tempfile.TemporaryFile()
with open('mypath.h5'. mode='rb') as f:
    h5 = decrypt_func(f.read())
    temp.write(h5)
with h5py.File(temp, 'r') as h5file:
    model = load_model(h5file)

1 个答案:

答案 0 :(得分:1)

取决于输出函数decrypt_func的格式,可以使用h5py来加载描述的流,然后使用keras.models.load_model函数来加载模型,该模型支持{{ 1}}对象类型作为输入模型,除了您提到的字符串和保存模型的路径。

h5py.File