【问题标题】:How to separate development and production requirements.txt for Machine Learning Project?如何分离机器学习项目的开发和生产需求.txt?
【发布时间】:2021-10-11 12:49:21
【问题描述】:

我正在寻找更好的 AI/ML 项目代码结构。我知道cookiecutter 在那里,我真的很喜欢它。

问题是:我希望将 Jupyter Notebook 添加到项目结构中,如 cookiecutter。但是当我想部署模型并且我pip install requirements.txt 时,所有的包(包括 Jupyter Notebook 要求)都将被安装。我不喜欢它。

是否有任何项目结构,其中包括笔记本,但单独的 requirements.txt 用于分析和部署?

创建两个文件夹是否是个好主意:一个用于在 notebook 上进行分析,带有 requirements.txt,另一个用于模型部署,带有自己的 requirements.txt?

【问题讨论】:

    标签: python machine-learning jupyter-notebook data-science mlops


    【解决方案1】:

    我想到的最佳解决方案是Poetry。 它会像 python 包一样自动创建文件夹结构。

    文件夹结构

    Poerty 在项目初始化时创建一个 project.toml 文件。这可以作为生产的requirement.txt文件。您可以使用命令行或编辑文件在此文件中分别添加生产和开发包。

    Project.toml

    它还为项目创建了单独的环境,有助于最大限度地减少与其他项目的冲突。

    【讨论】:

    • 嗨,Max,感谢您的想法。我忘记了一些包管理器可以做到这一点!例如 pipenv 和像你这样的诗歌。
    • 乐于助人:D
    猜你喜欢
    • 2015-10-23
    • 1970-01-01
    • 2017-12-02
    • 2018-06-10
    • 2018-12-07
    • 2013-04-29
    • 2020-05-06
    • 2018-04-28
    • 2022-07-29
    相关资源
    最近更新 更多