使用ChainerRL和Azure Notebooks,在Minecraft中进行深度强化学习实践
这篇文章是在@keisuke-umezawa先生的以下文章基础上撰写的。
https://qiita.com/keisuke-umezawa/items/fcf5d00474e244217a5e
我的世界
大家好,大家都熟悉Minecraft。我之前不知道,原来Minecraft也被简称为“マイクラ”呢。作为官方的宣传视频,也有类似以下的内容。
请用中文重新表达以下内容(仅需一种翻译):
https://t.co/gITUej4Tmb— Keisuke Umezawa (Chainer Evangelist) (@kmechann) 2018年12月12日
此外,在Minecraft Japan Wiki上也有如下所述。
Minecraft是个由Notch(本名:Markus Persson)于2009年5月10日开始开发的沙盒建造游戏。这个世界充满了复古像素风格的方块,玩家可以自由地创造建筑和其他东西。你可以探索未开发的土地,探险洞穴,与怪物战斗,培养植物,得到新的方块并进行布置,创造出各种各样的东西。你的创造力决定了你可以建造从小房子到像素画、地下基地以及巨大城堡的一切。
在多人模式中,你可以与其他玩家合作建造巨大建筑物,也可以进行玩家对战(PvP)。
正如这个描述中所提到的,有几个关键词是与当前强化学习相适应的。
-
建物やその他のものを自由に作ることできる
色々なゲームができる
マルチプレイできる
我认为正是因为Minecraft具有这些特性,才激发了在Minecraft中进行强化学习的动机。
马洛项目
在这个实践中,我们将使用Minecraft作为一个模拟环境来进行深度强化学习。目前,有一个深度强化学习比赛使用了基于Minecraft的环境,叫做MARLO。这次我们将使用名为marLo的OpenAI’s Gym兼容的Minecraft环境来参加这个比赛。由于兼容OpenAI’s Gym接口,因此可以轻松地使用强化学习框架,如ChainerRL(虽然并不完全,比如不能使用用于保存视频的wrapper)。
在marLo中,提供了以下环境,例如,您可以使用深度强化学习创建一个能够在熔岩上行走的AI。本次将以MarLo-FindTheGoal-v0进行说明,然后请大家挑战新的任务。

