保存、存储和共享机器学习模型的最佳实践是什么?
在 Python 中,我们通常使用 pickle 或 joblib 存储模型的二进制表示。在我的情况下,模型可以是 ~100Mo 大。compress=1
此外,除非您设置(https://stackoverflow.com/questions/33497314/sklearn-dumping-model-using-joblib-dumps-multiple-files-which-one-is-the-,否则 joblib 可以将一个模型保存到多个文件中正确)。
但是,如果您想控制对模型的访问权限,并且能够使用来自不同机器的模型,那么存储它们的最佳方式是什么?
我有几个选择:
- 将它们存储为文件,然后使用 Git LFS 将它们放入存储库中
- 将它们作为二进制文件存储在 SQL 数据库中:
- 例如在 Postgresql https://wiki.postgresql.org/wiki/BinaryFilesInDB
- 这也是 SQL Server 团队推荐的方法:
- https://docs.microsoft.com/en-us/sql/advanced-analytics/tutorials/walkthrough-build-and-save-the-model
- https://microsoft.github.io/sql-ml-tutorials/python/rentalprediction/step/3.html
- https://blogs.technet.microsoft.com/dataplatforminsider/2016/10/17/sql-server-as-a-machine-learning-model-management-system
- 高密度文件系统