0

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

 2 years ago
source link: https://panchuang.net/2021/09/23/%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/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

fendouai • 2021年9月23日 am5:04 • Medium

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

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

Django是一个用于创建动态网站的Web框架。这里我不会解释Django,也不会解释如何构建模型,我们只关注部署部分。我们将使用互联网上预先训练的模型。我们可以使用Mobilenet,因为它是一个轻量级的对象检测模型。我们可以将其部署在本地机器上,也可以部署在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/23/%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/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK