如何在网站内使用 python 中的 CNN 代码?

How to use a CNN code in python inside a website?

我的网站在 Python (Django) 中有后端,JavaScript 托管在 heroku 上。此外,我在 python 中有使用 EfficientNet 进行图像分类的代码,因此我想将此代码集成到我的网站中。

思路逻辑顺序如下:

  1. 用户在网站上上传了一张图片;

  2. 此图像将使用 Python 代码进行分类;

  3. 算法会return一张图片;

  4. return编辑的图片应该发布在网站上。

有谁知道最好的方法是什么?

首先,是的,如果可以实现您提到的内容,我将实现以下内容:

使用celery实现异步任务,当上传照片时,Django 告诉 celery 它必须执行异步任务(在这种情况下,使用 CNN)并且可以为照片,一旦任务完成,它会更改状态并显示在平台上。

我建议为此使用异步任务,原因如下:

卷积神经网络的使用需要一定的时间,我们记住HTTP请求的默认最大响应时间是30秒,它可以切断请求,用户会认为这是一个错误并且他还可以抱怨,因为上传照片必须等待一段时间,出于用户目的,他们会认为网站速度很慢。异步任务的实现允许首先在 HTTP 请求中向用户指示正在分析图像,其次您没有 30 秒的限制来分析,以防同时上传许多图像它可能会崩溃服务器。这就是为什么使用 celery 你甚至可以实现队列来解决这个问题(使用 redis or rabbitMQ)。

如果你想实现实时了解图像的状态,你可以添加一个websocket, where when uploading the image in the response you get a URL that is the one of the websocket where you would receive information about the image once processed. You can use django-channels的使用