基于ZStack构建深度学习云平台
副标题[/!--empirenews.page--]
前言 深度学习是机器学习和人工智能研究的热门分支,也是当今最流行的科学研究趋势之一。深度学习方法为计算机视觉、机器学习带来了革命性的进步,而新的深度学习技术也正在不断诞生。由于深度学习正快速发展,新的研究者很难对这一技术实时跟进。国内各大公有云厂商都提供了相应的深度学习相关产品,但对于初学者并不那么实用。本文将介绍基于产品化云平台——ZStack,来构建对初学者友好、易运维、易使用的深度学习云平台。 由于ZStack的轻量性,我们仅通过一台普通PC机就能部署云平台,进而实现深度学习平台构建。读者可结合本文轻松扩展出规模更大、功能更为完备的深度学习云平台。 1 、ZStack简介ZStack是下一代开源的云计算IaaS(基础架构即服务)软件。它主要面向未来的智能数据中心,通过提灵活完善的APIs来管理包括计算、存储和网络在内的数据中心资源。用户可以利用ZStack快速构建自己的智能云数据中心,也可以在稳定的ZStack之上搭建灵活的云应用场景。 ZStack功能架构 ZStack产品优势: ZStack是基于专有云平台4S(Simple简单,Strong健壮,Scalable弹性,Smart智能)标准设计的下一代云平台IaaS软件。 1. 简单(Simple) • 简单安装部署:提供安装文件网络下载,30分钟完成从裸机到云平台的安装部署。 • 简单搭建云平台:支持云主机的批量(生成,删除等)操作,提供列表展示和滑窗详情。 • 简单实用操作:详细的用户手册,足量的帮助信息,良好的社区,标准的API提供。 • 友好UI交互:设计精良的专业操作界面,精简操作实现强大的功能。 2. 健壮(Strong) • 稳定且高效的系统架构设计:拥有全异步的后台架构,进程内微服务架构,无锁架构,无状态服务架构,一致性哈希环,保证系统架构的高效稳定。目前已实现:单管理节点管理上万台物理主机、数十万台云主机;而多个管理节点构建的集群使用一个数据库、一套消息总线可管理十万台物理主机、数百万台云主机、并发处理数万个API。 • 支撑高并发的API请求:单ZStack管理节点可以轻松处理每秒上万个并发API调用请求。 • 支持HA的严格要求:在网络或节点失效情况下,业务云主机可自动切换到其它健康节点运行;利用管理节点虚拟化实现了单管理节点的高可用,故障时支持管理节点动态迁移。 3. 弹性(Scalable) • 支撑规模无限制:单管理节点可管理从一台到上万台物理主机,数十万台云主机。 • 全API交付:ZStack提供了全套IaaS API,用户可使用这些APIs完成全新跨地域的可用区域搭建、 网络配置变更、以及物理服务器的升级。 • 资源可按需调配:云主机和云存储等重要资源可根据用户需求进行扩缩容。ZStack不仅支持对云主 机的CPU、内存等资源进行在线更改,还可对云主机的网络带宽、磁盘带宽等资源进行动态调整。 4. 智能(Smart) • 自动化运维管理:在ZStack环境里,一切由APIs来管理。ZStack利用Ansible库实现全自动部署和 升级,自动探测和重连,在网络抖动或物理主机重启后能自动回连各节点。其中定时任务支持定时 开关云主机以及定时对云主机快照等轮询操作。 • 在线无缝升级:5分钟一键无缝升级,用户只需升级管控节点。计算节点、存储节点、网络节点在 管控软件启动后自动升级。 • 智能化的UI交互界面:实时的资源计算,避免用户误操作。 • 实时的全局监控:实时掌握整个云平台当前系统资源的消耗情况,通过实时监控,智能化调配,从 而节省IT的软硬件资源。 0x2 构建深度学习平台2.1 组件部署介绍
是一个开放源代码软件库,用于进行高性能数值计算。借助其灵活的架构,用户可以轻松地将计算工作部署到多种平台(CPU、GPU、TPU)和设备(桌面设备、服务器集群、移动设备、边缘设备等)。TensorFlow最初是由 Google Brain 团队中的研究人员和工程师开发的,可为机器学习和深度学习提供强力支持,并且其灵活的数值计算核心广泛应用于许多其他科学领域。
NVIDIA CUDA深层神经网络库(cuDNN)是一种用于深层神经网络的GPU加速库原始图形。cuDNN为标准例程提供了高度调优的实现,,如前向和后向卷积、池化、归一化和激活层。cuDNN是NVIDIA深度学习SDK的一部分。
是一个可视化工具,能够有效地展示Tensorflow在运行过程中的计算图、各种指标随着时间的变化趋势以及训练中使用到的数据信息。
Jupyter是一个交互式的笔记本,可以很方便地创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。一般用与做数据清理和转换,数值模拟,统计建模,机器学习等等。 2.2 云平台环境准备 环境介绍 本次使用如下配置构建深度学习平台: |
8vCPU16G | CentOS7.4 | 192.168.66.6 | GPU-TF |
本次使用一台普通PC机部署ZStack云平台,使用云平台中GPU透传功能将一块NVIDIA QuadroP2000显卡透传给一个CentOS7.4虚拟机,进行平台的构建。
ZStack云平台部署步骤详情参考官方文档:https://www.zstack.io/help/product_manuals/user_guide/3.html#c3
2.2.1 创建云主机
选择“云资源池”点击“云主机”点击“创建云主机按钮”打开云主机创建页面;
创建云主机的步骤:
1、选择添加方式; 平台支持创建单个云主机和创建多个云主机,根据需求进行选择。
2、设置云主机名称;在设置名称时建议以业务系统名称进行命名,方便管理运维。
3、选择计算规格;根据定义的计算规格结合业务需求选择适合的计算规格。
4、选择镜像模板;根据业务需求选择相应的镜像模板。
5、选择三层网络;在新版本中平台三层网络同时支持IPv4和IPv6,请根据自身业务需求进行选择;同时也可以在创建云主机过程中设置网卡属性。
6、确认配置无误后点击“确定”开始创建。
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!