机器学习工程师 - Udacity AWS GPU 实例

1. 创建 AWS 帐号

访问 aws.amazon.com 并点击“创建 AWS 帐号 (Create an AWS Account)”按钮。

如果你已经拥有 AWS 帐号,则直接登录。

如果你没有 AWS 帐号,请注册一个。

注册时,你需要提供信用卡。但是别担心,暂时系统不会扣除任何费用。

此外,在注册期间,你还需要选择一个支持计划。你可以选择免费的 Basic Support Plan。

完成注册后,等待几分钟就能收到 AWS 帐号确认电子邮件。然后,返回 aws.amazon.com并登录。

 

2. 查看你的上限

在以下网页上查看你的 EC2 Service Limit 报告:https://console.aws.amazon.com/ec2/v2/home?#Limits

查找你的 p2.xlarge 实例类型的”Current Limit“。

注意:并非所有 AWS 地区都支持 GPU 实例。如果你所选的地区不支持 GPU 示例,但是你又想使用 GPU 实例,那么更改你的 AWS 地区。

Amazon Web Services 有一种叫做 Elastic Compute Cloud (EC2) 的服务,该服务使你能够启动虚拟服务器(即“实例”),包括具有 GPU 的实例。本教程需要启动的 GPU 类型叫做“p2.xlarge”。

但是默认情况下,用户可以运行的 p2.xlarge 实例数量是 0,这就导致你无法启动该实例。

 

3. 提交增加上限请求

在 EC2 Service Limits 页面点击“p2.xlarge”旁边的“请求增加上限 (Request limit increase)”。

请求增加上限不需要支付费用。只有在你实际启动实例时才会收费。

在服务请求表格中,需要填写几个字段。

对于“Region”字段,选择离你最近的地区。

对于“New limit value”字段,输入值 1(也可以是更高的值)。

对于“Use Case Description”,可以直接填写“我想将 GPU 实例用于深度学习”

注意:如果你从未在 AWS 上启动过任何类型的实例,那么可能会收到一封 AWS 支持团队发来的电子邮件,要求你通过创建一个实例来初始化你的帐号,然后他们才会批准增加上限请求。

 

4. 等待批准

你必须等待 AWS 批准你的增加上限请求。AWS 通常会在 48 小时内批准这些请求。

 

5. 启动实例

AWS 批准你的增加上限请求后,你就可以开始启动你的实例了。

访问 EC2 管理控制台:https://console.aws.amazon.com/ec2/v2/home

点击“启动实例 (Launch Instance)”按钮。

在启动实例之前,首先必须选择一个 AMI(Amazon 机器映像),它为你的实例定义了操作系统以及任何配置和预安装的软件。

我们已经为你创建了一个 AMI!

点击”Community AMIs”,并搜索“udacity-aind2” AMI。

点击“选择”按钮。

 

6. 选择实例类型

接着,必须选择实例类型,即 AMI 将在其上运行的硬件。

过滤实例列表,仅显示“GPU compute”:

选择 p2.xlarge 实例类型:

最后,点击“查看并启动”按钮:

 

7. 配置安全组

实例现已配置好,可以启动了,但是从 AWS 运行并访问 Jupyter Notebook 需要特殊配置。

大部分配置已经在 udacity-aind2 AMI 上进行设置。但是,在启动实例时,你必须还要正确配置安全组。

默认情况下,AWS 限制访问 EC2 实例上的大多数端口。要访问 Jupyter Notebook,你必须配置 AWS 安全组,以便访问端口 8888。

点击“编辑安全组”。

在”配置安全组”页面上:

  1. 选择 “创建新的安全组"
  2. 将”安全组名称”设为"Jupyter"
  3. 将 “说明”设为"Jupyter"
  4. 点击“添加规则”
  5. 设置”自定义 TCP 规则”再次点击“查看并启动"
    1. 将“端口范围”设为"8888"
    2. 将“来源”设为“任何地方”
  6. 再次点击“查看并启动"
 

8. 启动实例

点击“启动”按钮以启动你的 GPU 实例!

 

9. 在没有密钥对的情况下继续

糟糕,在启动前,AWS 将询问你是否要指定身份验证密钥对。

在这种情况下,AMI 具有预先配置好的用户帐号和密码,因此你可以选择“在没有密钥对的情况下继续”并点击“启动实例”按钮(这次真的启动了!)。

接着,点击“查看实例”按钮,转到 EC2 管理控制台并观看你的实例启动。

 

10. 谨慎操作!

从现在开始,如果你运行 EC2 实例,AWS 将会向你收费。你可以在 EC2 按需定价页面查看详情。

最重要的是,不使用实例时,一定要“停止”(即关闭)实例。否则,你的实例可能在你不记得的情况下运行一天、一周或一个月,结果需要缴纳一大笔费用!

AWS 主要对运行实例收费,所以一旦你停止实例,大部分费用就停止了。但是,还有一小部分存储费用会继续累积,直到你“终止”(即删除)实例。

我们无法对 AWS 设定预算上限,并在达到阈值时让其自动关闭。但是,你可以设置AWS 结算警报

 

11. 登录

启动后,你的实例可能需要几分钟时间才能初始化。

在 EC2 管理控制台上看到“2/2 检查已通过”后,则你的实例可以登录了。

注意 EC2 信息中心上的"IPv4 Public IP”地址(格式为“X.X.X.X”)。

在终端里,以用户“aind2”的身份 SSH 到该地址:

ssh aind2@X.X.X.X

你可能会收到一条消息询问“确定要继续连接吗(是/否)”。输入,并按下 Enter 键。

使用密码 aind2 进行身份验证

 

12. 启动 Jupyter

恭喜你!现在你已经有了可以在上面训练神经网络的 GPU 服务器了。

在 EC2 实例上:

  1. 克隆 aind2-cnn 资源库:git clone https://github.com/udacity/aind2-cnn.git
  2. 进入资源库目录:cd aind2-cnn
  3. 激活新环境:source activate aind2
  4. 启动 Jupyter:jupyter notebook --ip=0.0.0.0 --no-browser
  5. 查看窗口中的输出,并找到类似于以下代码的代码行:
    第一次连接时,将此 URL 复制粘贴到你的浏览器中并使用以下令牌进行登录: 
    http://0.0.0.0:8888/?token=3156e...
    
  6. 将完整 URL复制粘贴到网络浏览器(Firefox、Safari、Chrome 等)的地址栏中。在转到该网址前,将 0.0.0.0 替换为 EC2 信息中心显示的"IPv4 Public IP”地址,按下 Enter 键。
 

13. 运行 Jupyter Notebook

浏览器应该显示一个资源库下的文件夹列表。

你可以通过验证实例是否能运行 Jupyter Notebook,检查一切是否能正常运转。

首先点击 cifar10-classification。

然后点击 cifar10_mlp.ipynb。运行 Notebook 中的所有单元格,确保一切能正常运转。

posted on 2018-11-30 19:59  paulonetwo  阅读(418)  评论(0编辑  收藏  举报

导航