欢迎来到GCP!

本指南介绍了如何设置Google云平台(GCP)以使用Pytorch 1.0.0和Fastai 1.0.2。在本教程结束时,您将能够在支持GPU的Jupyter笔记本环境中使用。

如果您正在返回工作并先前已完成下面的步骤,请转到 回到工作 section.

价钱

GCP.为基础CPU平台分开收费,以及GPU。我们有两个推荐的配置, 标准, 和 预算。请注意,所有价格都假设您正在使用 抢先的实例 (见下文有详细信息)。

标准计算

The base platform we suggest is called n1-highmem-8, 和 costs $0.10 per hour. Attaching a P100 GPU costs $0.43 per hour so both together amount to 每小时0.53美元.

预算计算

If you have a tight budget you might want to go with a cheaper setup. In this case, we suggest a n1-highmem-4 instance ($0.05 per hour) with the same T4 GPU ($0.11 per hour), for a total of 每小时0.16美元.

贮存

在这两种情况下,通过获取建议的200GB标准磁盘存储大小(储存篮板较少),会有一个 每月8美元的额外费用。快速SSD仓库中的相同大小每月花费34美元。

你会用多少课程

考虑到课程需要超过2个月,80小时的作业加上每节课的2小时,我们大致计算了每个设置的课程中的花费多少钱。

  • 标准计算 + 贮存:(80 + 2 * 7)* $ 0.22 + $ 8 * 2 = $49.82
  • 预算计算 + 贮存:(80 + 2 * 7)* $ 0.165 + $ 8 * 2 = $31.51

即使您要在我们建议的时间两次上班,您的支出将相当于 $99.64 少于1/3的学分GCP给你。因此,我们建议使用标准计算选项。

第1步:创建帐户

云计算允许用户在每小时访问虚拟CPU或GPU资源,具体取决于硬件配置。查找更多信息 谷歌云平台文档。如果您还没有GCP帐户,则可以创建一个 这里,这是免费使用价值300美元的使用费用。

潜在的障碍:尽管GCP提供了300美元的初始信用,但您必须启用 结算 用它。您可以放置​​信用卡或银行账户,但后者将需要几天的激活。

您将要运行图像的项目需要与您的结算帐户相关联。为此导航到 结算仪表板, 点击 ''菜单并选择'更改结算帐户'。

第2步:安装Google CLI

要创建然后能够连接到您的实例,您需要从Google安装Google Cloud的命令行界面(CLI)软件。对于Windows用户,我们建议您使用 Ubuntu终端 并按照与Ubuntu用户相同的说明(参见参考学习如何粘贴到您的终端的链接)。

要在Linux或Windows上安装(在Ubuntu终端中),请按以下四步:

# Create environment variable for correct distribution
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"

# Add the Cloud SDK distribution URI as a package source
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

# Import the Google Cloud Platform public key
curl //packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

# Update the package list and install the Cloud SDK
sudo apt-get update && sudo apt-get install google-cloud-sdk

您可以在安装过程中找到更多详细信息 这里

在码头上安装Google CLI,在终端运行中

curl //sdk.cloud.google.com | bash
exec -l $SHELL

在这两种情况下,一旦安装完成,运行此行

gcloud init

然后应该提示您使用此消息:

To continue, you must log in. Would you like to log in (Y/n)?

y y y然后复制链接并将其粘贴到浏览器中。选择在步骤1期间使用的Google帐户,单击“允许”,您将获得一个确认码来复制和粘贴到您的终端。

然后,如果您有多个项目(如果已在您的GCP帐户上创建),则会提示您选择一个:

Pick cloud project to use:
 [1] [my-project-1]
 [2] [my-project-2]
 ...
 Please enter your numeric choice:

只需在步骤1中输入您创建的项目旁边的数字。如果您刚刚创建帐户,则可能为其项目ID具有生成的随机名称。如果选择“创建新项目”的选择,则会提醒您也必须运行“GCloud项目创建My-Project-3”。

为了设置默认区域,您需要启用Compute Engine API,CLI将输出您可以按照执行此操作的链接。

如果您已启用Compute Engine API,则会询问您是否要选择默认区域,请选择Us-West1-B如果您没有任何特定的首选项,则它将使命令连接到此服务器更轻松。

您可以稍后修改此内容 gcloud config set compute/zone NAME

完成此操作后,您应该在终端上查看此消息:

Your Google Cloud SDK is configured and ready to use!

* Commands that require authentication will use [email protected] by default
* Commands will reference project `my-project-1` by default
Run `gcloud help config` to learn how to change individual settings

