我正在尝试将本地的tensorflow模型部署到sagemaker端点。我希望包括自定义推理代码来转换输入数据。如果模型是经过培训的,并且已经位于S3桶中,那么我可以运行以下操作,这将正确地将模型部署到端点:
tensorflow_model = Model(
model_data=saved_model,
entry_point='src/development/document_matcher/inference.py',
source_dir ='./src/development/document_matcher',
role=role,
framework_version=tf_framework_version
)推理文件工作正常;但是,我也需要模型的词汇表来正确地转换传入的数据。这就是我试图在source_dir上上传的内容。
我的目录结构如下:
- src
- development
-document_matcher
- inference.py
- total_vocab.pkl当我的推理脚本运行时,我需要让它可以访问total_vocab.pkl。然而,inference.py无法找到它。我是不是误解了救世主的工作方式?
发布于 2022-02-23 01:22:27
根据SageMaker TF集装箱,您的total_vocab.pkl应该在/opt/ml/model/code中
如果不是,考虑到您的inference.py文件正在运行,我建议向目录列表中添加一些print语句。
发布于 2022-09-16 09:48:46
正如文档中所述,‘如果指定了source_dir,那么entry_point必须指向位于source_dir根目录的文件’。因此,由于model已经将整个document_matcher解压缩在与模型相同的位置,所以可以简单地将entry_point = inference.py放入其中。您的total_vocab.pkl对象将在inference.py代码中可用。
https://stackoverflow.com/questions/71053192
复制相似问题