实践内容
此教程是根据”https://qiita.com/keisuke-umezawa/items/fcf5d00474e244217a5e”创建的。
要求
截至至2018年12月14日,需要以下内容:
-
Python 3.5+ environment with
Chainer v5.0.0
CuPy v5.0.0
ChainerRL v0.4.0
marlo v0.0.1.dev23
在Azure中进行环境设置
※ 若要使用GPU,请具备Azure的按需计费订阅。如果只使用CPU,也可在Azure免费试用版上构建。
※ 还有关于在其他环境下构建的文章可供参考。
使用Azure Cloud Shell创建虚拟机
1. 访问 https://portal.azure.com/#home
Microsoft のアカウントを持っていない場合は作成してください
今までにAzureを使ったことが無い方は、こちらから無料アカウントをサインアップしてください。
请确认右上方,并确保已进入要使用的目录。
如果您是个人账户创建的话,在默认目录下没有问题。
请点击以下,启动Cloud Shell。
请点击Bash(如果您以前使用过Cloud Shell,则可以跳过此步骤)。
如果尚未完成Azure注册,则会显示如下画面。请点击“创建Azure订阅”,进行免费试用版注册。
此外,如果没有存储空间,将显示如下内容。如果您拥有免费试用版订阅,请选择免费试用版并点击创建存储空间。
5. 打开Cloudshell的控制台。请点击□按钮,将控制台界面放大。
6. 创建资源组(如果已经存在则跳过)
如果您已经创建了资源组并打算使用它,那么您可以跳过本部分。
可以创建资源组来整理本次使用的资源(如VM和网络)。
按以下方式创建名为“malmo”的资源组(如果要使用其他名称,请将“malmo”替换为您自己设置的名称)。
az group create -g malmo -l eastus
当成功时,将显示如下内容。
7. 生成密码
请按照以下方式输入,生成密码。
echo user name: ${USER}
VM_PW=`openssl rand -base64 12`
echo VM password: ${VM_PW}
请将用户名和密码记录在某个地方。
创建虚拟机
请使用Cloud Shell以以下方法在CPU实例上创建。
一旦启动实例,将会产生费用。如果不再需要,请停止它。
通常每月大约是4000日元左右(参考:价格)。
顺便提一下,Cloud Shell的存储以及虚拟机的存储即使在未启动时也会产生少许费用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_B2s
※ 不需要的是启动了CPU实例的人。
※ 不需要启动CPU实例的人。
※ 对于启动了CPU实例的人不是必要的。
※ 对于已经启动了CPU实例的人没有必要。
请在 Cloud Shell 上执行以下命令以创建 GPU 实例。
请注意,使用GPU实例的Standard_NC6型号,如果持续运行一个月将会耗费超过7万日元(参考价)。此外,免费试用版无法使用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_NC6
成功时会显示如下内容。请将以下的publicIpAddress记录下来。
如果使用上述的IP地址和最初创建的密码,即可通过SSH进行连接。
为了简化后续的操作,在本实践中我们将使用Azure笔记本(详见下文)。
如果在这里出现错误,可能性如下。
VMの名前(–name ${USER}-VM)及び、DNS name (–public-ip-address-dns-name ${USER})が既に使われている(同じリソースグループ内で、ユーザー名が重複している)
–name ${USER}-VMと–public-ip-address-dns-name ${USER}の部分を、–name ${USER}-VM2及び、–public-ip-address-dns-name ${USER}2 等として、重複を回避してください。
Standard_NC6 が使えないサブスクリプションを使っている(無料試用版では使えません)
打开端口
请在Cloud Shell中运行以下命令,以便连接到Azure Notebooks并连接到名为noVNC的Web服务器以显示屏幕。这将打开三个端口:8000、8001和6080。
az vm open-port --resource-group malmo --name ${USER}-VM --port 8000 --priority 1010
az vm open-port --resource-group malmo --name ${USER}-VM --port 8001 --priority 1020
az vm open-port --resource-group malmo --name ${USER}-VM --port 6080 --priority 1030
连接Azure Notebooks
1. 克隆笔记本
请打开以下页面,并点击Clone按钮。
2. 直接计算的设置
为了连接之前创建的虚拟机,我们需要进行直接计算的设置。
请点击左上角的▽,然后点击“直接计算”,以显示设置界面。
请在这里输入刚刚记下的IP地址、用户名和密码。
请输入一个任意的名称,并点击验证。(端口无法更改。)
在这种情况下,可能会发生以下错误。在这种情况下,请点击几次验证按钮。
请按下“运行”按钮后,如果一切顺利,将显示如下内容。
3. 打开笔记本电脑
请点击marlo.ipynb,它将以如下方式显示。
然后,会显示如下的屏幕。
笔记本的执行
上面打开的界面是一个名为Jupyter Notebook的系统。
每一个方格被称为“单元格”,可以通过SHIFT + ENTER进行执行。
我们尝试执行最上面的单元格。
左边的 [ ] 部分会变成 [*]。这表示正在执行中。
当变为 [1] 时,输出将会显示,这表示执行已完成。
请从现在开始,阅读有关Notebook的说明。
请不要忘记在完成作业后停止或删除虚拟机。
停止、重启、删除虚拟机。
请务必在不需要时停止虚拟机。之后可以在同一台虚拟机上重新启动。
如果不停止,会产生费用。
停止、删除等操作有两种方法:使用Cloud Shell或使用门户网站。
使用云端 Shell
虚拟机的停止
请在不需要时务必停止虚拟机。稍后可以在同一虚拟机上重新启动。
如果不停止,将产生费用。
azure vm deallocate --resource-group malmo --name ${USER}-vm
暂停的虚拟机恢复运行
以以下方式,可以重新启动虚拟机。请注意,IP地址会发生更改。
azure vm start --resource-group malmo --name ${USER}-vm
可以按照以下方式检查IP
az vm list-ip-addresses --output table --name ${USER}-vm
删除虚拟机
用门户更方便进行删除操作。请参考以下内容。
通过门户网站停止或启动。
请点击下面链接,显示虚拟机列表。
请从列表中点击自己的虚拟机。如果有很多虚拟机,请在“按名称筛选”中输入自己的虚拟机名称。
从这里,您可以选择停止或开始。
删除虚拟机
创建虚拟机后,会创建多个资源,如磁盘等。请点击“所有资源”。
请点击 “按名称筛选”,输入自己虚拟机的名称,以显示与自己虚拟机相关的资源。
请在名字旁边的□处打勾,并按下“全选”和“删除”进行操作。
请确认后,输入“是”进行删除。
请注意不要删除与关系无关的资源!
-
Microsoft のアカウントを持っていない場合は作成してください
今までにAzureを使ったことが無い方は、こちらから無料アカウントをサインアップしてください。
请确认右上方,并确保已进入要使用的目录。
如果您是个人账户创建的话,在默认目录下没有问题。
请点击以下,启动Cloud Shell。
请点击Bash(如果您以前使用过Cloud Shell,则可以跳过此步骤)。
如果尚未完成Azure注册,则会显示如下画面。请点击“创建Azure订阅”,进行免费试用版注册。
此外,如果没有存储空间,将显示如下内容。如果您拥有免费试用版订阅,请选择免费试用版并点击创建存储空间。
5. 打开Cloudshell的控制台。请点击□按钮,将控制台界面放大。
6. 创建资源组(如果已经存在则跳过)
如果您已经创建了资源组并打算使用它,那么您可以跳过本部分。
可以创建资源组来整理本次使用的资源(如VM和网络)。
按以下方式创建名为“malmo”的资源组(如果要使用其他名称,请将“malmo”替换为您自己设置的名称)。
az group create -g malmo -l eastus
当成功时,将显示如下内容。
7. 生成密码
请按照以下方式输入,生成密码。
echo user name: ${USER}
VM_PW=`openssl rand -base64 12`
echo VM password: ${VM_PW}
请将用户名和密码记录在某个地方。
创建虚拟机
请使用Cloud Shell以以下方法在CPU实例上创建。
一旦启动实例,将会产生费用。如果不再需要,请停止它。
通常每月大约是4000日元左右(参考:价格)。
顺便提一下,Cloud Shell的存储以及虚拟机的存储即使在未启动时也会产生少许费用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_B2s
※ 不需要的是启动了CPU实例的人。
※ 不需要启动CPU实例的人。
※ 对于启动了CPU实例的人不是必要的。
※ 对于已经启动了CPU实例的人没有必要。
请在 Cloud Shell 上执行以下命令以创建 GPU 实例。
请注意,使用GPU实例的Standard_NC6型号,如果持续运行一个月将会耗费超过7万日元(参考价)。此外,免费试用版无法使用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_NC6
成功时会显示如下内容。请将以下的publicIpAddress记录下来。
如果使用上述的IP地址和最初创建的密码,即可通过SSH进行连接。
为了简化后续的操作,在本实践中我们将使用Azure笔记本(详见下文)。
如果在这里出现错误,可能性如下。
VMの名前(–name ${USER}-VM)及び、DNS name (–public-ip-address-dns-name ${USER})が既に使われている(同じリソースグループ内で、ユーザー名が重複している)
–name ${USER}-VMと–public-ip-address-dns-name ${USER}の部分を、–name ${USER}-VM2及び、–public-ip-address-dns-name ${USER}2 等として、重複を回避してください。
Standard_NC6 が使えないサブスクリプションを使っている(無料試用版では使えません)
打开端口
请在Cloud Shell中运行以下命令,以便连接到Azure Notebooks并连接到名为noVNC的Web服务器以显示屏幕。这将打开三个端口:8000、8001和6080。
az vm open-port --resource-group malmo --name ${USER}-VM --port 8000 --priority 1010
az vm open-port --resource-group malmo --name ${USER}-VM --port 8001 --priority 1020
az vm open-port --resource-group malmo --name ${USER}-VM --port 6080 --priority 1030
连接Azure Notebooks
1. 克隆笔记本
请打开以下页面,并点击Clone按钮。
2. 直接计算的设置
为了连接之前创建的虚拟机,我们需要进行直接计算的设置。
请点击左上角的▽,然后点击“直接计算”,以显示设置界面。
请在这里输入刚刚记下的IP地址、用户名和密码。
请输入一个任意的名称,并点击验证。(端口无法更改。)
在这种情况下,可能会发生以下错误。在这种情况下,请点击几次验证按钮。
请按下“运行”按钮后,如果一切顺利,将显示如下内容。
3. 打开笔记本电脑
请点击marlo.ipynb,它将以如下方式显示。
然后,会显示如下的屏幕。
笔记本的执行
上面打开的界面是一个名为Jupyter Notebook的系统。
每一个方格被称为“单元格”,可以通过SHIFT + ENTER进行执行。
我们尝试执行最上面的单元格。
左边的 [ ] 部分会变成 [*]。这表示正在执行中。
当变为 [1] 时,输出将会显示,这表示执行已完成。
请从现在开始,阅读有关Notebook的说明。
请不要忘记在完成作业后停止或删除虚拟机。
停止、重启、删除虚拟机。
请务必在不需要时停止虚拟机。之后可以在同一台虚拟机上重新启动。
如果不停止,会产生费用。
停止、删除等操作有两种方法:使用Cloud Shell或使用门户网站。
使用云端 Shell
虚拟机的停止
请在不需要时务必停止虚拟机。稍后可以在同一虚拟机上重新启动。
如果不停止,将产生费用。
azure vm deallocate --resource-group malmo --name ${USER}-vm
暂停的虚拟机恢复运行
以以下方式,可以重新启动虚拟机。请注意,IP地址会发生更改。
azure vm start --resource-group malmo --name ${USER}-vm
可以按照以下方式检查IP
az vm list-ip-addresses --output table --name ${USER}-vm
删除虚拟机
用门户更方便进行删除操作。请参考以下内容。
通过门户网站停止或启动。
请点击下面链接,显示虚拟机列表。
请从列表中点击自己的虚拟机。如果有很多虚拟机,请在“按名称筛选”中输入自己的虚拟机名称。
从这里,您可以选择停止或开始。
删除虚拟机
创建虚拟机后,会创建多个资源,如磁盘等。请点击“所有资源”。
请点击 “按名称筛选”,输入自己虚拟机的名称,以显示与自己虚拟机相关的资源。
请在名字旁边的□处打勾,并按下“全选”和“删除”进行操作。
请确认后,输入“是”进行删除。
请注意不要删除与关系无关的资源!

