1. 磐创AI首页
  2. Medium

在Django Web应用程序上部署预先培训的模型

大家好,

在这篇博客中,我们将看到如何在Django webapp中部署Mobilenet,这是一个预先训练好的对象检测模型。

我们可以建立ML/DL模型,并用大量的数据对其进行训练,以执行特定的任务,最基本的步骤是将模型部署到生产中,部署时需要将模型附加到Web、移动等实际应用中,现在我们将模型部署到Django Web应用程序中,以便在网页中使用。

django是一个用于创建动态网站的Web框架。在这里,我不打算解释django,也不打算解释如何构建模型,我们只关注部署部分。我们将使用来自互联网的预先训练的模型。我们可以使用移动网络,因为它是一个轻量级的对象检测模型。我们可以将它部署在我们的本地机器上,也可以部署在像Heroku、PythonAnywhere等站点上。我们可以使用移动网络,因为它是一个轻量级的对象检测模型。我们可以在本地机器上部署它,也可以将它部署在HEROKU、Python Anywhere等站点上。

我们要建立的是一个非常简单的网站,在那里我们可以上传一张照片,它运行推理,检测上传的图像中的对象,并将其显示在网页上。

前提条件:

Python、Django、OpenCV。

打开命令提示符,然后键入django-admin startproject

Python manage.py StartApp

django-admin startproject object_detection_in_django

Django为我们提供了一些便于开发的文件结构,因此我们不需要从头开始,我们需要修改或添加settings.py文件中的一些行,以告知从哪里获取模板、在哪里查找主目录等。

将新创建的应用程序添加到已安装的应用程序列表中。指定在模板的目录部分中查找模板的位置。在Django中,默认数据库为sqlitt。我们还可以通过在数据库部分中添加数据库名称、密码等详细信息来修改和使用其他数据库。但现在我们将使用默认数据库,因此不需要执行此操作。在settings.py文件中提供媒体URL和媒体根目录。

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'djangoapp',
]

上面的代码只是默认代码的更改部分,完整的代码在博客的末尾给出。

我们还需要将url映射到视图,以便在创建所需文件后执行此操作。

用于物体检测的主程序

我们有预先训练好的模型和程序来检测给定图像中的对象。为了在Django项目中使用它,我们需要修改程序,使其成为获取图像并执行对象检测的函数,保存输出并返回输出文件名。将Prototxt和Caffmodel文件保存在同一目录中。在下面的程序中更改路径。

models.py

模型是基于我们要保存在数据库中的内容创建的。对于我们的示例,我们需要存储上传的图像、名称和检测到的图像。我们可以创建任意多个字段,但为简单起见,我们使用这三个字段进行限制。我们还创建了一个名为delete的方法来从数据库中删除数据。

forms.py

我们从表单中获取输入,这样我们就可以使用Django表单,字段是name和image,我们使用前面创建的imagmodel。

views.py

视图可以是基于类的视图,也可以是基于函数的视图;在图像视图中,我们提供表单来获取输入和验证表单,并调用对象检测函数并将其存储在数据库中;在图像显示视图中,我们提供模板和模型以在网页中显示。删除图像视图可以从数据库中删除数据。

Image.html

此页面用于显示Django表单并获取名称和图像。

image_display.html

此页用于显示输出。

urls.py

在urls.ppy文件中,将url与视图函数进行映射,以便无论何时请求url,都会执行相应的视图。

在命令提示符下运行以下命令以运行Django项目。

python manage.py makemigrations

要获得完整的代码,请克隆此存储库

git clone https://github.com/RAJAVEL-M/object-detection-in-django-using-mobilenet.git

这种方式是在服务器端部署模型,在生产中部署模型的方式有很多种,也可以部署在客户端、移动应用甚至微控制器中。

请随意评论您的建议。

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/09/24/%e5%9c%a8django-web%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f%e4%b8%8a%e9%83%a8%e7%bd%b2%e9%a2%84%e5%85%88%e5%9f%b9%e8%ae%ad%e7%9a%84%e6%a8%a1%e5%9e%8b-2/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息