本文以搭建TensorFlow深度学习框架为例介绍如何在GPU实例上部署NGC环境。
前提条件
背景信息
NGC(NVIDIA GPU CLOUD)是NVIDIA开发的一套深度学习生态系统,可以使开发者免费访问深度学习软件堆栈,建立适合深度学习的开发环境。
目前NGC在阿里云gn5实例作了全面部署,并且在镜像市场提供了针对NVIDIA Pascal GPU优化的NGC容器镜像。通过部署镜像市场的NGC容器镜像,开发者能简单快速地部署NGC容器环境,即时访问优化后的深度学习框架,极大程度缩减产品开发以及业务部署的时间,实现开发环境的预安装;同时支持调优后的算法框架,并且保持持续更新。
NGC网站提供了目前主流深度学习框架不同版本的镜像(例如Caffe、Caffe2、CNTK、MxNet、TensorFlow、Theano、Torch),您可以选择需要的镜像部署环境。
支持部署NGC环境的实例规格族包括:
- gn4、gn5、gn5i、gn6v、gn6i、gn6e、gn7i、gn7e、gn7s
- ebmgn5i、ebmgn6i、ebmgn6v、ebmgn6e、ebmgn7i、ebmgn7e
下面以gn5实例为例,为您演示创建GPU实例和部署NGC环境的步骤。
操作步骤
- 创建一台gn5实例。具体操作,请参见使用向导创建实例。在配置参数时,您需要注意以下几点:
- 地域:只能选择华北1(青岛)、华北2(北京)、华北5(呼和浩特)、华东1(杭州)、华东2(上海)、华南1(深圳)、中国(香港)、新加坡、澳大利亚(悉尼)、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)。
- 实例:选择gn5实例规格。
- 镜像:单击镜像市场,在弹出的对话框中,找到NVIDIA GPU Cloud VM Image,然后单击使用。
- 公网带宽:选择分配公网IP地址。 说明 如果这里没有分配公网IP地址,则在实例创建成功后,需要绑定EIP地址。
- 安全组:选择一个安全组。安全组里必须开放TCP 22端口。如果您的实例需要支持HTTPS或DIGITS 6服务,必须开放TCP 443(用于HTTPS)或TCP 5000(用于DIGITS 6)端口。
ECS实例创建成功后,请登录ECS管理控制台,记录实例的公网IP地址。
- 连接ECS实例。根据创建实例时选择的登录凭证选择以下任一方式连接ECS实例:
- 按界面提示输入NGC官网获取的NGC APIKey后按回车键,即可登录NGC容器环境。
- 运行
nvidia-smi
命令。您能查看当前GPU的信息,包括GPU型号、驱动版本等,如下图所示。 - 搭建TensorFlow深度学习框架。
- 执行以下命令,简单测试TensorFlow。
python
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() sess.run(hello)
如果TensorFlow正确加载了GPU设备,返回结果如下图所示。 - 保存TensorFlow镜像的修改。否则,下次登录时配置会丢失。