配置GPU驱动及运行环境
GPU实例创建完毕后,需要配置GPU驱动和运行环境,教程以搭建TensorFlow深度学习框架为例,使用实例为gn5实例:
前提条件
在开始搭建TensorFlow环境之前,您必须先完成以下工作:
注册阿里云账号,并完成实名认证。具体步骤,请参见注册阿里云账号和实名认证 。
登录NGC网站,注册NGC账号。
登录NGC网站,获取NGC API key并保存到本地。登录NGC容器环境时需要验证您的NGC API Key。
背景信息
NGC(NVIDIA GPU CLOUD)是NVIDIA开发的一套深度学习生态系统,可以使开发者免费访问深度学习软件堆栈,建立适合深度学习的开发环境。
目前NGC在阿里云gn5实例作了全面部署,并且在镜像市场提供了针对NVIDIA Pascal GPU优化的NGC容器镜像。通过部署镜像市场的NGC容器镜像,开发者能简单快速地搭建NGC容器环境,即时访问优化后的深度学习框架,大大缩减产品开发以及业务部署的时间,实现开发环境的预安装;同时支持调优后的算法框架,并且保持持续更新。
NGC网站提供了目前主流深度学习框架不同版本的镜像(例如Caffe、Caffe2、CNTK、MxNet、TensorFlow、Theano、Torch),您可以选择需要的镜像搭建环境。
gn5优惠活动详情请参见异构计算GPU实例活动页。
操作步骤
创建一台gn5实例。具体操作,请参见创建ECS实例。
在配置参数时,您需要注意以下几点:
地域:只能选择华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华东1(杭州)、华东2(上海)、华南1(深圳)。
实例:选择gn5实例规格。
镜像:单击镜像市场,在弹出对话框里,找到NVIDIA GPU Cloud VM Image后,单击使用
公网带宽:选择分配公网IP地址。
说明 如果这里没有分配公网IP地址,则在实例创建成功后,需要绑定EIP地址。
安全组:选择一个安全组。安全组里必须开放 TCP 22 端口。如果您的实例需要支持HTTPS 或 DIGIT 6 服务,必须开放TCP 443(用于HTTPS)或TCP 5000(用于DIGITS 6)端口。
ECS实例创建成功后,请登录ECS管理控制台,记录实例的公网IP地址。
连接ECS实例。
根据创建实例时选择的登录凭证选择以下任一方式连接ECS实例:
使用密码验证连接ECS实例
使用SSH密钥对验证连接ECS实例
按界面提示输入NGC官网获取的NGC API Key后按回车键,即可登录NGC容器环境。
运行nvidia-smi命令。
您能查看当前GPU的信息,包括GPU型号、驱动版本等,如下图所示。
按以下步骤搭建TensorFlow环境。
登录NGC网站,在TensorFlow镜像页面,获取docker pull命令。
下载TensorFlow镜像。
docker pull nvcr.io/nvidia/tensorflow:18.03-py3
查看下载的镜像。
docker image ls
运行容器,完成TensorFlow开发环境的部署。
nvidia-docker run --rm -it nvcr.io/nvidia/tensorflow:18.03-py3
选择以下任一种方式测试TensorFlow。
简单测试TensorFlow。
$python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> sess.run(hello)
如果TensorFlow正确加载了GPU设备,返回结果如下图所示。
下载TensorFlow模型并测试TensorFlow。
git clone https://github.com/tensorflow/models.git
cd models/tutorials/image/alexnet
python alexnet_benchmark.py --batch_size 128 --num_batches 100
运行状态如下图所示。
保存TensorFlow镜像的修改。否则,下次登录时配置会丢失。