使用Flask部署图像分类器

目录

  • 什么是API?
  • 什么是Flask框架?
  • 为什么使用Flask
  • 编码
    • 如何创建一个简单的Flask API?
    • 问题陈述(Flask API与图像分类器
  • 结果
  • 结论

什么是API?

API是应用程序编程接口的缩写,它作为中介层,允许两个应用程序进行通信。通过API,公司可以向个人、其他公司、商业伙伴等开放他们的应用程序数据和功能,用于创建更多功能或进行数据分析等不同目的。API允许任何有权限的人使用数据,使服务和应用程序能够相互通信。一个现实世界的例子是服务员,他从那里接收订单并将其交给厨师准备食物,然后这个服务员再把食物带给。在这里,服务员就是API,是客户端,而厨师是进行所有处理的网络服务器。

什么是Flask框架?

Flask是一个第三方Python库,用于创建网络应用程序。它由Armin Ronacher开发。框架是一系列帮助网络开发者编写和部署应用程序的库或模块,而不需要处理线程管理、数据库处理等底层细节。Flask是一个微型框架,因为它不要求特定的工具或库,它没有表单验证、数据库抽象层或其他组件。Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。

WSGI是什么?

WSGI是Web Server Gateway Interface的缩写。WSGI是一组命令,有助于促进网络服务器和网络应用程序之间的通信。因此,WSGI的主要目的是将请求从网络服务器转发到后端,即Flask框架,并将Flask的响应返回给网络服务器。它有助于提高可扩展性,并在速度方面促进灵活性和效率。

Jinja2是什么?

Jinja2是一种模板系统,有助于将静态HTML模板与后端的动态数据结合起来。它允许在HTML中使用Python数据。例如:

Hello {{ username }} !

认为代码在做什么?从后端发送了一个动态的username变量,这取决于用户。这种模板风格是Jinja。Jinja不仅可以包含变量,甚至可以在Python中使用if-else语句、for循环等,只需稍作语法变化。大多数.html文件都存放在模板文件夹中。

为什么使用Flask

使用Flask的一个重要优势是它的简单性和灵活性。它不强制遵循创建API时的某些僵化结构。它允许轻松进行单元测试,并且Flask有自己的调试器。使用Flask的另一个重要优势是它在其他Python框架中的速度。许多大公司如Netflix、Airbnb、Reddit、Uber都在使用Flask。

编码

安装Flask

pip install flask

如何创建一个简单的Flask API?

from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): # 在这里进行更改 return 'Hello World' if __name__ == '__main__': # app.run(host, port, debug, options) app.run(host="127.0.0.1", port=5000)

代码完成。在app.py相同的位置打开命令提示符。在CMD上:

set flask_app=app.py flask run

上述代码将在127.0.0.1:5000上给出如下结果。

问题陈述

在本节中,将讨论添加到Flask中的图像分类器的代码。先决条件:了解CNN,可以阅读第一部分。CNN的库。可以在以下链接找到本节的完整代码:

安装以下所有模块:

flask==1.1.1 h5py==2.10.0 numpy==1.17.0 Pillow==6.1.0 tensorflow==2.3.1 OR pip3 install -r requirements.txt

app.py文件将被分解并详细解释每个部分。

结果

  • Linkedin:
  • Github:
  • Kaggle:
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485