如果您是个人账户创建的话,在默认目录下没有问题。
请点击以下,启动Cloud Shell。
请点击Bash(如果您以前使用过Cloud Shell,则可以跳过此步骤)。
如果尚未完成Azure注册,则会显示如下画面。请点击“创建Azure订阅”,进行免费试用版注册。
此外,如果没有存储空间,将显示如下内容。如果您拥有免费试用版订阅,请选择免费试用版并点击创建存储空间。
5. 打开Cloudshell的控制台。请点击□按钮,将控制台界面放大。
6. 创建资源组(如果已经存在则跳过)
如果您已经创建了资源组并打算使用它,那么您可以跳过本部分。
可以创建资源组来整理本次使用的资源(如VM和网络)。
按以下方式创建名为“malmo”的资源组(如果要使用其他名称,请将“malmo”替换为您自己设置的名称)。
az group create -g malmo -l eastus
当成功时,将显示如下内容。
7. 生成密码
请按照以下方式输入,生成密码。
echo user name: ${USER}
VM_PW=`openssl rand -base64 12`
echo VM password: ${VM_PW}
请将用户名和密码记录在某个地方。
创建虚拟机
请使用Cloud Shell以以下方法在CPU实例上创建。
一旦启动实例,将会产生费用。如果不再需要,请停止它。
通常每月大约是4000日元左右(参考:价格)。
顺便提一下,Cloud Shell的存储以及虚拟机的存储即使在未启动时也会产生少许费用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_B2s
※ 不需要的是启动了CPU实例的人。
※ 不需要启动CPU实例的人。
※ 对于启动了CPU实例的人不是必要的。
※ 对于已经启动了CPU实例的人没有必要。
请在 Cloud Shell 上执行以下命令以创建 GPU 实例。
请注意,使用GPU实例的Standard_NC6型号,如果持续运行一个月将会耗费超过7万日元(参考价)。此外,免费试用版无法使用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_NC6
成功时会显示如下内容。请将以下的publicIpAddress记录下来。
如果使用上述的IP地址和最初创建的密码,即可通过SSH进行连接。
为了简化后续的操作,在本实践中我们将使用Azure笔记本(详见下文)。
如果在这里出现错误,可能性如下。
VMの名前(–name ${USER}-VM)及び、DNS name (–public-ip-address-dns-name ${USER})が既に使われている(同じリソースグループ内で、ユーザー名が重複している)
–name ${USER}-VMと–public-ip-address-dns-name ${USER}の部分を、–name ${USER}-VM2及び、–public-ip-address-dns-name ${USER}2 等として、重複を回避してください。
Standard_NC6 が使えないサブスクリプションを使っている(無料試用版では使えません)
打开端口
请在Cloud Shell中运行以下命令,以便连接到Azure Notebooks并连接到名为noVNC的Web服务器以显示屏幕。这将打开三个端口:8000、8001和6080。
az vm open-port --resource-group malmo --name ${USER}-VM --port 8000 --priority 1010
az vm open-port --resource-group malmo --name ${USER}-VM --port 8001 --priority 1020
az vm open-port --resource-group malmo --name ${USER}-VM --port 6080 --priority 1030
连接Azure Notebooks
1. 克隆笔记本
请打开以下页面,并点击Clone按钮。
2. 直接计算的设置
为了连接之前创建的虚拟机,我们需要进行直接计算的设置。
请点击左上角的▽,然后点击“直接计算”,以显示设置界面。
请在这里输入刚刚记下的IP地址、用户名和密码。
请输入一个任意的名称,并点击验证。(端口无法更改。)
在这种情况下,可能会发生以下错误。在这种情况下,请点击几次验证按钮。
请按下“运行”按钮后,如果一切顺利,将显示如下内容。
3. 打开笔记本电脑
请点击marlo.ipynb,它将以如下方式显示。
然后,会显示如下的屏幕。
笔记本的执行
上面打开的界面是一个名为Jupyter Notebook的系统。
每一个方格被称为“单元格”,可以通过SHIFT + ENTER进行执行。
我们尝试执行最上面的单元格。
左边的 [ ] 部分会变成 [*]。这表示正在执行中。
当变为 [1] 时,输出将会显示,这表示执行已完成。
请从现在开始,阅读有关Notebook的说明。
请不要忘记在完成作业后停止或删除虚拟机。
停止、重启、删除虚拟机。
请务必在不需要时停止虚拟机。之后可以在同一台虚拟机上重新启动。
如果不停止,会产生费用。
停止、删除等操作有两种方法:使用Cloud Shell或使用门户网站。
使用云端 Shell
虚拟机的停止
请在不需要时务必停止虚拟机。稍后可以在同一虚拟机上重新启动。
如果不停止,将产生费用。
azure vm deallocate --resource-group malmo --name ${USER}-vm
暂停的虚拟机恢复运行
以以下方式,可以重新启动虚拟机。请注意,IP地址会发生更改。
azure vm start --resource-group malmo --name ${USER}-vm
可以按照以下方式检查IP
az vm list-ip-addresses --output table --name ${USER}-vm
删除虚拟机
用门户更方便进行删除操作。请参考以下内容。
通过门户网站停止或启动。
请点击下面链接,显示虚拟机列表。
请从列表中点击自己的虚拟机。如果有很多虚拟机,请在“按名称筛选”中输入自己的虚拟机名称。
从这里,您可以选择停止或开始。
删除虚拟机
创建虚拟机后,会创建多个资源,如磁盘等。请点击“所有资源”。
请点击 “按名称筛选”,输入自己虚拟机的名称,以显示与自己虚拟机相关的资源。
请在名字旁边的□处打勾,并按下“全选”和“删除”进行操作。
请确认后,输入“是”进行删除。
请注意不要删除与关系无关的资源!

