Ubuntu搭建YOLO+Flask跨服务器AI识别接口 – 幽络源技术导航 | 全栈开发教程

Ubuntu搭建YOLO+Flask跨服务器AI识别接口 – 幽络源技术导航 | 全栈开发教程

本文背景

A服务器作为一个项目的主服务器,B服务器作为一个AI图像识别的服务器,且所有图片都是存储于A服务器的,现在需要A服务器携带图片地址调用B服务器接口,然后B服务器从A服务器根据A服务器携带的地址去获取图片,然后对图片进行识别,并将识别后的信息响应给A服务器,且B服务器最终将获取到的图片删除。

概述

本节教程讲述在Ubuntu系统上搭建挂载一个基于Yolo项目的Flask接口教程,最终达到本文背景所说的目的。

步骤1:准备相关文件

如图

best.pt是我的一个识别模型

DetectUtil.py是识别图片的工具文件

RemoteUtil.py是B服务器远程链接到A服务器获取图片的工具文件

5ea399aa-2a07-4907-804d-41d4a7bf5777

Main.py是主要的Flask接口程序,内容为如下图,可以看到这里去另一个服务器获取了图片,并利用best.pt模型进行了识别,最终返回了识别后的信息

586bfa89-2918-4e2c-ade1-94d37f87064f

步骤2:将项目放置于Yolo项目中

如图,我在ultralytics中建立了一个名为mydetect的空目录,将要用到的文件放了进去,check.py是一个检查环境的文件,这里用不到

c55f67ef-a983-4128-8ee1-94438317ddb6

步骤3:下载相关库

在Main.py、DetectUtil.py、RemoteUtil.py中,所需下载库有如下

pip3.9 install cffi
pip3.9 install flask
pip3.9 install flask_cors
pip3.9 install paramiko
pip3.9 install scp

在项目虚拟环境中下载上述所有库即可

步骤4:挂载启动Flask文件

注意,幽络源这里提到的是挂载启动,而不仅仅是启动,正常我们在终端中利用python3.9 Main.py启动项目后,若终端关闭后,项目也就随之关闭了,而挂载启动则不会随终端关闭而关闭。

在虚拟环境中来到mydetect目录,执行如下命令即可将flask接口进行挂载启动

nohup python3.9 Main.py &

如图

56893d2b-c9a3-4166-9abc-cb88979b1de2

此时,我们可以通过如下命令查看挂载日志

cat nohup

如图,显示一切正常

image

步骤5:停止服务

步骤4中我们学会了挂载Flask服务,并查看其挂载启动日志,那么当我们需要停止呢?

首先可以通过如下命令来查看服务是否存在

ps -ef | grep "python3.9 Main.py"

2c443d2a-bd12-47fc-bd58-c5e8de7255a0

然后通过如下命令关闭服务

pkill -f "python3.9 Main.py"

如下图,可以看到服务关闭了

image

结语

以上是幽络源的在Ubuntu系统上搭建挂载一个基于Yolo项目的Flask接口教程,如有疑问或感兴趣的伙伴可加入我们的官方Q群307531422交流询问。

THE END
喜欢就支持一下吧
分享