摘要: 利用Jupyter开发TensorFLow也是许多数据科学家的首选,但是如何能够快速从零搭建一套这样的环境,并且配置GPU的使用,同时支持最新的TensorFLow版本, 对于数据科学家来说既是复杂的,同时也是浪费精力的。
简介
TensorFLow是深度学习和机器学习最流行的开源框架,它最初是由Google研究团队开发的并致力于解决深度神经网络的机器学习研究,从2015年开源到现在得到了广泛的应用。特别是Tensorboard这一利器,对于数据科学家有效的工作也是非常有效的利器。
Jupyter notebook是强大的数据分析工具,它能够帮助快速开发并且实现机器学习代码的共享,是数据科学团队用来做数据实验和组内合作的利器,也是机器学习初学者入门这一个领域的好起点。
利用Jupyter开发TensorFLow也是许多数据科学家的首选,但是如何能够快速从零搭建一套这样的环境,并且配置GPU的使用,同时支持最新的TensorFLow版本, 对于数据科学家来说既是复杂的,同时也是浪费精力的。在阿里云的Kubernetes集群上,您可以通过简单的按钮提交创建一套完整的TensorFlow实验环境,包括Jupyter Notebook开发模型,利用Tensorboard调整模型。
准备Kubernetes环境
阿里云容器服务Kubernetes 1.9.3目前已经上线,但是购买按量付费的GPU计算型服务器需要申请ECS工单开通。具体创建过程,可以参考创建Kubernetes集群。
体验通过应用目录部署TensorFlow实验室
通过Helm部署MPI的应用,本文以openmpi为例,向您展示如何快速在容器服务上运行MPI应用。实际上如果需要换成其他MPI实现只需要替换镜像即可。
2.1 可以通过应用目录
,点击ack-tensorflow-dev
2.2 点击参数
, 就可以通过修改参数配置点击部署
这里的密码是tensorflow, 您也可以改成您自己设定的密码
也可以登录到Kubernetes master运行以下命令
$ helm install --name tensorflow incubator/ack-tensorflow
2.3 运行结束后可以登录到控制台,查看tensorflow应用启动的状态
登录使用TensorFlow实验环境
- 首先通过ssh登录Kubernetes集群,查看tensorflow应用列表
$ helm list
NAME REVISION UPDATED STATUS CHART NAMESPACE
tensorflow 1 Thu Apr 12 07:54:59 2018 DEPLOYED ack-tensorflow-dev-0.1.0 default
2. 利用helm status
检查应用配置
$ helm status tensorflow
LAST DEPLOYED: Thu Apr 12 07:54:59 2018
NAMESPACE: default
STATUS: DEPLOYED
RESOURCES:
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
tensorflow-ack-tensorflow-dev LoadBalancer 172.19.2.39 10.0.0.1 6006:32483/TCP,80:32431/TCP 13m
==> v1beta2/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
tensorflow-ack-tensorflow-dev 1 1 1 1 13m
NOTES:
1. Get the application URL by running these commands:
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w tensorflow-ack-tensorflow-dev'
export SERVICE_IP=$(kubectl get svc --namespace default tensorflow-ack-tensorflow-dev -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:
这里可以看到外部SLB的ip是
10.0.0.1
, Jupyter Notebook的端口为80, Tensorboard为6006。
3. 通过Jupyter访问端点登录,本示例中Jupyter的访问地址是http://10.0.0.1, 输入前面设定的密码点击登录, 在本示例中我们设定的是tensorflow
4. 点击Terminal按钮
5. 在Terminal内执行nvidia-smi
, 可以看到GPU的配置
6. 通过git命令下载tensorflow样例代码,
$ git clone https://code.aliyun.com/kubernetes/Tensorflow-Examples.git
7. 回到主页您就能看到Tensorflow-Examples已经下载到了您的工作目录
8. 进入到 http://10.0.0.1/notebooks/Tensorflow-Examples/notebooks/4_Utils/tensorboard_basic.ipynb
, 运行程序
注意:如果您需要用Tensorboard观测训练效果请将日志记录到
/output/training_logs
下。
9. 以下为训练结果输出
10. 这时您可以登录Tensorboard查看训练效果, 本示例中Tensorboard的地址为http://10.0.0.1:6006
。 这里您可以看到模型的定义和训练的收敛趋势。
总结
我们可以利用阿里云Kubernetes容器服务,轻松的搭建在云端搭建TensorFlow的环境,运行深度学习的实验室,并且利用TensorBoard追踪训练效果。欢迎大家使用阿里云上的GPU容器服务,在使用GPU高效计算的能力同时,比较简单和快速的开始模型开发工作。
相关推荐
阿里云专有云企业版容器服务Kubernetes版产品简介旨在为用户提供专业的容器服务解决方案,该产品基于Kubernetes技术,提供高性能可伸缩的容器管理服务,支持企业级Kubernetes容器化应用的生命周期管理。 法律声明 ...
该指南的重要性体现在它能够帮助用户快速上手阿里云容器服务Kubernetes版,并且提供了详细的操作步骤和注意事项,能够帮助用户避免常见的错误和问题。 该指南的主要内容包括: 1. 组件及作用:介绍容器服务...
阿里云专有云企业版容器服务Kubernetes版用户指南是阿里云提供的一份详细的用户指南,旨在帮助用户快速上手阿里云容器服务Kubernetes版。该指南涵盖了容器服务的基本概念、规划和准备、快速入门、Kubernetes集群管理...
阿里云专有云企业版V3.9.0的容器服务Kubernetes版运维指南主要针对的是使用阿里云Kubernetes服务的企业用户,旨在提供详细的管理和维护指导。Kubernetes(简称K8s)是一种流行的容器编排系统,用于自动化容器化应用...
### 阿里云容器服务ACK产品介绍 ...综上所述,阿里云容器服务ACK通过提供全面的技术支持和丰富的功能特性,能够满足不同规模企业的容器化需求,并帮助企业实现更加高效、稳定的云原生应用部署与管理。
本文概述了基于阿里云容器服务的云原生实践,强调了Kubernetes在云原生时代作为基础设施的重要性。从支持无状态应用到承载企业核心应用及数据智能应用,Kubernetes的应用范围日益广泛。据Gartner预测,至2023年,70%...
阿里云专有云企业版 V3.12.0 容器服务Kubernetes版技术白皮书 20200617 概述: 阿里云专有云企业版 V3.12.0 容器服务Kubernetes版技术白皮书旨在为用户提供了一个详细的技术指南,以帮助用户快速了解和使用阿里云...
深入浅出kubernetes 一次搞懂6个核心原理吃透基础理论 一次学会6个典型问题的华丽操作
阿里云在现有技术的基础上尽最大努力提供相应的介绍及操作指引,但阿里云在此明确声明对本文档内容的准确性、完整性、适用性、可靠性等不作任何明示或暗示的保证。 5. 阿里云文档中所有内容,包括但不限于图片、...
阿里云容器服务API是针对阿里云上容器服务的接口文档,它允许用户通过编程的方式对容器服务进行管理和操作。此API主要包括集群管理、应用管理和触发器三大部分。 1. **集群管理**: - `GetClusterList`:用于查看...
阿里云容器服务Kubernetes版部署与运维教程.docx
阿里云专有云企业版V3.8.2的容器服务Kubernetes版用户指南主要针对的是使用阿里云Kubernetes服务的企业用户。Kubernetes,通常简称为K8s,是一种流行的开源容器编排系统,用于自动化容器化应用的部署、扩展和管理。...
重磅,史上最全的阿里云分享的云原生技术学习资料合集,共120份。 一、阿里云开源书合集 2020微服务领域开源数字化报告 阿里巴巴云原生技术与实践13讲 阿里巴巴云原生实践15讲 不一样的双11技术:阿里巴巴经济体云...
总的来说,阿里云专有云企业版V3.8.2的容器服务Kubernetes版开发指南是开发者和运维人员在阿里云上构建、部署和管理Kubernetes集群的重要参考资料,它提供了详尽的操作指导和安全建议,帮助用户充分利用Kubernetes的...
《阿里云专有云企业版 V3.9.0 容器服务Kubernetes版 用户指南》是针对阿里云Kubernetes服务的一份详细文档,旨在帮助用户理解和使用这一服务。此文档适用于V3.9.0版本,日期为20191017。以下是对其中关键知识点的...
阿里云专有云企业版V3.8.2的容器服务Kubernetes版是一款针对企业级用户的高级容器管理服务,它基于Kubernetes,为企业提供了一站式的容器化应用生命周期管理解决方案。这款产品旨在简化云环境中Kubernetes集群的部署...
阿里云容器服务解决方案还提供了多种创新业务解决方案,包括Kubernetes创新业务、DevOps创新业务、Serverless创新业务等。这些解决方案能够帮助企业快速构建和部署应用,提高企业的研发效率和业务敏捷性。 此外,...
该服务简化集群的搭建和扩容等运维工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的Kubernetes容器化应用运行环境。 容器服务的优势包括: 1. 使用便捷:通过 Web 界面一键创建 Kubernetes 集群,...