每当我开始一个新的项目时,我创造自己一次又一次地创建一个深度学习机器。

从安装Anaconda开始,末了为Pytorch和Tensorflow创建不同的环境,这样它们就不会相互滋扰。
而在这中间,你不可避免地会搞砸,从头开始。
这种情形常常发生多次。

这不仅是对韶光的巨大摧残浪费蹂躏,它也是令人恼火的。
通过所有的堆栈溢出线程,我们常常想知道究竟出了什么问题。

建立php的url在30分钟内创立你的深度进修办事器 HTML

那么,有没有一种方法可以更有效地做到这一点呢?

在这个博客中,我将考试测验在EC2上以最小的努力建立一个深度学习做事器,这样我就可以专注于更主要的事情。

本博客明确地由两部分组成:

设置一个预先安装了深度学习库的Amazon EC2机器。
利用TMUX和SSH隧道设置Jupyter notebook。

别担心,这不像听起来那么难。
只需按照步骤操作,然后单击“下一步”。

设置Amazon EC2打算机

我假设你拥有一个AWS账户,并且可以访问AWS掌握台。
如果没有,你可能须要注册一个Amazon AWS账户。

AWS掌握台:https://aws.amazon.com/console/首先,我们须要转到“Services”选项卡以访问EC2仪表板。

在EC2仪表板上,你可以从创建实例开始。

亚马逊向社区AMI(亚马逊机器映像)预装了深度学习软件。
要访问这些AMI,你须要查看社区AMI,并在“搜索”选项卡中搜索“ Ubuntu深度学习”。
你可以选择其他任何Linux风格,但是我创造Ubuntu对付知足我的深度学习需求最为有用。
在当前设置中,我将利用深度学习AMI(Ubuntu 18.04)27.0版

选择AMI后,可以选择“实例类型”。
在这里,你可以指定系统中所需的CPU,内存和GPU的数量。
亚马逊供应了许多根据个人需求选择的选项。
你可以利用“过滤依据”过滤器过滤GPU实例。
在本教程中,我利用了p2.xlarge实例,该实例为NVIDIA K80 GPU供应了2,496个并行处理内核和12GiB的GPU内存。
要理解不同的实例类型,你可以查看下方链接中的文档,并查看价格。
查看文档:https://aws.amazon.com/ec2/instance-types/ 查看价格:https://aws.amazon.com/emr/pricing/

你可以在第4步中变动连接到机器的存储。
如果你不预先添加存储,也可以,由于往后也可以这样做。
我将存储空间从90 GB变动为500 GB,由于大多数深度学习需求都须要适当的存储空间。

仅此而已,你可以在进入终极审阅实例设置屏幕之后启动实例。
单击启动后,你将看到此屏幕。
只需在“Key pair name”中输入任何密钥名称,然后单击“Download Key Pair”即可。
你的密钥将按照你供应的名称下载到打算机上。
对我来说,它被保存为“aws_key.pem”。
完成后,你可以单击“Launch Instances”启动实例。

请确保此密钥对的安全,由于每当你要登录实例时都须要这样做。

现在,你可以单击下一页上的“View Instances”以查看你的实例。
这是你的实例的样子:

要连接到你的实例,只需在本地打算机上打开一个终端窗口,然后浏览到保存密钥对文件并修正一些权限的文件夹。

chmod 400 aws_key.pem

完成此操作后,你将可以通过SSH连接到你的实例。
SSH命令的格式为:

ssh -i“ aws_key.pem” ubuntu @ <你的PublicDNS(IPv4)>

对我来说,命令是:

ssh -i“ aws_key.pem” ubuntu@ec2-54-202-223-197.us-west-2.compute.amazonaws.com

其余,请记住,一旦关闭实例,公用DNS可能会变动。

你已经准备好机器并准备就绪。
本机包含不同的环境,这些环境具有你可能须要的各种库。
这台特定的机器具有MXNet,Tensorflow和Pytorch,以及不同版本的python。
最好的事情是,我们已经预先安装了所有这些功能,因此开箱即用。

设置Jupyter Notebook

但是,仍旧须要利用一些东西才能充分利用打算机。
个中之一便是Jupyter Notebook。
要在打算机上设置Jupyter Notebook,我建议利用TMUX和隧道。
让我们逐步设置Jupyter Notebook。

