aje*_*eck 5 python django heroku
我正在构建一个依赖于机器学习算法输出的站点.站点的面向用户的部分所需要的只是算法的输出(一组项的类标签),可以从django模型中轻松存储和检索.该算法可以每天运行一次,并且不依赖于用户输入.
所以这部分网站只依赖于django相关的包.
但是,开发,调试和评估的算法使用许多其他Python包,例如scikit-learn,pandas,numpy,matplotlib,等,还需要挽救了许多套不同类的标签.
这些依赖项在部署时会导致一些问题heroku,因为numpy需要LAPACK/BLAS.在部署的应用程序中拥有尽可能少的依赖项似乎也是一种好习惯.
如何将机器学习部分与面向用户的部分分开,但是,是否仍然将它们集成到足以使算法的结果易于使用?
我想创建两个单独的项目,然后以某种方式写入面向用户的数据库,但这似乎会导致维护问题(管理依赖项,数据库模式的更改等).
据我所知,这个问题与使用不同的设置或数据库进行生产和开发有点不同,因为它更多的是关于管理不同的依赖集.
如果人们有同样的问题,请将我们讨论的内容移至答案,我的建议是:
花一些时间定义您的站点和算法代码的依赖关系。
将依赖项列表转储到requirements.txt每个项目中。
将它们部署在不同的环境中,这样就不会发生冲突。
使用Django Rest Framework或Tastypie在站点端开发一些 API 端点,并让您的算法代码使用 API 更新您的模型。用于cron定期运行您的算法代码并推送数据。
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |