想入门深度学习不会搭建环境?手把手教你在Amazon EC2上安装Keras

大数据文摘作品,转载要求见文末

编译 | Molly、寒小阳、Yawei

随着我们使用的神经网络越来越复杂,我们需要更强劲的硬件。我们的个人电脑一般很难胜任这样大的网络,但是你可以相对轻松地在Amazon EC2服务中租到一台强劲的电脑,并按小时支付租金。

我用的是Keras,一个神经网络的开源python库。由于用法十分简单,它很适合入门深度学习。它基于Tensorflow,一个数值计算的开源库,但是也可以使用Theano。租到的机器可以使用Jupyter Notebook通过浏览器来访问。Jupyter Notebook是一个通过交互式代码来共享和编辑文档的web应用。

通过cuDNN,一个深度神经网络GPU加速库,Keras可以在GPU上运行。由于并行运算的设计,这种方式会比一般的CPU要快很多。建议你看几个CNN指标,对比最流行的神经网络在不同的GPU和CPU的运行时间。

我将向你介绍如何一步步在预置好的Amazon Machine Image (AMI)上搭建这样一个深度学习的环境。

1) 创建账户

访问 https://aws.amazon.com/ ,并创建一个AWS账户。

然后登陆控制台。

你的控制面板应该看起来像这样。

确保你选择的所在地区是法兰克福,N. Virgiania或新加坡,以便之后可以使用一个预置好的Keras AMI。如果你想自己动手设置这样的AMI,你可以按照这个指南。

2) 启动实例

现在让我们跳转到EC2控制页面。

“Amazon Elastic Compute Cloud(Amazon EC2)在Amazon Web Services(AWS)云中提供可扩展的计算功能。 Amazon EC2的使用消除了前期对硬件的投资要求,因此你可以更快地开发和部署应用程序。 你可以使用Amazon EC2启动大量或几个虚拟服务器,配置安全性和网络以及存储管理。 Amazon EC2允许你对硬件升级或降级,来应对需求的变化或流量的峰值,因此不太需要进行流量的预测。”。

所以换句话说,你可以在任何时候租一个服务器来进行计算,也就是机器学习模型训练。 现在让我们启动一个实例吧!

首先,你需要选择一个已经安装了所有必需工具的AMI(基于TensorFlow的Kreas和Jupyter Notebook)。

选择实例类型(你租到的计算机的质量)。 当然,你选择的机型越好越贵。 但是你正在创建你的第一个实例,所以你肯定不想选最好的那个。选择t2.micro就够了,它就是一个测试实例。它可以在不掏空你的钱包的情况下,让你体验下环境。 :)

当你比较满意,想要更多的计算能力时,我建议你使用一个g *类型的实例(g代表GPU后端)。比如 g2.2xlarge。 一个默认的GPU实例的定价为每小时0,772美元左右。

这里没什么意思,跳过。

免费使用的最大容量是30 GB。此外,如果你不希望你的数据在关闭实例后消失,要取消选中“终止时删除”复选框。

继续。

这个步骤很重要,因为你不仅要使用ssh,还要通过浏览器访问你的实例。 在端口8888上添加自定义TCP规则。仅允许从你的IP地址,8888和22(ssh)端口访问它。

一切准备好了,现在启动实例!

你只需要设置一个新的(或选择一个现有的)密钥对。通过ssh链接到你的机子时,必须要有密钥。

下载生成的密钥,注意保密!这样除你之外没有其他人可以访问这台机器。

现在让我们查看机器的状态。

如你所见,实例已启动并正在运行。 棒棒哒! 你刚刚启动了一个AWS实例。

3)设置Jupyter Notebook

现在让我们使用它。 通过ssh连接。

按照说明,更改私钥的权限并将示例键入终端(或使用PuTTY连接)。在-i参数后插入私钥的路径,使用'ubuntu'替换’root’。 所以命令看起来如下(如果你使用Windows,查看如何通过PuTTY连接):

ssh -i ‘path/to/private/key’ ubuntu@public_dns

在终端输入下面命令打开Notebook

sudo jupyter notebook

你可以通过浏览器访问Notebook,方法是键入your_public_dns:8888(8888是Jupyter默认端口)。

