在Azure中快速搭建Deep Learning平台
来源:互联网 发布:怎么软件赚钱最快 编辑:程序博客网 时间:2024/06/08 09:57
最近在尝试kaggle中machine learning的竞赛,为了提高成绩强上了deep learning的算法。然而,deep learning耗资源,速度慢,不用个hadoop,单机一跑就是好几天,于是摸索着想在azure上快速搭建一个能跑deep learning的hadoop环境。 H2o(http://0xdata.com/product/ )是我在R上首先尝试的deep learning包,查了文档发现它其实最开始是作为hadoop应用被开发出来的,之后再被推广到R,Python等语言。作为一个资深的懒人,通过一番google找到了如下最省力的搭建方法:
- 使用Azure搭建hadoop VM (作为微软员工本来就开通了免费Azure账号)
- 直接在Azure Marketplace上加载Hortonworks Hadoop Sandbox (比起在Linux上装Hadoop不知道方便多少个指数倍)
- 在Hortonworks Hadoop Sandbox 上安装开源H2o deep learning应用平台, 直接包含主流deep learning 算法 (直接上 torch 的大神小女子接受各位的鄙视)
- 熟读H2o 教程,导入数据调整参数跑模型!
第一步:开通Azure账号
八仙过海,各显神通,请保证Azure账号里长期余额超过1000大洋,否则分分钟让你停机!(Azure上VM按分钟收费哦亲!)
第二步:找到Azure Marketplace 安装 Hortonworks Sandbox
贴主使用的是内部通过msdn开通的Azure账号,msdn转到Azure的默认界面是这个manage的界面:
于是,贴主在marketplace里一顿狂找,以hor开头的应用一个也没,这让楼主好生困惑。后来登陆了Azure的portal界面,按照Hortonworks 官方教程(http://hortonworks.com/blog/hortonworks-sandbox-azure/)所述,终于拥有了一台Azure上的Hadoop VM。【坑一,贴主也不明白为什么两个界面进去的marketplace 应用会不一样】
官方教程中要注意的一步就是,记住你的密码和用户名!创建Hadoop Instance时使用的用户名只能是Azure的用户,相当于除了hadoop的一些保留用户名例如root/hue外, Azure在创建Hadoop Instance的同时,也会创建一个新的用户。
第三步: SSH上Azure Hadoop Sandbox 并安装H2o
至此,终于开始了hadoop的一些应用,那么 Azure上Hadoop Sandbox创建之后的IP地址和端口号在哪里呢?悲催的贴主直奔了IP Address 那个选项,不管virtual还是private试了一串都没用。。。然后,贴主看到了Properties, 里面妥妥的写着ssh几个大字,哭晕在厕所!
另, 贴主用的putty做windows下ssh工具,Linux大神可以忽略这句话。
于是,接下来,按照Hortonworks官方视频教程 (http://hortonworks.com/hadoop-tutorial/predictive-analytics-h2o-hortonworks-data-platform/ )和H2o官方文档 (http://h2o-release.s3.amazonaws.com/h2o/master/3053/index.html ),在hadoop sandbox上安装H2o。【坑二】需要注意的是,Hortonworks官方视频教程使用的是上一版的H2o安装文件,新版的hdp jar需要分开安装, 简单来说就是如下几句命令而已 (以hdp2.2为例):
wget http://h2o-release.s3.amazonaws.com/h2o/master/3053/h2o-3.1.0.3053-hdp2.2.zipunzip h2o-3.1.0.3053-hdp2.2.zipcd h2o-3.1.0.3053-hdp2.2hadoop jar h2odriver.jar -nodes 1 -mapperXmx 1g -output hdfsOutputtest一切顺利的话,在putty上你就看到了黑框框显示有blocking,表示h2o 已经launch, 注意,h2o默认的端口是54321,一般新建的hadoop这个端口都是空着的:
第四步:登陆H2o Flow 上传数据
【坑四】史上最坑的一步就此开始。按照教程,此时贴主应该可以在浏览器中输入黑框框提示的IP地址+端口号:10.0.0.4:54321。然并卵,不管贴主输 10.0.0.4:54321, 还是Domain Name: 54321, 都报网页不存在。贴主Linux很菜,找了hadoop小伙伴帮忙,小伙伴在hadoop中运行了这个命令
wget http://localhost:54321发现果然有一个index.html被保存到了hadoop!这直接说明54321这个端口,内部访问已经开通,只是目前还不支持外网访问。
根据贴主多年微软产品经验,修改这种端口问题,大微软从不需要你用code,界面修改是王道。回到Azure portal,赤果果有一个Endpoints 选项,打开一看发现还能新建,那么好,贴主顺理在portal上新建了一个54321的端口。
终于,H2o Flow 的首页可以登陆了,当然地址还是上面提到的10.0.0.4:54321或者Domain Name: 54321,开始享受云上的deep learning平台!【坑五】注意请使用Chrome打开H2o Flow, 用IE的同学你们会死的很惨,基本的运算功能一跑就出错,贴主在IE上生生的浪费了一个下午
具体H2o Flow怎么用那是后话,和本文无关,有兴致了再写。
- 在Azure中快速搭建Deep Learning平台
- Deep Learning Tutorial 学习平台搭建
- Deep Learning-TensorFlow TFLearn 快速搭建深度学习模型Alxnet
- Deep Learning-TensorFlow (10) CNN卷积神经网络_ TFLearn 快速搭建深度学习模型
- windows系统部署python Deep Learning平台
- 基于deep learning的快速图像检索系统
- 基于deep learning的快速图像检索系统
- [Windows Azure] 使用 Windows Azure 快速搭建 Redis 服务器
- 使用 Windows Azure 快速搭建 Redis 服务器
- 在Linux下快速搭建LAMP开发平台
- 如何在MYD-SAMA5D3X平台上快速搭建Android系统
- Deep learning笔记(更新中)
- 如何加层到Deep Learning中去
- Deep learning
- deep learning
- 【deep learning】
- Deep Learning
- Deep Learning
- YII2安装中遇到的错误解决Calling unknown method: yii\web\UrlManager::addRules()
- offsetParent
- 我看我自己系列——我内心的声音
- 利用AutoCompleteTextView连接到数据库实现自动提示功能
- 《程序员面试宝典》(第三版)笔记整理
- 在Azure中快速搭建Deep Learning平台
- JMS订阅/发布消息传送模型
- 【mark,备用】串口硬件流量控制说明
- 关于CLR、CIL、CTS、CLS、CLI、BCL和FCL 的区分与总结
- 关于闭包的理解
- 安全认证框架-apache shiro研究心得
- Linux系统编程——Linux系统调用
- 日经春秋 20150623
- ssh 远程登陆指定端口