欢迎来到GCP !

本指南解释了如何设置谷歌云平台(GCP)来使用PyTorch 1.0.0和fastai 1.0.2。在本教程的最后,您将能够在支持gpu的Jupyter笔记本环境中使用这两种方法。

如果您正在返回工作岗位,并且之前已经完成了以下步骤,请到回到工作岗位部分。

定价

GCP对基础CPU平台单独收费,和GPU。我们推荐两种配置,标准,和预算。请注意,所有价格都假设您正在使用抢占式实例(详情见下文)。

标准计算

我们建议的基本平台称为n1-highmem-8,每小时收费0.12美元。附加一个P4 GPU的成本是每小时0.26美元,所以两者加起来等于0.38美元每小时

预算计算

如果你的预算紧张,你可能想要一个更便宜的设置。在这种情况下,我们建议一个n1-highmem-4实例($0.09每小时)与K80 GPU($0.14每小时),总共有0.23美元每小时

根据我们的基准,K80比P4慢84%,所以这个设置会让你的训练时间增加一倍。如果你觉得可以的话,在创建实例时,必须遵循budget命令。

存储

在这两种情况下,通过获取建议的200GB标准磁盘存储大小(较少的存储会影响体验),会有一个每月额外收费9.60美元

你会在多大程度上使用这门课程

考虑到本课程要求,超过2个月,80小时的家庭作业加上每节课2小时的作业,我们粗略地计算了你在这门课上每一个设置的花费。

  • 标准计算+存储: (80+2*7)*$0.38 + $9.6*2 =54.92美元
  • 预算计算+存储: (80+2*7)*$0.23 + $9.6*2 =40.82美元

即使你在课程上花的时间是我们建议的最短时间的两倍,你的开支将等于90.64美元小于GCP给你的学分的1/3。因此,我们建议使用标准计算选项。

步骤1:创建您的帐户

云计算允许用户以小时为单位访问虚拟CPU或GPU资源,取决于硬件配置。查找更多信息谷歌云平台文档。如果你还没有GCP账户,你可以创建一个在这里,这款手机可以免费获得价值300美元的使用积分。

潜在的障碍:尽管GCP提供300美元的初始信贷,您必须启用计费使用它。您可以输入信用卡或银行帐户,但后者需要几天才能激活。

您将要运行映像的项目需要与您的账单帐户链接。为此导航到计费指示板,点击“...“菜单与选择”改变计费帐户”。

步骤2:安装谷歌CLI

要创建然后能够连接到您的实例,您需要从谷歌安装谷歌Cloud的命令行接口(CLI)软件。对于Windows用户,我们建议您使用Ubuntu的终端并遵循与Ubuntu用户相同的说明(参见链接了解如何粘贴到终端)。

在Linux或Windows (Ubuntu终端)上安装,遵循以下四个步骤:

为正确的分发创建环境变量
出口CLOUD_SDK_REPO=“cloud-sdk -$(lsb_release- c - s)

添加云SDK发行版URI作为包源
回声 ”黛比http://packages.cloud.google.com/aptCLOUD_SDK_REPO美元主要的“|sudo三通——一个/etc/apt/sources.list.d / google-cloud-sdk.list#导入谷歌云平台公钥curl https://packages.cloud.google.com/apt/doc/apt-key.gpg |sudoapt-key添加,更新包列表并安装云SDK
sudoapt-get更新& & sudoapt-get安装google-cloud-sdk

您可以找到关于安装过程的更多细节在这里

要在MacOS上安装谷歌CLI,在终端运行中

curl https://sdk.cloud.google.com | bashexec -l $SHELL

在这两种情况下,安装完成后,运行这行代码

gcloud init

然后会提示您如下信息:

继续,你必须登录。你想登录(Y/n)吗?

键入Y,然后复制链接并粘贴到浏览器中。选择你在第一步使用的谷歌账户,点击“允许”,你会得到一个确认码,复制并粘贴到你的终端。

然后,如果你有多个项目,你会被提示选择一个:

选择要使用的云项目:[1][my-project-1] [2] [my-project-2]…请输入您的数字选择:

只需在步骤1中创建的项目旁边输入数字。

最后,你会被问到是否想放一个默认区域,如果您没有任何特别的偏好,请选择us-west1-b,因为它将使连接到此服务器的命令更容易。

