我正在建立一个网站,该网站依赖于机器学习算法的输出。对于用户界面部分,只需要算法的输出(一组项目的类标签),这可以很容易地从
因此,该网站的这一部分仅依赖于
但是,开发、调整和评估算法使用了许多其他Python软件包,例如
这些依赖关系在部署到
我该如何将机器学习部分与用户界面部分分离,但仍然使它们足够集成,以便轻松使用算法的结果?
我考虑创建两个单独的项目,然后以某种方式写入用户界面数据库,但这似乎会导致维护问题(管理依赖项、数据库模式的更改等)。
据我所知,这个问题与在生产和开发中使用不同的设置或数据库有些不同,因为它更多地涉及管理不同的依赖关系集。
django
模型中存储和检索。该算法可以每天运行一次,不依赖于用户输入。因此,该网站的这一部分仅依赖于
django
和相关软件包。但是,开发、调整和评估算法使用了许多其他Python软件包,例如
scikit-learn
、pandas
、numpy
、matplotlib
等。它还需要保存许多不同的类标签集。这些依赖关系在部署到
heroku
时会导致一些问题,因为numpy
需要LAPACK/BLAS
。在部署应用程序时尽可能少地使用依赖项似乎也是一个好习惯。我该如何将机器学习部分与用户界面部分分离,但仍然使它们足够集成,以便轻松使用算法的结果?
我考虑创建两个单独的项目,然后以某种方式写入用户界面数据库,但这似乎会导致维护问题(管理依赖项、数据库模式的更改等)。
据我所知,这个问题与在生产和开发中使用不同的设置或数据库有些不同,因为它更多地涉及管理不同的依赖关系集。