首页 文章

Django中的机器学习(tensorflow / sklearn)?

提问于
浏览
16

我有一个django表单,它收集用户响应 . 我也有张量流句分类模型 . 将这两者结合在一起的最佳/标准方法是什么?细节:

对来自烂番茄的电影评论数据培训了

  • 张量流模型 .

  • 每次在我的响应模型中创建一个新行时,我希望张量流代码对其进行分类(或 - ) .

  • 基本上我有一个django项目目录和两个.py文件用于分类 . 在继续自己之前,我想知道将机器学习算法实现到Web应用程序的标准方法是什么 .

如果您可以建议教程或回购,那就太棒了 . 谢谢 !

2 回答

  • 21

    异步处理

    如果您 don't need the classification result from the ML code to pass immediately to the user (例如,作为对提交的相同POST请求的响应),则您始终可以将分类作业排队以在后台运行,或者甚至是具有更多CPU /内存资源的其他服务器(例如,使用django-background-tasksCelery

    例如,排队的任务将填充该字段为空白(尚未分类)的数据库行上的字段 UserResponse.class_name (正面,负面)

    实时通知

    如果ML代码很慢且 want to return that result to the user 一旦可用,您就可以使用上述异步方法,并与实时通知配对(例如socket.io到浏览器(this can be triggered from the queued task))

    如果ML执行时间太长以至于可能在下面描述的同步方法中超时HTTP请求,则这变得必要 .

    同步处理,如果ML代码不是CPU密集型(足够快)

    如果您需要立即返回分类结果,并且ML分类为 **fast enough *** ,则可以在HTTP请求 - 响应周期内执行此操作(POST请求在ML代码完成后同步返回)

    *这里足够快意味着它不会超时HTTP请求/响应,并且用户不会失去耐心 .

  • 8

    好吧,我必须自己开发相同的解决方案 . 就我而言,我使用了Theano . 如果您使用的是tensorflow或theano,则可以保存已构建的模型 . 首先,使用训练数据集训练模型,然后使用您选择的库保存模型 . 您需要在django Web应用程序中仅部署处理预测的代码部分 . 因此,使用简单的POST,您可以足够快地向用户提供您的句子的预测类 . 此外,如果您认为需要,您可以定期运行作业,使用新的输入模式再次训练您的模型并再次保存 .

相关问题