利用docker部署深度学习模型的一个最佳实践
最近团队的模型部署上线终于全面开始用上docker了,这感觉,真香!
讲道理,docker是天然的微服务,确实是能敏捷高效的解决深度学习这一块的几个痛点。
部分神经网络框架比如caffe依赖过重,安装困难。各种网络模型未做工程化优化,部署困难。
tensorflow等框架对GPU等硬件的占用难以灵活控制。
对于做应用来说,这些问题诸如对GPU的硬件的管理,对复杂依赖的部署,而这些正好就是docker的强项。而python本身表达能力强,可以以很短的代码量达成我们的目的。
部署
具体的部署步骤涉及这几个工具链:
Dockerfile进行模型的镜像部署。docker-py进行container的启动和关闭。
grpc和进行模型的外部通信。
python的with语句表达模型的加载和资源的释放。
gitlab进行内网的代码分发和版本控制。
整个接口的调用精简
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
在Play with Kubernetes平台上以测试驱动的方式部署Istio
Kubernetes and Istio 翻译一篇 Istio 部署教程,原文链接:test-drive-your-first-istio-deployment-using-play-with-kubernetes-platform-cloud-computing 作为一名全栈开发,假如最近花了不少时间开发应用,肯定已经理解了微服务架构下要面临的一系列全新挑战。尽管应用已经从庞大的单体应用转变成了开发更快、弹性更好、更小也更聚焦的微服务,但现实是,开发者需要开始操心将这些服务集成到分布式系统中的问题了,包括服务发现、负载均衡、注册、容错、监控、路由、兼容和安全等。 让我们更详细的拆解微服务架构下开发和运维面临的挑战吧。先来看看第一代简单的 Service Mesh 场景,如下图所示,服务 A 要和 服务 B 通信,没有采用直接通信的方式,请求是通过 NGINX 路由的。NGINX 从 Consul(服务发现工具)查找路由,并在收到 HTTP 502 响应时,自动重试。 图 1.0 - 一代 Service Mesh 图 1.1 - 服务增多时,级联失败演示 但随着微服务架构的到来,服务...
- 下一篇
【精品分享】OpenStack Cinder mutliattach技术探秘
OpenStack 作为开放的 Infrastracture as a Service云操作系统,支持业界各种优秀的技术,这些技术可能是开源免费的,也可能是商业收费的。 这种开放的架构使得 OpenStack 保持技术上的先进性,具有很强的竞争力,同时又不会造成厂商锁定(Lock-in)。 那 OpenStack 的这种开放性体现在哪里呢?一个重要的方面就是采用基于 Driver 的框架。 Cinder组件,存储节点支持多种 volume provider,包括 LVM, NFS, Ceph, GlusterFS,以及EMC, IBM等商业存储系统。cinder-volume为这些volume provider定义了统一的driver接口,volume provider只需要实现这些接口,就可以driver的形式即插即用到 OpenStack 中。 目前,Cinder只允许将卷连接到单个主机或实例。但是有时用户可能希望能够将相同的卷附加到多个实例。在多年的上游社区的努力后,终于在Queens版本发布了这个期待已久的功能。 案例需求 能够使同一块卷提供给不同的用户使用,卷本身可以是rea...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果