请点击Bash(如果您以前使用过Cloud Shell,则可以跳过此步骤)。
如果尚未完成Azure注册,则会显示如下画面。请点击“创建Azure订阅”,进行免费试用版注册。
此外,如果没有存储空间,将显示如下内容。如果您拥有免费试用版订阅,请选择免费试用版并点击创建存储空间。
5. 打开Cloudshell的控制台。请点击□按钮,将控制台界面放大。
6. 创建资源组(如果已经存在则跳过)
如果您已经创建了资源组并打算使用它,那么您可以跳过本部分。
可以创建资源组来整理本次使用的资源(如VM和网络)。
按以下方式创建名为“malmo”的资源组(如果要使用其他名称,请将“malmo”替换为您自己设置的名称)。
az group create -g malmo -l eastus
当成功时,将显示如下内容。
7. 生成密码
请按照以下方式输入,生成密码。
echo user name: ${USER}
VM_PW=`openssl rand -base64 12`
echo VM password: ${VM_PW}
请将用户名和密码记录在某个地方。
创建虚拟机
请使用Cloud Shell以以下方法在CPU实例上创建。
一旦启动实例,将会产生费用。如果不再需要,请停止它。
通常每月大约是4000日元左右(参考:价格)。
顺便提一下,Cloud Shell的存储以及虚拟机的存储即使在未启动时也会产生少许费用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_B2s
※ 不需要的是启动了CPU实例的人。
※ 不需要启动CPU实例的人。
※ 对于启动了CPU实例的人不是必要的。
※ 对于已经启动了CPU实例的人没有必要。
请在 Cloud Shell 上执行以下命令以创建 GPU 实例。
请注意,使用GPU实例的Standard_NC6型号,如果持续运行一个月将会耗费超过7万日元(参考价)。此外,免费试用版无法使用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_NC6
成功时会显示如下内容。请将以下的publicIpAddress记录下来。
如果使用上述的IP地址和最初创建的密码,即可通过SSH进行连接。
为了简化后续的操作,在本实践中我们将使用Azure笔记本(详见下文)。
如果在这里出现错误,可能性如下。
VMの名前(–name ${USER}-VM)及び、DNS name (–public-ip-address-dns-name ${USER})が既に使われている(同じリソースグループ内で、ユーザー名が重複している)
–name ${USER}-VMと–public-ip-address-dns-name ${USER}の部分を、–name ${USER}-VM2及び、–public-ip-address-dns-name ${USER}2 等として、重複を回避してください。
Standard_NC6 が使えないサブスクリプションを使っている(無料試用版では使えません)
打开端口
请在Cloud Shell中运行以下命令,以便连接到Azure Notebooks并连接到名为noVNC的Web服务器以显示屏幕。这将打开三个端口:8000、8001和6080。
az vm open-port --resource-group malmo --name ${USER}-VM --port 8000 --priority 1010
az vm open-port --resource-group malmo --name ${USER}-VM --port 8001 --priority 1020
az vm open-port --resource-group malmo --name ${USER}-VM --port 6080 --priority 1030
连接Azure Notebooks
1. 克隆笔记本
请打开以下页面,并点击Clone按钮。
2. 直接计算的设置
为了连接之前创建的虚拟机,我们需要进行直接计算的设置。
请点击左上角的▽,然后点击“直接计算”,以显示设置界面。
请在这里输入刚刚记下的IP地址、用户名和密码。
请输入一个任意的名称,并点击验证。(端口无法更改。)
在这种情况下,可能会发生以下错误。在这种情况下,请点击几次验证按钮。
请按下“运行”按钮后,如果一切顺利,将显示如下内容。
3. 打开笔记本电脑
请点击marlo.ipynb,它将以如下方式显示。
然后,会显示如下的屏幕。
笔记本的执行
上面打开的界面是一个名为Jupyter Notebook的系统。
每一个方格被称为“单元格”,可以通过SHIFT + ENTER进行执行。
我们尝试执行最上面的单元格。
左边的 [ ] 部分会变成 [*]。这表示正在执行中。
当变为 [1] 时,输出将会显示,这表示执行已完成。
请从现在开始,阅读有关Notebook的说明。
请不要忘记在完成作业后停止或删除虚拟机。
停止、重启、删除虚拟机。
请务必在不需要时停止虚拟机。之后可以在同一台虚拟机上重新启动。
如果不停止,会产生费用。
停止、删除等操作有两种方法:使用Cloud Shell或使用门户网站。
使用云端 Shell
虚拟机的停止
请在不需要时务必停止虚拟机。稍后可以在同一虚拟机上重新启动。
如果不停止,将产生费用。
azure vm deallocate --resource-group malmo --name ${USER}-vm
暂停的虚拟机恢复运行
以以下方式,可以重新启动虚拟机。请注意,IP地址会发生更改。
azure vm start --resource-group malmo --name ${USER}-vm
可以按照以下方式检查IP
az vm list-ip-addresses --output table --name ${USER}-vm
删除虚拟机
用门户更方便进行删除操作。请参考以下内容。
通过门户网站停止或启动。
请点击下面链接,显示虚拟机列表。
请从列表中点击自己的虚拟机。如果有很多虚拟机,请在“按名称筛选”中输入自己的虚拟机名称。
从这里,您可以选择停止或开始。
删除虚拟机
创建虚拟机后,会创建多个资源,如磁盘等。请点击“所有资源”。
请点击 “按名称筛选”,输入自己虚拟机的名称,以显示与自己虚拟机相关的资源。
请在名字旁边的□处打勾,并按下“全选”和“删除”进行操作。
请确认后,输入“是”进行删除。
请注意不要删除与关系无关的资源!

