蔚蓝数据科学虚拟机
这是快速入门的快速指南。 微软Azure 云。我们将使用Azure 数据科学虚拟机(DSVM) 这是一个Azure虚拟机映像家族,已预配置了几种常用工具,这些常用工具通常用于数据分析,机器学习和AI开发。
价钱
最便宜的GPU配置是Azure中的Standard_NC6实例,该实例具有一个NVidia Tesla K80 GPU和六个CPU内核。该实例每小时将产生约0.40美元的费用 计算费用 用于专用的Standard_NC6_Promo实例,或 $0.13 每小时(如果使用) 现货(可抢占)Standard_NC6实例.
蔚蓝提供其他 GPU选项 例如NVidia Tesla P100,基于V100的实例。
先决条件
在创建DSVM之前,您需要访问Azure订阅。通过Azure订阅,您可以管理Azure云中的存储,计算和其他资产。您可以 创建一个新的订阅 或从 蔚蓝门户.
如果您要注册新的订阅,则还需要记录信用卡详细信息。这将是实例使用的所有费用都将应用到的信用卡。您的注册屏幕如下所示:
免费试用Azure订阅 虽然您将无法创建基于GPU的虚拟机实例,但它们仍然可用。
创建您的Azure帐户和订阅后,您可以登录到 蔚蓝门户 查看和管理您的帐户。
设定
我们将使用便利脚本,利用Azure命令行界面(CLI)创建Data Science VM的Spot实例,并在创建VM时自动安装fast.ai库和课程笔记本。
步骤1:启动Cloud Shell
可以在Linux机器上的bash shell或具有Windows Subsystem for Linux(WSL)的Windows机器上的bash shell上运行用于设置fast.ai的脚本。启动Azure云外壳可能会更简单。您只需点击下面的按钮即可。
按照提示创建一个存储脚本的存储帐户。几秒钟后,您将看到熟悉的bash shell提示符,您可以在其中运行shell脚本。确保在Azure Shell左上角的选项中将Azure Shell设置为“ Bash”而不是“ PowerShell”。
步骤2:执行脚本
用于自动创建Azure数据科学VM并安装fast.ai以及所有课程笔记本的脚本在以下位置提供 Github.
该脚本在westus2 蔚蓝区域中使用NVidia K80 GPU创建Spot VM。如果需要不同类型的GPU或专用(不可抢占)实例而不是Spot(可抢占)实例,或者想要选择其他Azure数据中心区域,则可以自定义脚本。
若要下载并执行脚本,请在您启动的Azure Cloud Shell或bash Shell(如果使用本地计算机)上运行以下命令。
wget //raw.githubusercontent.com/Azure/DataScienceVM/master/Samples/fastai2/fastai2onAzureSpotDSVM.sh
bash fastai2onAzureSpotDSVM.sh
按照提示询问虚拟机名称和密码。该脚本使用“ fastuser”作为用户名。
提示:在Cloud Shell中按SHIFT-INSERT粘贴命令并执行。
在大约10分钟内,您将准备好一个VM,可以开始运行fast.ai课程笔记本。该脚本将打印出VM的IP地址和用于访问Jupyterhub的URL。
访问fast.ai课程笔记本
Now you can access the VM either through SSH or via Jupyterhub (URL : //[[Public IP Address of VM]]:8000). When you login to JupyterHub use the default user name used in the script fastuser
and the password you chose above.
注意:由于默认情况下使用自签名证书,因此当您尝试通过SSL访问JupyterHub时会收到警告,为此您可以忽略该警告,方法是先按“高级”按钮,然后按浏览器上的“继续”。在生产环境中,您将需要获取真实的证书并进行安装。
登录Jupyterhub后,您将找到fastbook目录,其中包含fast.ai课程的课程笔记本。
You will get a prompt to choose the matching kernel. There is a Jupyter kernel and Conda environment named fastai2
that you will need to use when running the fast.ai notebooks.
停止虚拟机
为了避免在不使用VM时增加费用,您必须将其关闭。您可以在Azure门户上执行此操作,也可以运行Azure CLI命令
az vm deallocate -g <resource group name > -n <vm name>
默认情况下,在我们的脚本中,“资源组名称”是“虚拟机名称”。
完成课程后,可以通过在Azure门户中或使用CLI命令删除资源组来删除资源。
az group delete -n <resource group name>