3

我目前正在构建管道并尝试查看是否可以在 AI 平台的预测服务中部署 ML 模型,然后通过预测服务提供的 HTTP 请求在其他项目中使用它。

然而,正在使用的模型是使用 scikit-learn 库构建的,该库的版本比预测运行时版本 1.15 提供的版本更高(这是 google 支持的用于 scikit-learn 预测的当前版本)。此运行时版本仅支持 scikit-learn 版本 0.20.4,而我的模型需要 0.23.1。据我所知,自定义预测例程中的其他所有内容都按预期工作,但加载模型 () 时收到的错误仅在 scikit-learn 版本比模型需要的版本旧时才会遇到。

因此,我需要一种方法来强制预测例程通过 pip install 或其他等效程序使用特定版本的 scikit-learn - 过去我已经通过 setup.py 文件中的自定义安装在 Google Dataflow 中完成了此操作,但还没有在 AI 平台自定义预测例程中成功实现这一目标。我认为可以做到吗?

非工作“setup.py”

from setuptools import setup
from setuptools import find_packages

REQUIRED_PACKAGES = ['scikit-learn>=0.23.1',
                 'mlxtend>=0.17.2']

setup(
    name='my_custom_code',
    version='0.1',
    install_requires=REQUIRED_PACKAGES,
    packages=find_packages(),
    include_package_data=True,
    scripts=['predictor.py']
)
4

2 回答 2

2

所以事实证明谷歌目前不支持这种能力。AI Platform Prediction Custom Containers Alpha 在此阶段有一个封闭的 alpha - 但目前我已经使用 Dataflow 和 setup.py 文件使用自定义 pip 安装命令实现了相同的结果。

于 2020-09-07T14:32:38.523 回答
1

这是一个有点猜测的想法,因为我以前没有遇到过这个问题,但如果它有效,请告诉我:你能指定一个--package_uris包含scikit-learn你想要的版本的附加包 uri via 吗?

您可以通过以下方式获取所需 scikit-learn 版本的压缩包:

pip download scikit-learn==0.23.1 --no-binary=:all:

无耻插件:你应该看看我的平台。它支持直接 scikit-learn 模型 -> HTTP 端点部署,并且更易于使用 :) 给我发一封电子邮件,contact@modelzoo.dev我可以将你列入我的 beta 列表。

于 2020-07-15T23:21:48.230 回答