如果尚未完成Azure注册,则会显示如下画面。请点击“创建Azure订阅”,进行免费试用版注册。

此外,如果没有存储空间,将显示如下内容。如果您拥有免费试用版订阅,请选择免费试用版并点击创建存储空间。

5. 打开Cloudshell的控制台。请点击□按钮,将控制台界面放大。
6. 创建资源组(如果已经存在则跳过)
如果您已经创建了资源组并打算使用它,那么您可以跳过本部分。
可以创建资源组来整理本次使用的资源(如VM和网络)。
按以下方式创建名为“malmo”的资源组(如果要使用其他名称,请将“malmo”替换为您自己设置的名称)。
az group create -g malmo -l eastus
当成功时,将显示如下内容。
7. 生成密码
请按照以下方式输入,生成密码。
echo user name: ${USER}
VM_PW=`openssl rand -base64 12`
echo VM password: ${VM_PW}
请将用户名和密码记录在某个地方。
创建虚拟机
请使用Cloud Shell以以下方法在CPU实例上创建。
一旦启动实例,将会产生费用。如果不再需要,请停止它。
通常每月大约是4000日元左右(参考:价格)。
顺便提一下,Cloud Shell的存储以及虚拟机的存储即使在未启动时也会产生少许费用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_B2s
※ 不需要的是启动了CPU实例的人。
※ 不需要启动CPU实例的人。
※ 对于启动了CPU实例的人不是必要的。
※ 对于已经启动了CPU实例的人没有必要。
请在 Cloud Shell 上执行以下命令以创建 GPU 实例。
请注意,使用GPU实例的Standard_NC6型号,如果持续运行一个月将会耗费超过7万日元(参考价)。此外,免费试用版无法使用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_NC6
成功时会显示如下内容。请将以下的publicIpAddress记录下来。
如果使用上述的IP地址和最初创建的密码,即可通过SSH进行连接。
为了简化后续的操作,在本实践中我们将使用Azure笔记本(详见下文)。
如果在这里出现错误,可能性如下。
VMの名前(–name ${USER}-VM)及び、DNS name (–public-ip-address-dns-name ${USER})が既に使われている(同じリソースグループ内で、ユーザー名が重複している)
–name ${USER}-VMと–public-ip-address-dns-name ${USER}の部分を、–name ${USER}-VM2及び、–public-ip-address-dns-name ${USER}2 等として、重複を回避してください。
Standard_NC6 が使えないサブスクリプションを使っている(無料試用版では使えません)
打开端口
请在Cloud Shell中运行以下命令,以便连接到Azure Notebooks并连接到名为noVNC的Web服务器以显示屏幕。这将打开三个端口:8000、8001和6080。
az vm open-port --resource-group malmo --name ${USER}-VM --port 8000 --priority 1010
az vm open-port --resource-group malmo --name ${USER}-VM --port 8001 --priority 1020
az vm open-port --resource-group malmo --name ${USER}-VM --port 6080 --priority 1030
连接Azure Notebooks
1. 克隆笔记本
请打开以下页面,并点击Clone按钮。
2. 直接计算的设置
为了连接之前创建的虚拟机,我们需要进行直接计算的设置。
请点击左上角的▽,然后点击“直接计算”,以显示设置界面。
请在这里输入刚刚记下的IP地址、用户名和密码。
请输入一个任意的名称,并点击验证。(端口无法更改。)
在这种情况下,可能会发生以下错误。在这种情况下,请点击几次验证按钮。
请按下“运行”按钮后,如果一切顺利,将显示如下内容。
3. 打开笔记本电脑
请点击marlo.ipynb,它将以如下方式显示。
然后,会显示如下的屏幕。
笔记本的执行
上面打开的界面是一个名为Jupyter Notebook的系统。
每一个方格被称为“单元格”,可以通过SHIFT + ENTER进行执行。
我们尝试执行最上面的单元格。
左边的 [ ] 部分会变成 [*]。这表示正在执行中。
当变为 [1] 时,输出将会显示,这表示执行已完成。
请从现在开始,阅读有关Notebook的说明。
请不要忘记在完成作业后停止或删除虚拟机。
停止、重启、删除虚拟机。
请务必在不需要时停止虚拟机。之后可以在同一台虚拟机上重新启动。
如果不停止,会产生费用。
停止、删除等操作有两种方法:使用Cloud Shell或使用门户网站。
使用云端 Shell
虚拟机的停止
请在不需要时务必停止虚拟机。稍后可以在同一虚拟机上重新启动。
如果不停止,将产生费用。
azure vm deallocate --resource-group malmo --name ${USER}-vm
暂停的虚拟机恢复运行
以以下方式,可以重新启动虚拟机。请注意,IP地址会发生更改。
azure vm start --resource-group malmo --name ${USER}-vm
可以按照以下方式检查IP
az vm list-ip-addresses --output table --name ${USER}-vm
删除虚拟机
用门户更方便进行删除操作。请参考以下内容。
通过门户网站停止或启动。
请点击下面链接,显示虚拟机列表。
请从列表中点击自己的虚拟机。如果有很多虚拟机,请在“按名称筛选”中输入自己的虚拟机名称。
从这里,您可以选择停止或开始。
删除虚拟机
创建虚拟机后,会创建多个资源,如磁盘等。请点击“所有资源”。
请点击 “按名称筛选”,输入自己虚拟机的名称,以显示与自己虚拟机相关的资源。
请在名字旁边的□处打勾,并按下“全选”和“删除”进行操作。
请确认后,输入“是”进行删除。
请注意不要删除与关系无关的资源!

