因为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)
答案 0 :(得分:1)
取决于输出函数decrypt_func
的格式,可以使用h5py
来加载描述的流,然后使用keras.models.load_model
函数来加载模型,该模型支持{{ 1}}对象类型作为输入模型,除了您提到的字符串和保存模型的路径。
h5py.File