AI常见部署方式

2023-11-06

1.AI部署简介

  1. 没人告诉你的大规模部署AI高效流程!
对大部分 TensorFlow 模型来说,部署流程是相同的:

 1. 将图像固化为 Protobuf 二进制文件
 2. 调整推断代码,使它可以处理固化的图
 3. 容器化应用程序
 4. 在最上面加上 API 层
本文提出了一个大规模部署 AI 的高效工作流程:

固化图并将推断封装在 API 下
重复使用会话和图,缓存输入和输出
用 Docker 容器化应用程序(包括 API 层)
将大规模应用程序与 Kubernetes 一起部署在你选择的云上
将训练从推断中分离出来
建立任务队列,将较小的任务确立为优先级
使用这些技术,你就可以在成本最小、速度和效率最大的情况下大规模部署 AI。

2.具体部署

  1. 使用ONNX部署深度学习和传统机器学习模型
  2. 自动部署深度神经网络模型TensorFlow(Keras)到生产环境中
  3. 深度学习Tensorflow生产环境部署(上·环境准备篇)
客户端 ----> web服务(flask或者tornado) --grpc或者rest--> tensorflow serving
  1. 深度学习Tensorflow生产环境部署(下·模型部署篇)
  2. Tensorflow 2.x模型-部署与实践
  3. 如何部署tensorflow训练的模型
  4. 将tensorflow模型部署到服务器上
  5. Tensorflow如何进行工业部署?
确定好输入和输出节点,把模型导出成SavedModel格式,
然后用TF-Serving启动服务,
调用方发http请求或者grpc请求就可以拿到预测结果
  1. 使用 Docker 部署 TensorFlow 环境

    在这里插入图片描述

  2. 已经训练好的tensorflow模型如何部署到web上?

可以做成一个http服务,提供一个web接口,模型只在服务器上就可以了.
使用时候客户端通过http请求上传要识别的图片等数据到服务端接口,服务端计算后返回给客户端.
  1. 部署PyTorch模型到终端
  2. 如何将pytorch模型通过docker部署到服务器
在服务端训练出特定的算法模型——再将这个模型部署到服务端或者终端(以后大多数场景下是部署到终端)——需要服务端AI框架到终端AI推理框架的转换工具。

Tensorflowserving:

  1. 模型部署 TensorFlowServing
  2. tensorflow2.0基础(10)——使用tensorflow-serving部署模型
  3. Tensorflow-serving部署模型到服务器
  4. tensorflow serving部署keras或tf2.0模型
  5. docker部署tensorflowserving以及模型替换
  6. Tensorflow-serving+Docker安装+模型部署
  7. 用Docker容器自带的tensorflowserving部署模型对外服务(成功率100%)
  8. TensorFlow Serving + Docker +Tornado机器学习模型生产级快速部署
常用的做法如使用flask、Django、tornado等web框架创建一个服务器app,这个app在启动后就会一直挂在后台,然后等待用户使用客户端POST一个请求上来(例如上传了一张图片的url),app检测到有请求,就会下载这个url的图片,接着调用你的模型,得到推理结果后以json的格式把结果返回给用户。
这个做法对于简单部署来说代码量不多,对于不熟悉web框架的朋友来说随便套用一个模板就能写出来,但是也会有一些明显的缺点:
1. 需要在服务器上重新安装项目所需的所有依赖。
2. 当接收到并发请求的时候,服务器可能要后台启动多个进程进行推理,造成资源紧缺。
3. 不同的模型需要启动不同的服务。
而为了解决第一个问题,Docker是最好的方案。

在这里插入图片描述

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

AI常见部署方式 的相关文章

