在前面所有的模型训练和预测中,我们训练好的模型都是直接通过控制台或者 Jupyter Notebook 来进行预测和交互的,在一个系统或者项目中使用这种方式显然不可能,那在 Web 应用中如何使用我们训练好的模型呢?本文将通过以下四个方面对该问题进行讲解:

  1. 微服务架构简介;
  2. 模型的持久化与加载方式;
  3. Flask 和 Bottle 微服务框架;
  4. Tensorflow Serving 模型部署和服务。

微服务架构简介

微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。微服务也指一种松耦合的、有一定的有界上下文的面向服务架构。也就是说,如果每个服务都要同时修改,那么它们就不是微服务,因为它们紧耦合在一起;如果你需要掌握一个服务太多的上下文场景使用条件,那么它就是一个有上下文边界的服务,这个定义来自 DDD 领域驱动设计。

相对于单体架构和 SOA,它的主要特点是组件化、松耦合、自治、去中心化,体现在以下几个方面:

  1. 一组小的服务:服务粒度要小,而每个服务是针对一个单一职责的业务能力的封装,专注做好一件事情;

  2. 独立部署运行和扩展:每个服务能够独立被部署并运行在一个进程内。这种运行和部署方式能够赋予系统灵活的代码组织方式和发布节奏,使得快速交付和应对变化成为可能。

  3. 独立开发和演化:技术选型灵活,不受遗留系统技术约束。合适的业务问题选择合适的技术可以独立演化。服务与服务之间采取与语言无关的 API 进行集成。相对单体架构,微服务架构是更面向业务创新的一种架构模式。

  4. 独立团

第18课:模型部署上线的几种服务发布方式相关推荐

  1. 算法模型部署上线工程实践

    本文出自:https://blog.csdn.net/u012294181/article/details/54564391 本文由携程技术中心投递,ID:ctriptech.作者:潘鹏举,携程酒店研 ...

  2. 【Pytorch基础教程33】算法模型部署(MLFlow/ONNX/tf serving)

    内容概况 服务器上训练好模型后,需要将模型部署到线上,接受请求.完成推理并且返回结果. 保存模型结构和参数最简单的是torch.save保存为checkpoint,但一般用于训练时记录过程,训练中断可 ...

  3. 云计算概述(5个基本特征、4种部署模型、3种服务类型)

    文章目录 一.IT系统组成 二.云计算概述 三.云计算的 5 个基本特征 四.云计算的 4 种部署模型 (一)私有云 (二)社区云 (三)公共云 (四)混合云 五.云计算的3种服务 (一)基础设施即服 ...

  4. ML模型部署-工具箱

    ML模型部署-工具箱 Machine Learning模型部署涉及两大工程部分,服务优化和模型优化.服务优化就是大家熟知的后端开发优化,涉及的指标有吞吐量.响应时间.CPU占用和服务内存占用等.而模型 ...

  5. 从将机器学习模型转化成真正产品和服务中学到的经验教训

    人工智能依然处于它的幼年时期.今天,只有15%的企业在使用机器学习,但是有30%的企业已经在它们未来的发展路线图里包括了机器学习.像Intel的CEO这样的公众人物宣称,每一个企业都应该有一个机器学习 ...

  6. 什么是灰度发布?灰度发布方式 系统的割接 灰度部署典型的框架架构

    什么是灰度发布?http://djt.qq.com/article/view/16   灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.AB  test就是一种灰度发布方式,让一部用户继续用A, ...

  7. 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借助TopSelf、服务类】)

    一. IIS部署 比如在MVC框架中集成了Quartz.Net定时调度,此时该调度系统会随着MVC框架被挂在IIS下,IIS会进程回收,所以大部分开发都会遇到Quartz挂在IIS下一段时间不好用. ...

  8. 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借助TopSelf、服务类】)【转载】...

    第十二节: 总结Quartz.Net几种部署模式(IIS.Exe.服务部署[借助TopSelf.服务类]) 一. IIS部署 比如在MVC框架中集成了Quartz.Net定时调度,此时该调度系统会随着 ...

  9. 蓝绿部署、红黑部署、AB测试、灰度发布、金丝雀发布、滚动发布的概念与区别

    在有关微服务.DevOps.Cloud-native.系统部署等的讨论中,蓝绿部署.A/B 测试.灰度发布.滚动发布.红黑部署等概念经常被提到,它们有什么区别呢?通过搜索相关资料,做一个简单的辨析,如 ...

最新文章

  1. 【干货】百度联合清华大学发布国内首个基于AI实践的《产业智能化白皮书》(附报告全文)...
  2. hibernate之 一级缓存和二级缓存
  3. Android Studio打包~安卓打包踩坑及总结
  4. [CES 2018] 与联想、小蚁合作,谷歌发布VR180系列VR相机
  5. VS 2010 Beta2中WPF与Silverlight的关键区别?
  6. 新病毒仿熊猫烧香 利用 Vista系统漏洞疯狂传播
  7. 字符串截取后两位,字符串转成数组,再转换位字符串
  8. ceph auth get_CPB羽梦幻境体验展来了!快来GET限量产品!
  9. python入门指南txt-BeginnersGuide
  10. fastjson笔记
  11. android换肤的实现方案,Android换肤技术总结
  12. AToken全观:情人节妹子收了520个BTC,成吨狗粮灌到饱
  13. 4070显卡相当于什么水平 4070显卡参数 rtx4070显卡功耗
  14. 奇葩说Cisco router与PC交互(一)
  15. ISP一键下载电路分析+74HC1G66GW(信号图)
  16. java获取google 的简单天气预报
  17. [iOS开发]AFNetworking源码学习
  18. 被妖魔化的奥数,到底该怎么学?
  19. 全集]+华夏***联盟大型免费培训***技术系列教程
  20. 整体大于各部分功能之和

热门文章

  1. 字符串关键字的散列映射 (25 分)【详细解析】
  2. 蓝桥杯 试题 基础练习 龟龟龟龟龟兔赛跑预测——18行代码AC
  3. LVS负载均衡群集(LVS-NAT搭建)
  4. Linux Shell脚本多循环语句练习题
  5. mybaitplus 根据id批量进行修改_批量重命名工具
  6. overflow超出显示_实现:超过N行折叠并显示“...查看全部”【功能】
  7. python 非线性规划_自动驾驶运动规划-Hybird A*算法(续)
  8. python网络编程爬虫_Python爬虫--网络编程
  9. ajax局部刷新_web前端入门到实战:实现html页面自动刷新
  10. iis php 数据库乱码,如何解决php插入数据乱码问题