使用 TensorFlow 和 Flask 部署 Keras 图像分类卷积神经网络模型

2023-10-27

通常需要抽象出您的机器学习模型细节,然后将其与易于使用的 API 端点部署或集成。 例如,我们可以提供一个 URL 端点,任何人都可以使用它来发出 POST 请求,他们将获得模型推断的 JSON 响应,而不必担心其技术问题。

在本教程中,我们将创建一个 TensorFlow Serving 服务器,部署我们在 Keras 中构建的 InceptionV3 图像分类卷积神经网络 (CNN)。 然后我们将创建一个简单的 Flask 服务器,它将接受 POST 请求并进行一些图像预处理,这是 Tensorflow 服务服务器所需的,并返回一个 JSON 响应。

TensorFlow 服务

服务是您在训练后应用机器学习模型的方式。

TensorFlow Serving 使将模型投入生产的过程变得更容易、更快。 它允许您安全地部署新模型并运行实验,同时保持相同的服务器架构和 API。 开箱即用,它提供与 TensorFlow 的集成,但它可以扩展为服务其他类型的模型。

安装 TensorFlow 服务

先决条件:请创建一个python虚拟环境并在其中安装带有TensorFlow后端的Keras。

注意:所有命令均已在 Ubuntu 18.04.1 LTS 上的 python 虚拟环境中执行。

现在,在同一个虚拟环境中运行以下命令(使用 sudo 获取 root 权限):

命令行安装

构建目录概述

在开始之前了解目录结构将帮助我们清楚地了解我们在每一步的位置。

导出 Keras 模型

导出模型的脚本

启动 TensorFlow 服务服务器

命令行启动服务器

测试 TensorFlow 服务器

测试脚本

Flask 服务器选择理由

正如我们所见,我们在serving_sample_request.py(前端调用者)中执行了一些图像预处理步骤。以下是在 TensorFlow 服务服务器之上创建 Flask 服务器的原因:

创建 Flask 服务器

创建脚本

自动启停TensorFlow 和 Flask 服务器的脚本

两个服务器测试

处理跨域 HTTP 请求

源代码

详情参阅 - 亚图跨际

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 TensorFlow 和 Flask 部署 Keras 图像分类卷积神经网络模型 的相关文章