4)连接到你的实例

默认密码是“'machinelearningisfun”(我建议你更改密码,在Jupyter Notebook的文档中解释了如何做)。

MNIST数据集是一个著名的手写数字集。 我准备了一个Notebook示例,加载数据集,并拟合一个示例卷积神经网络。 打开mnist.jpynb示例并自行运行其中的cell。

代码来自Keras示例库

当你用完后,记得终止你的实例!账单是依据实例运行的时间来计算的。例如,如果你忘记关掉你的g2.2xlarge 实例,让它运行了一个月,你将要为此支付$0,772*24*30 = $555,84. :)

那么,接下来呢? 我建议你看看notMNIST数据集,其中包含来自不同字体的字母集。 你也可能对CIFAR-10感兴趣: 一组彩色图像,对应10个类别,比如飞机,船只,鸟类或猫。

如果你是Keras新手,你可能对这个教程感兴趣。 或者,像我做的案例,检测可能触发密集恐惧症的图片(强烈建议不要google相关的照片)。 我在PiotrMigdał主持的波兰儿童基金会的研讨会上学习了卷积神经网络的基础知识(以及如何设置机器)。 其中另一位参与者的源代码,使用VGG16进行特征提取,可在GitHub上获取。

数据、模型、算法、平台、场景

如何有效应用

变革而来

百度2017ABC SUMMIT

邀请门票限量放送!

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2017-09-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏UML

用例图教程(示例指南)

用例是系统分析中用于识别,澄清和组织系统需求的方法。用例由特定环境中系统和用户之间的一组可能的交互序列组成,并且与特定目标相关。它由一组元素(例如,类和接口)组...

30130
来自专栏AI研习社

深度学习界的 “吃鸡挂”——目标检测 SSD 实验

“卧槽,又被 LYB 干了!” 背后传来一声哀嚎。 哈哈,看来,沉迷吃鸡的室友又被戒网瘾了。作为一个充满着正义的 LYB 的游戏,这人不长点眼力还真的不行啊。不...

52650
来自专栏算法+

基于RNN的音频降噪算法 (附完整C代码)

前几天无意间看到一个项目rnnoise。 项目地址: https://github.com/xiph/rnnoise 基于RNN的音频降噪算法。 采用的是 GR...

2.6K60
来自专栏ATYUN订阅号

TF新工具AutoGraph:将Python转换为TensorFlow图

我们在这里向你介绍一个名为“AutoGraph”的TensorFlow新功能。AutoGraph将Python代码(包括控制流print()和其他Python原...

14740
来自专栏WeTest质量开放平台团队的专栏

UPA深度性能报告解读

UPA作为腾讯WeTest与Unity官方联合打造的客户端性能分析工具,为开发者提供了极大的便利和效能提升。产出的分析报告内容详尽,但您是否真的读懂了报告?是否...

9220
来自专栏人工智能头条

深度学习与自然语言处理之五:从RNN到LSTM

15340
来自专栏Fish

CUDA C最佳实践-CUDA Best Practices(一)

这文档堪称CUDA官方手册里最有用TOP3了。 ps:全文翻译会累死猿哒,意译意译,各位看官凑合一下啦 前言 文档的作用 这文档能干嘛,是用来帮助开发者从N...

38160
来自专栏ThoughtWorks

GEEK的心思你别猜

#ThoughtWorkers好声音#第十二期(图片:网络) 都说Geek的世界高深莫测,无法轻易探究。有多高深? 就是写幻灯片都用文本格式,更Geek的做法...

26440
来自专栏AI科技大本营的专栏

无需一行代码就能搞定机器学习的开源神器

作者 | Shantanu Kumar 责编 | 魏伟 对于机器学习和数据科学的初学者来说,最大的挑战之一是需要同时学习太多知识,特别是如果你不知道如何编码。你...

50070
来自专栏小詹同学

深度学习入门笔记系列 ( 一 )

本系列将分为 8 篇 。今天是第一篇 ,工欲善其事必先利其器 ,先简单讲讲当前的主流深度学习框架 TensorFlow 及其安装方法 。

12320

扫码关注云+社区

领取腾讯云代金券