您当前的位置:首页 > 电脑百科 > 人工智能

在30分钟内创建你的深度学习服务器

时间:2020-09-22 10:06:56  来源:  作者:
在30分钟内创建你的深度学习服务器

 

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

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

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

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

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

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

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

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

设置Amazon EC2计算机

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

  • AWS控制台:https://aws.amazon.com/console/
  • 首先,我们需要转到“Services”选项卡以访问EC2仪表板。
在30分钟内创建你的深度学习服务器

 

  1. 在EC2仪表板上,你可以从创建实例开始。
在30分钟内创建你的深度学习服务器

 

  1. 亚马逊向社区AMI(亚马逊机器映像)预装了深度学习软件。要访问这些AMI,你需要查看社区AMI,并在“搜索”选项卡中搜索“ Ubuntu深度学习”。你可以选择其他任何linux风格,但是我发现Ubuntu对于满足我的深度学习需求最为有用。在当前设置中,我将使用深度学习AMI(Ubuntu 18.04)27.0版
在30分钟内创建你的深度学习服务器

 

  1. 选择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/
在30分钟内创建你的深度学习服务器

 

  1. 你可以在第4步中更改连接到机器的存储。如果你不预先添加存储,也可以,因为以后也可以这样做。我将存储空间从90 GB更改为500 GB,因为大多数深度学习需求都需要适当的存储空间。
在30分钟内创建你的深度学习服务器

 

  1. 仅此而已,你可以在进入最终审阅实例设置屏幕之后启动实例。单击启动后,你将看到此屏幕。只需在“Key pair name”中输入任何密钥名称,然后单击“Download Key Pair”即可。你的密钥将按照你提供的名称下载到计算机上。对我来说,它被保存为“aws_key.pem”。完成后,你可以单击“Launch Instances”启动实例。
在30分钟内创建你的深度学习服务器

 

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

  1. 现在,你可以单击下一页上的“View Instances”以查看你的实例。这是你的实例的样子:
在30分钟内创建你的深度学习服务器

 

  1. 要连接到你的实例,只需在本地计算机上打开一个终端窗口,然后浏览到保存密钥对文件并修改一些权限的文件夹。
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
在30分钟内创建你的深度学习服务器

 

另外,请记住,一旦关闭实例,公用DNS可能会更改。

  1. 你已经准备好机器并准备就绪。本机包含不同的环境,这些环境具有你可能需要的各种库。这台特定的机器具有MXNet,Tensorflow和Pytorch,以及不同版本的Python。最好的事情是,我们已经预先安装了所有这些功能,因此开箱即用。
在30分钟内创建你的深度学习服务器

 

设置Jupyter Notebook

但是,仍然需要使用一些东西才能充分使用计算机。其中之一就是Jupyter Notebook。要在计算机上设置Jupyter Notebook,我建议使用TMUX和隧道。让我们逐步设置Jupyter Notebook。

  1. 使用TMUX运行Jupyter Notebook 我们将首先使用TMUX在实例上运行Jupyter Notebook。我们主要使用它,以便即使终端连接丢失,我们的笔记本电脑仍然可以运行。

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

tmux new -s StreamSession

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

在30分钟内创建你的深度学习服务器

 

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

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

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

在30分钟内创建你的深度学习服务器

 

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

tmux attach -t StreamSession
  1. SSH隧道访问本地浏览器上的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
在30分钟内创建你的深度学习服务器

 

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

在30分钟内创建你的深度学习服务器

 

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

在30分钟内创建你的深度学习服务器

 

故障排除

重新启动计算机后,你可能会遇到NVIDIA图形卡的一些问题。具体来说,就我而言,该nvidia-smi命令停止工作。如果遇到此问题,解决方案是从NVIDIA 网站下载图形驱动程序。

  • NVIDIA 网站:https://www.nvidia.in/Download/index.aspx?lang=en-in
在30分钟内创建你的深度学习服务器

 

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

在30分钟内创建你的深度学习服务器

 

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

# 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=Tesla
sudo sh NVIDIA-Linux-x86_64-410.129-diagnostic.run --no-drm --disable-nouveau --dkms --silent --install-libglvnd
modinfo nvidia | head -7
sudo modprobe nvidia

停止实例

就是这样。你已经掌握并启动了深度学习机器,并且可以随意使用它。请记住,无论何时停止工作,都应停止实例,因此,当你不在实例上工作时,无需向Amazon付费。你可以在实例页面上通过右键单击你的实例来执行此操作。请注意,当你需要再次登录到该计算机时,你可能需要从实例页面重新获得公共DNS(IPv4)地址,因为它可能已更改。

在30分钟内创建你的深度学习服务器

 

结论

我一直觉得建立深度学习环境非常麻烦。

在此博客中,我们通过使用深度学习社区AMI,TMUX和Jupyter Notebook的隧道技术,在最短的时间内在EC2上设置了新的深度学习服务器。该服务器已预先安装了你在工作中可能需要的所有深度学习库,并且开箱即用。

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



Tags:深度学习 服务器   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
每当我开始一个新的项目时,我发现自己一次又一次地创建一个深度学习机器。从安装Anaconda开始,最后为Pytorch和Tensorflow创建不同的环境,这样它们就不会相互干扰。而在这中间...【详细内容】
2020-09-22  Tags: 深度学习 服务器  点击:(100)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(15)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(48)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条