This gcloud configuration is called [default].

第3步:创建一个实例

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

如果选择“预算计算”选项,请替换“预算”的行上参数的值(例如,通过“N1-HighMem-4”替换“N1-HighMem-8”)。

export IMAGE_FAMILY="pytorch-latest-gpu" # or "pytorch-latest-cpu" for non-GPU instances
export ZONE="us-central1-f"
export INSTANCE_NAME="my-fastai-instance"
export INSTANCE_TYPE="n1-highmem-8" # budget: "n1-highmem-4"

# budget: 'type=nvidia-tesla-t4,count=1'
gcloud compute instances create $INSTANCE_NAME \
        --zone=$ZONE \
        --image-family=$IMAGE_FAMILY \
        --image-project=deeplearning-platform-release \
        --maintenance-policy=TERMINATE \
        --accelerator="type=nvidia-tesla-p100,count=1" \
        --machine-type=$INSTANCE_TYPE \
        --boot-disk-size=200GB \
        --metadata="install-nvidia-driver=True" \
        --preemptible

如果你收到错误说:

ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.

您需要调整GPU配额。

  1. 谷歌云配额页面.
  2. 如果您注册了免费层帐户,您首先需要升级到付费账户;通过单击页面右上角的“升级帐户”按钮来执行此操作。这不会影响您300美元的信用。
  3. 在“限制名称”下拉列表中,选择“GPU(所有区域)”,并在“位置”下选择“全局”(或“所有位置”)。
  4. 单击“编辑配额”,然后选择要编辑的配额(GPU所有区域)。将新配额限制设置为1或更多。 您的请求可能需要确认,谷歌声称通常需要两个工作日。

在您看到文本通知您的情况下,您必须等一下。您可以在线查看实例 这里 在实例列表中(请注意,这将是您必须稍后的页面停止实例)。

当其名称左侧的小图标变为绿色时,您的实例将准备好。

您还可以从命令行阅读有关实例创建的更多详细信息 这里.

完成此操作后,您可以通过键入终端从终端连接到您的实例:

gcloud compute ssh --zone=$ZONE [email protected]$INSTANCE_NAME -- -L 8080:localhost:8080

在您能够连接之前,Google Cloud可能会要求您创建一个SSH密钥。只需按照提示(密码短语是可选的,如果您不会使用此键,以获取任何过于安全的任何键)。

如果一切顺利,您现在应该连接到您的GCP实例!要使用它,只需去 localhost:8080 /树 而且你会发现自己在jupyter笔记本环境中。请注意,在您在终端中维护SSH连接时,否则仅适用。 笔记: GCP.还安装一个名为“jupyterlab”的系统,仍处于测试版中,不支持课程中的所有内容;因此,您需要使用“jupyter笔记本”,这是上面的链接将带您到。

抢先的实例:

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

  1. 由于需求量很高,随时可以抢占(停止)30秒通知。
  2. 在连续运行24小时后,它将永远停止。

如果您的实例已停止,则保存的数据将保持安全,但如果您正在运行模型,则进度将丢失。

这些特性使抢先的实例为初学者提供了一个很好的选择,因为您不会运行非常深的模型,需要数天运行。但是,如果您确实需要在长时间中断的情况下运行模型,可以始终调用相同的命令,但跳过“-preemptible”参数。考虑到这将使您的成本增加到每小时约1.29美元。

第4步:访问FAST.AI材料和更新包

现在你的命令行应该沿线显示提示 [email protected]:

您应该确保配置GitHub并从存储库中拉动。您可以通过键入以下行来执行此操作:

cd tutorials/fastai/course-v3
git checkout .
git pull

您还应该更新FastAi库:

conda install -c fastai fastai

接下来,来自你的 jupyter笔记本:点击“教程”,“FastAi”,'Courst-V3',您应该看到这样的东西:

NB TUTO.

现在回去了 第一页 看如何使用这个jupyter笔记本并运行jupyter笔记本教程。一旦你完成,就回来了 不要忘记停止你的实例 with the next step.

步骤5:停止实例

如果你不停止,你将被收费 实例是它'空闲'(例如,不培训网络)。停止谷歌云的在线界面的实例 这里,单击实例右侧的“...”图标,然后选择“停止”或单击屏幕顶部的“停止”按钮。

GCP.-Stop-instance

要查看如何再次打开它,请更新课程或FastAi库,转到 返回工作页.

参考


许多感谢Marcel Ackermann,Antonio Rueda Toicen,Viacheslav Kovalevskyi,Francisco Ingham和Jeff Hale为本指南的贡献。