6. 创建资源组(如果已经存在则跳过)
如果您已经创建了资源组并打算使用它,那么您可以跳过本部分。
可以创建资源组来整理本次使用的资源(如VM和网络)。
按以下方式创建名为“malmo”的资源组(如果要使用其他名称,请将“malmo”替换为您自己设置的名称)。
az group create -g malmo -l eastus
当成功时,将显示如下内容。

7. 生成密码
请按照以下方式输入,生成密码。
echo user name: ${USER}
VM_PW=`openssl rand -base64 12`
echo VM password: ${VM_PW}
请将用户名和密码记录在某个地方。
创建虚拟机
请使用Cloud Shell以以下方法在CPU实例上创建。
一旦启动实例,将会产生费用。如果不再需要,请停止它。
通常每月大约是4000日元左右(参考:价格)。
顺便提一下,Cloud Shell的存储以及虚拟机的存储即使在未启动时也会产生少许费用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_B2s
※ 不需要的是启动了CPU实例的人。
※ 不需要启动CPU实例的人。
※ 对于启动了CPU实例的人不是必要的。
※ 对于已经启动了CPU实例的人没有必要。
请在 Cloud Shell 上执行以下命令以创建 GPU 实例。
请注意,使用GPU实例的Standard_NC6型号,如果持续运行一个月将会耗费超过7万日元(参考价)。此外,免费试用版无法使用。
az vm create --location eastus --resource-group malmo --name ${USER}-vm \
--admin-username ${USER} --admin-password ${VM_PW} \
--authentication-type password \
--public-ip-address-dns-name ${USER} \
--image microsoft-ads:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest \
--size Standard_NC6
成功时会显示如下内容。请将以下的publicIpAddress记录下来。