一旦完成,您应该在您的终端上看到这条消息:

gCloud现已配置!您可以使用[GCloud config]更改更多的GCloud设置。您的活动配置为:【默认值】

步骤3:创建一个实例

要创建我们推荐的实例,只需在终端中复制并粘贴以下命令。可以将$INSTANCE_NAME更改为实例的任何名称。

如果您选择预算计算选项,请用“budget:”注释(例如:将“n1- highmem1 -8”替换为“n1- highmem4”)。

出口IMAGE_FAMILY=“pytorch-latest-gpu” 对于非gpu实例,则为“py火炬-最新-cpu”
出口=“us-west2-b” #预算:“us-west1-b”
出口INSTANCE_NAME=“my-fastai-instance”
出口INSTANCE_TYPE=“n1-highmem-8” #预算:“n1-highmem-4”

#预算:“type = nvidia-tesla-k80数= 1”创建gcloud计算实例INSTANCE_NAME美元 \
        ——区=美元区 \
        ——image-family=IMAGE_FAMILY美元 \
        ——形象工程=deeplearning-platform-release\
        ——维护策略=终止\
        ——加速器=“type = nvidia-tesla-p4,数= 1” \
        ——机械化的=INSTANCE_TYPE美元 \
        ——boot-disk-size=200 gb\
        ——元数据=“install-nvidia-driver = True” \
        ——抢占式

您将不得不等待一段时间,直到看到创建实例的通知。你可以在网上看到在那里(注意,这将是您稍后停止实例时必须访问的页面)。

当名称左边的小图标变为绿色时,实例就准备好了。

您还可以从命令行中读取关于实例创建的详细信息manbetx官网手机登录在这里

一旦完成,你可以从终端连接到你的实例,输入:

gcloud计算ssh——区=美元区jupyter@INSTANCE_NAME美元 -- - l8080:localhost: 8080

在你能够连接之前,谷歌云可能要求您创建SSH密钥。只需按照提示(密码是可选的,如果您不打算将此密钥用于任何过于安全的情况)。

如果一切顺利,现在应该已经连接到GCP实例了!使用它,简单地去localhost:8080 /树你会发现自己处在一个笔记本电脑的环境中。注意,这只在您在终端中维护ssh连接时有效。

抢占式实例:

请注意,我们正在运行一个抢占实例(请注意命令中的' -preemptible '参数)。一个抢占式GCP实例比传统的便宜,但它有两个主要缺点:

  1. 由于高需求,它可以在任何时间提前(停止)30秒通知。
  2. 它总是在连续运行24小时后停止。

如果实例被停止,您保存的数据将保持安全,但如果您正在运行模型,这一进程将会丧失。

这些特性使得抢占实例对于初学者来说是一个不错的选择,因为你不会运行非常深入的模型,需要几天的运行。但是,如果你确实需要长时间不间断地运行模型,您总是可以调用相同的命令,但是跳过' -preemptible '参数。考虑到这将增加你的成本约1.29美元每小时。manbetx官网手机登录

Step 4: Access manbetx登陆fast.ai materials and update packages

现在,您的命令行应该会显示如下提示jupyter@my-fastai-instance:

您应该确保配置了Github并从存储库中提取。你可以输入以下几行:

cd教程/fastai/课程-v3git结帐

你也应该更新fastai库:

sudo/ opt / anaconda3 / bin / conda安装- cfastai fastai

下一个从你的jupyter笔记本,点击“教程”,你应该看看这个

nb tuto

现在回到第一页来看看如何使用这个jupyter笔记本和运行jupyter笔记本教程。完成后再回来不要忘记停止实例下一步。

步骤5:停止一个实例

如果你不停车,就要被罚款实例,而它是“空闲”的。不是训练一个网络)。要停止一个实例的谷歌云的在线界面去在这里,单击实例右侧的“…”图标,选择“Stop”或单击屏幕顶部的Stop按钮。

gcp-stop-instance

看看如何再打开它,更新课程或fastai库,去返回工作页面

参考文献


非常感谢Marcel Ackermann,安东尼奥达ToicenViacheslav Kovalevskyi,旧金山的英感谢杰夫·黑尔对这本指南的贡献。