利用TMUX运行Jupyter Notebook 我们将首先利用TMUX在实例上运行Jupyter Notebook。
我们紧张利用它,以便纵然终端连接丢失,我们的条记本电脑仍旧可以运行。

为此,你将须要利用以下命令创建一个新的TMUX会话:

tmux new -s StreamSession

完成后,你将看到一个新屏幕,底部带有绿色边框。
你可以利用jupyter notebook命令在此打算机上启动Jupyter Notebook 。
你将看到类似以下内容:

复制登录URL将是有益的,这样往后往后考试测验登录到jupyter notebook时,我们将能够获取令牌。
就我而言,它是:

http://localhost:8888/?token=5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872

下一步是分离TMUX会话,以便它在后台连续运行,纵然你离开ssh shell。
要做到这一点,只需按Ctrl+B,然后按D(按D时不要按Ctrl),你将返回到初始屏幕,显示你已从TMUX会话等分离的。

如果须要,可以利用以下方法重新连接到会话:

tmux attach -t StreamSessionSSH隧道访问本地浏览器上的notebook

第二步是进入Amazon实例,以便在本地浏览器上获取Jupyter notebook。
如我们所见,Jupyter notebook实际上运行在云实例确当田主机上。
我们如何访问它?我们利用SSH隧道。
不用担心,这很大略。
只需在本地机器终端窗口上利用以下命令:

ssh -i“ aws_key.pem” -L <本地打算机端口>:localhost:8888 ubuntu @ <你的PublicDNS(IPv4)>

对付这种情形,我利用了:

ssh -i "aws_key.pem" -L 8001:localhost:8888 ubuntu@ec2-54-202-223-197.us-west-2.compute.amazonaws.com

这意味着,如果我在本地打算机浏览器中打开localhost:8001,则可以利用Jupyter Notebook。
我当然可以。
现在,我们只需输入在先前的步骤之一中已经保存的令牌即可访问notebook。
对我来说令牌是5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872

令牌: http://localhost:8888/?token=5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872&token=5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872

你只需利用你的令牌登录即可。

现在,你可以通过选择所需的任何不同环境来选择新项目。
你可以来自Tensorflow或Pythorch,也可以两者兼得。
notebook不会让你失落望的。

故障打消

重新启动打算机后,你可能会碰着NVIDIA图形卡的一些问题。
详细来说,就我而言,该nvidia-smi命令停滞事情。
如果碰着此问题,办理方案是从NVIDIA 网站下载图形驱动程序。

NVIDIA 网站:https://www.nvidia.in/Download/index.aspx?lang=en-in

以上是我选择的特定AMI的设置。
单击搜索后,你将可以看到下一页:

只需通过右键单击并复制链接地址来复制下载链接。
并在打算机上运行以下命令。
你可能须要在个中变动链接地址和文件名。

# When nvidia-smi doesnt work:wget https://www.nvidia.in/content/DriverDownload-March2009/confirmation.php?url=/tesla/410.129/NVIDIA-Linux-x86_64-410.129-diagnostic.run&lang=in&type=Teslasudo sh NVIDIA-Linux-x86_64-410.129-diagnostic.run --no-drm --disable-nouveau --dkms --silent --install-libglvndmodinfo nvidia | head -7sudo modprobe nvidia停滞实例

便是这样。
你已经节制并启动了深度学习机器,并且可以随意利用它。
请记住,无论何时停滞事情,都应停滞实例,因此,当你不在实例上事情时,无需向Amazon付费。
你可以在实例页面上通过右键单击你的实例来实行此操作。
请把稳,当你须要再次登录到该打算机时,你可能须要从实例页面重新得到公共DNS(IPv4)地址,由于它可能已变动。

结论

我一贯以为建立深度学习环境非常麻烦。

在此博客中,我们通过利用深度学习社区AMI,TMUX和Jupyter Notebook的隧道技能,在最短的韶光内在EC2上设置了新的深度学习做事器。
该做事器已预先安装了你在事情中可能须要的所有深度学习库,并且开箱即用。

那你还在等什么?只需在你自己的做事器上开始利用深度学习即可。