机器学习模型的多语言调用与容器化实践
1. 模型版本与MLOps相关问题
在机器学习中,若将 CountVectorizer 替换为 HashingVectorizer ,情感得分会略有不同,部分原因是省略了 min_df 参数。另外,使用不同版本的Scikit保存和加载模型会有问题,一般来说,用一个版本的Scikit保存的模型,不能用另一个版本的Scikit加载。有时会出现警告信息,有时则完全无法加载。所以,保存和使用模型时要确保使用相同版本的Scikit。这从工程角度需要一些规划,若将序列化模型存储在集中式仓库中,并更新应用程序中使用的Scikit版本,就需要同时更新保存的模型。
这也引出了一些有趣的问题:
- 如何为机器学习模型设置仓库?
- 如何将模型从仓库部署到运行它们的设备上?
- 如何对模型及其训练数据集进行版本控制?
这些问题的答案来自新兴领域MLOps(ML operations),不过这里不详细介绍MLOps,若想了解更多,可阅读相关资料。
2. 从C#客户端调用Python模型
假设要从用另一种语言(如C#)编写的应用程序中调用之前的情感分析模型。不能直接从C#调用Python函数,但可以将Python模型包装在Web服务中,并使用REST API公开其 predict 或 predict_proba 方法。
以下是使用Flask实现Python Web服务的步骤:
1. 确保计算机上安装了Flask。
超级会员免费看
订阅专栏 解锁全文
1906

被折叠的 条评论
为什么被折叠?