如果使用上述的IP地址和最初创建的密码,即可通过SSH进行连接。
为了简化后续的操作,在本实践中我们将使用Azure笔记本(详见下文)。
如果在这里出现错误,可能性如下。
-
VMの名前(–name ${USER}-VM)及び、DNS name (–public-ip-address-dns-name ${USER})が既に使われている(同じリソースグループ内で、ユーザー名が重複している)
–name ${USER}-VMと–public-ip-address-dns-name ${USER}の部分を、–name ${USER}-VM2及び、–public-ip-address-dns-name ${USER}2 等として、重複を回避してください。
Standard_NC6 が使えないサブスクリプションを使っている(無料試用版では使えません)
打开端口
请在Cloud Shell中运行以下命令,以便连接到Azure Notebooks并连接到名为noVNC的Web服务器以显示屏幕。这将打开三个端口:8000、8001和6080。
az vm open-port --resource-group malmo --name ${USER}-VM --port 8000 --priority 1010
az vm open-port --resource-group malmo --name ${USER}-VM --port 8001 --priority 1020
az vm open-port --resource-group malmo --name ${USER}-VM --port 6080 --priority 1030
连接Azure Notebooks
1. 克隆笔记本
请打开以下页面,并点击Clone按钮。

2. 直接计算的设置
为了连接之前创建的虚拟机,我们需要进行直接计算的设置。
请点击左上角的▽,然后点击“直接计算”,以显示设置界面。