随机推荐

  • git 提示http报错

    curl 版本不对 sudo yum update y nss curl libcurl
  • 机器视觉1

    以下无需要参考 gt 直接跳过到官方文件篇 资源 64位 下载地址 资源 下载地址 opencv4 6 https opencv org releases cmake https cmake org download ffmpeglibs
  • 一起学RGBDSLAM系列_问题及解决

    一起学RGBDSLAM系列 问题及解决 http blog csdn net u012062327 本博客主要介绍的是跟人在学习高翔博士 一起学RGBDSLAM系列 中遇到的问题和解决方法 vslam入门系列见高博士blog主页 http
  • Linux的基本使用

    Linux作为一个开源的操作系统 其在服务器上 PC上 嵌入式设备上都是很好的操作系统 而大部分的公司也都在使用Linux操作系统 那么就让我们来一起学习一下Linux系统的基本使用 目录 一 Linux的常用指令 1 ls 2 pwd 3
  • HTML旅游景点网页作业制作——旅游中国11个页面(HTML+CSS+JavaScript)

    学生HTML静态网页基础水平制作 页面排版干净简洁 使用HTML CSS页面布局设计 web大学生网页设计作业源码 这是一个不错的旅游网页制作 画面精明 排版整洁 内容丰富 主题鲜明 非常适合初学者学习使用 这个实例比较全面 有助于同学的学
  • Unity之2D摄像机跟随

    Unity之2D摄像机跟随 在2D游戏制作过程中 摄像机的跟随主角移动是必不可少的 有代码实现 也有插件实现 下面分别讲述两种方法 Unity中提供了专属的摄像机插件进行使用 官方Cinemachine插件 后面有相关组件介绍 首先从uni
  • STUN, TURN, ICE介绍

    转自 https blog csdn net byxdaz article details 52786600 utm source blogxgwz4 STUN STUN协议为终端提供一种方式能够获知自己经过NAT映射后的地址 从而替代位于
  • SpringBoot3集成RocketMq

    标签 RocketMq5 Dashboard 一 简介 RocketMQ因其架构简单 业务功能丰富 具备极强可扩展性等特点被广泛应用 比如金融业务 互联网 大数据 物联网等领域的业务场景 二 环境部署 1 编译打包 1 下载5 0版本源码包
  • tidefinger(指纹识别)

    1 工具介绍 TideFinger 一个开源的指纹识别小工具 使用了传统和现代检测技术相结合的指纹检测方法 让指纹检测更快捷 准确 是由tide安全团队设计而来 下载地址 https github com TideSec TideFinge
  • Debain 系统U盘安装完全图解

    习惯了使用图形界面的操作 总有一股想要切换到文字界面的Linux的冲动 刚好趁家里的老台式机 没什么用了 就打算用来玩下Linux 在一路安装与使用的过程中 碰到了许多的问题 顺便记录下来 以希望可以帮到需要的人 一 准备工作 160 16
  • muduo日志3

    日志滚动 日志滚动条件 1 文件大小 例如每写满1G换下一个文件 2 时间 每天零点新建一个日志文件 不论前一个文件是否写满 一个典型的日志文件名 logfile test 20130411 115604 popo 7743 log Log
  • 第一天学java

    1 java是什么 java是一门面向对象的编程语言 java是一门准动态编程语言 2编写java的过程 编写 编译 运行 编译会产生class 文件 3配置java运行环境 1安装jdk gt gt 我的是 E environment j
  • DOCKER 相关笔记

    Docker 镜像使用的 rootfs 往往由多个 层 layes 组成 而在使用镜像时 Docker 会把这些增量联合挂载在一个统一的挂载点上 等价于前面例子里的 C 目录 这个挂载点为 var lib docker aufs mnt x
  • SpringBoot工作原理

    SpringBoot工作原理 Spring Boot是由Pivotal团队提供的全新框架 其设计目的是用来简化新Spring应用的初始搭建以及开发过程 该框架使用了特定的方式来进行配置 从而使开发人员不再需要定义样板化的配置 通过这种方式
  • (四)JSP语法详细介绍--脚本元素

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 通过scriptlet可以在jsp中嵌入java代码 可以定义全局变量 方法 类 可以定义局部变量 方法 类 输出一个变量或具体内容 等同于 也可以用以下XML语句代替
  • java中枚举类将属性传值前台(枚举类前台接收问题)

    最近做的这个项目中 用到了大量的枚举类 今天来记录一下我遇到的问题 如果能帮到大家就更好了 1 枚举类如何转为json 在一个类的属性中 这个枚举类属性如何直接使用在接收参数和向数据库传递参数时需要自动转化 这里需要用到两个注解 JSONT
  • linux学习笔记(1)--基础介绍

    目录 linux的初步介绍 1 linux的特点 2 初步介绍 2 1谁挺linux 2 2 linux的历史 linux的初步介绍 1 linux的特点 1 免费的 开源 2 支持多线程 多用户 3 安全性好 4 对内存和文件管理优越 5
  • scala学习-scala中:: , +:, :+, :::, +++的区别

    4种操作符的区别和联系 该方法被称为cons 意为构造 向队列的头部追加数据 创造新的列表 用法为 x list 其中x为加入到头部的元素 无论x是列表与否 它都只将成为新生成列表的第一个元素 也就是说新生成的列表长度为list的长度 1
  • Java Stream API

    之前写过函数表达式介绍过stream的创建和一些基本使用方法 但是后来发现除了简单map filter distinct等API方法 实际上这些可以API组合在一起使用 有时候会有特别的思路 比如最近看的一个写法 for int i 0 i
  • 使用 TensorFlow 和 Flask 部署 Keras 图像分类卷积神经网络模型

    通常需要抽象出您的机器学习模型细节 然后将其与易于使用的 API 端点部署或集成 例如 我们可以提供一个 URL 端点 任何人都可以使用它来发出 POST 请求 他们将获得模型推断的 JSON 响应 而不必担心其技术问题 在本教程中 我们将