Acumos:docker容器找不到文件

2024-05-16 11:39:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试测试一个模型,这个模型是我在Acumos平台上安装的(使用python客户端)。在docker中运行映像失败,出现以下错误:

文件“h5py/h5f.pyx”,第85行,在h5py.h5f.open中 OSError:无法打开文件(无法打开文件:name='data/keras/ticketsModel/型号.hdf5',errno=2,error message='没有这样的文件或目录',flags=0,o\u flags=0)

我的代码如下:

from acumos.session import AcumosSession
from acumos.modeling import Model, List, create_dataframe
from tensorflow.python.keras.models import load_model

# This version tells me : unable to open file: name = 'data/keras/ticketsModel/model.hdf5'
#def classify_ticket(inText: str) -> str:
#    current_model = load_model('data/keras/ticketsModel/model.hdf5')
#    return current_model.predict(inText)

# This version tells me : NotImplementedError: numpy() is only available when eager execution is enabled.
current_model = load_model('data/keras/ticketsModel/model.hdf5')
def classify_ticket(inText: str) -> str:
    return current_model.predict(inText)

model = Model(classify=classify_ticket)
session = AcumosSession()
session.dump(model,'ticket_classification','acumos_out')

非常感谢您的帮助!你知道吗


Tags: 文件fromimportdatamodelsessioncurrentticket
2条回答

acumos库目前代表用户序列化模型,以便它可以以可移植的方式绑定对象,同时最小化开发人员的工作量。但是,将来可能会添加提供自定义序列化逻辑的选项。你知道吗

问题的解决方案应该是将模型加载到函数定义之上,例如:

current_model = load_model('data/keras/ticketsModel/model.hdf5')

def classify_ticket(inText: str) -> str:
    return current_model.predict(inText)

你能看看在转储模型时生成的zip文件,告诉我所有文件的大小吗?你知道吗

相关问题 更多 >