请在这里输入刚刚记下的IP地址、用户名和密码。
请输入一个任意的名称,并点击验证。(端口无法更改。)

在这种情况下,可能会发生以下错误。在这种情况下,请点击几次验证按钮。

请按下“运行”按钮后,如果一切顺利,将显示如下内容。

3. 打开笔记本电脑
请点击marlo.ipynb,它将以如下方式显示。

然后,会显示如下的屏幕。

笔记本的执行
上面打开的界面是一个名为Jupyter Notebook的系统。
每一个方格被称为“单元格”,可以通过SHIFT + ENTER进行执行。
我们尝试执行最上面的单元格。
左边的 [ ] 部分会变成 [*]。这表示正在执行中。
当变为 [1] 时,输出将会显示,这表示执行已完成。
请从现在开始,阅读有关Notebook的说明。
请不要忘记在完成作业后停止或删除虚拟机。
停止、重启、删除虚拟机。
请务必在不需要时停止虚拟机。之后可以在同一台虚拟机上重新启动。
如果不停止,会产生费用。
停止、删除等操作有两种方法:使用Cloud Shell或使用门户网站。
使用云端 Shell
虚拟机的停止
请在不需要时务必停止虚拟机。稍后可以在同一虚拟机上重新启动。
如果不停止,将产生费用。
azure vm deallocate --resource-group malmo --name ${USER}-vm
暂停的虚拟机恢复运行
以以下方式,可以重新启动虚拟机。请注意,IP地址会发生更改。
azure vm start --resource-group malmo --name ${USER}-vm
可以按照以下方式检查IP
az vm list-ip-addresses --output table --name ${USER}-vm
删除虚拟机
用门户更方便进行删除操作。请参考以下内容。
通过门户网站停止或启动。
请点击下面链接,显示虚拟机列表。
请从列表中点击自己的虚拟机。如果有很多虚拟机,请在“按名称筛选”中输入自己的虚拟机名称。
从这里,您可以选择停止或开始。
删除虚拟机
创建虚拟机后,会创建多个资源,如磁盘等。请点击“所有资源”。
请点击 “按名称筛选”,输入自己虚拟机的名称,以显示与自己虚拟机相关的资源。
请在名字旁边的□处打勾,并按下“全选”和“删除”进行操作。
请确认后,输入“是”进行删除。
请注意不要删除与关系无关的资源!

请点击下面链接,显示虚拟机列表。

请从列表中点击自己的虚拟机。如果有很多虚拟机,请在“按名称筛选”中输入自己的虚拟机名称。

从这里,您可以选择停止或开始。

删除虚拟机
创建虚拟机后,会创建多个资源,如磁盘等。请点击“所有资源”。

请点击 “按名称筛选”,输入自己虚拟机的名称,以显示与自己虚拟机相关的资源。

请在名字旁边的□处打勾,并按下“全选”和“删除”进行操作。

请确认后,输入“是”进行删除。
请注意不要删除与关系无关的资源!