如何将模型权重存储在工件中并重新加载?

2020-08-18 01:27发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们想将ML场景用于keras模型。

我们可以训练模型并将模型权重存储为工件。

 s_buf = io.StringIO()
 model.keras_model.save_weights(s_buf)
 api.send(" modelBlob",s_buf.read())

但是,在应用模型时,我们无法从工件输入中加载权重。

这将在Python中完成吗?

例如 从工件存储中导入Blob时不起作用。

 model.load_weights(modelBlob)

请告知。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们想将ML场景用于keras模型。

我们可以训练模型并将模型权重存储为工件。

 s_buf = io.StringIO()
 model.keras_model.save_weights(s_buf)
 api.send(" modelBlob",s_buf.read())

但是,在应用模型时,我们无法从工件输入中加载权重。

这将在Python中完成吗?

例如 从工件存储中导入Blob时不起作用。

 model.load_weights(modelBlob)

请告知。

付费偷看设置
发送
2条回答
Bunny_CDM
1楼-- · 2020-08-18 02:00

有两种可能,要么腌制权重,要么将整个模型保存到结果为字节的位置。

p.s。 为了使用save_model,请确保您的模型不包含自定义图层。

saving_model:

导入h5py
 从io导入BytesIO
 型号= BytesIO()
 与h5py.File(model,'a')作为f:
    bert_classifier.save(f,save_format =" tf")
 api.send(" model_blob",model.getvalue())
 
三十六小时_GS
2楼-- · 2020-08-18 02:19

load_model:

 def on_model(model_blob):
   导入h5py
   型号= io.BytesIO(model_blob)
   h = h5py.File(model,'r')
   型号= tf.keras.models.load_model(h)
   model_ready =真

 

一周热门 更多>