随机推荐

  • no model named “compat“ ,Tensorflow 版本问题

    查看我的版本 Module tf compat TensorFlow Core v2 6 0Compatibility functions https tensorflow google cn versions r2 6 api docs
  • ChatGPT写文章教程_如何使用ChatGPT写文章

    如何用ChatGPT写出高质量文章 ChatGPT是一种基于人工智能技术的自然语言处理工具 它可以生成高质量的文章 但是如何利用它来写出优秀的文章呢 本文将为你介绍如何使用ChatGPT来写出高质量的文章 一 什么是ChatGPT Chat
  • MySQL数据库——DML基本操作

    文章目录 前言 插入数据 全列插入 指定列插入 修改数据 删除数据 前言 前面我们学习了MySQL DDL操作 对数据库和表的结构的操作 那么今天我将为大家分享MySQL DML操作 对表数据的操作 MySQL DML操作有以下几种 插入操
  • linux下的定时任务

    linux环境下 我们有两种常用的方式实现定时的任务 等待一段时间后执行某任务 一次性 该类型的需求直接通过sleep方法即可完成 1小时候执行ls任务 并将输出重定向至ls log sleep 1h ls gt gt ls log 每日定
  • 对话Sam Altman与Greg Brockman:初心和过去,信念和现在,责任和未来

    导读 近日 硅谷著名投资人Reid Hoffman和Aria Finger联手对Sam Altman和Greg Brockman进行了一场访谈 访谈涉及到主题有 OpenAI的使命 人工智能对教育 医疗等行业的变革性影响 人工智能如何面对监
  • 涂鸦TuyaOS SDK 网关例程-wifi配网

    涂鸦TuyaOS SDK 网关例程 wifi配网 使能WIFI配网预编译宏定义 net tools相关文件路径 配网步骤 如果一直都没配网成功 看下面 总结 使能WIFI配网预编译宏定义 例程默认没开WiFi的demo使能 代码预编译开启使
  • 大学计算机python怎样一个星期速成?

    一 Python基础知识 黑马程序员Python入门教程 适合零基础自学的Python教程 1 学习内容 计算机组成原理 计算机组成部分 操作系统分类 B S和C S架构 理解什么是软件和硬件 Python编程规范 字符串 字典 列表 元组
  • linux网络配通

    Linux网络配置 vim etc sysconfig network scripts ifcfg ens33 ONBOOT yes DNS 8 8 8 8 IPADDR 192 168 118 90 NETMASK 255 255 255
  • 最新版本EMGU使用说明 V4.2

    最新版本EMGU使用说明 V4 2 项目打开nuget搜索 Emgu CV Emgu CV runtime windows 下载安装 说明 netstandard 2 0环境版本 Emgu CV runtime windows 为windo
  • layui的框架导入

    目录 1 导入步骤 2 框架包含的组件 1 导入步骤 1 1 下载框架包 http www layui com 1 2 将layui文件夹拷入项目位置 1 3 页面中导入 layui all js layui css 和 jquery 即可
  • docker启动Nacos docker run requires at least 1 argument.

    nacos启动命令 docker run d e PREFER HOST MODE ip e MODE standalone e SPRING DATASOURCE PLATFORM mysql e MYSQL SERVICE HOST 4
  • glide的基本使用及进阶使用

    glide生命周期管理 内存管理 缓存机制 加载器 观察者模式 前言 本系列博文主要通过借鉴其他优秀博文以及自己的实际开发经验综合得出 主要分析glide相关使用 机制以及设计模式等内容 相信这篇博文会让你对glide有更加深入的理解 本篇
  • 如何手动优化xp系统

    1 删除系统备份的文件 直接在 开始 菜单的 运行 对话框中 输入sfc exe purgecache就可以了 2 删除系统中的帮助文件 如果你没有看帮助的习惯 况且在有时候误操作的时候 常把帮助对话框调出来 就删除了吧 免得浪费空间 找到
  • python项目快速生产依赖库列表

    安装pipreqs库 pip install pipreqs 在项目工程根目标执行以下命令 生成requirements txt pipreqs encoding utf8
  • Debian 8.2 安装docker

    一 安装docker io包之前 需要先设置使用backports源 编辑 etc apt sources list文件 加入下面这一句 deb http http debian net debian jessie backports ma
  • Python进阶-函数、模块和包

    使用如下方法 可以使函数接受不定数目的参数 def add x args total x for arg in args total arg return total 这样定义的函数不能使用关键词传入参数 要使用关键词 可以这样 def a
  • 【Dongle】【数据结构】Linklist L、Linklist *L、Node *p 和Node p

    最近在做数据结构导论试题的时候无意中发现答案中有用到这些东西的Linklist L Linklist L Node p 和Node p 不过不清楚都具体指什么 故而从网上查找了一番 先定义一个单链表结构体 typedef struct no
  • 01-linux下Postgresql的安装

    1 看官网 https www postgresql org download 2 选择系统 这里选择Red Hat family Linux including CentOS Fedora Scientific Oracle varian
  • 量子计算机编程_对量子计算机进行编程

    量子计算机编程 Quantum computing is one of the most rapidly advancing technologies Many companies and research labs are racing
  • AI常见部署方式

    文章目录 1 AI部署简介 2 具体部署 1 AI部署简介 没人告诉你的大规模部署AI高效流程 对大部分 TensorFlow 模型来说 部署流程是相同的 1 将图像固化为 Protobuf 二进制文件 2 调整推断代码 使它可以处理固化的