怎样在Nvidia的Jetson开发板上运行Caffe深度学习视觉库

【图文】深度学习框架caffe的学习_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
深度学习框架caffe的学习
上传于||文档简介
&&c​a​f​f​e​介​绍​P​P​T
大小:2.05MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢去年11月,一篇名为《Playing Atari with Deep Reinforcement Learning》的文章被初创人工智能公司DeepMind的员工上传到了arXiv网站。两个月之后,谷歌花了500万欧元买下了DeepMind公司,而人们对这个公司的了解仅限于这篇文章。近日,Tartu大学计算机科学系计算神经学小组的学者在robohub网站发表文章,阐述了他们对DeepMind人工智能算法的复现。在arXiv发表的原始论文中,描述了一个单个的网络,它能够自我学习从而自动的玩一些老的电视游戏。它仅仅通过屏幕上面的图像和游戏中的分数是否上升下降,从而做出选择性的动作。在训练的一开始,这个程序对游戏一点都不了解。它并不知道这个游戏的目标,是保持生存、杀死谁或者是走出一个迷宫。它对这个游戏的影响也不清楚,并不知道它的动作会对这个游戏产生什么影响,甚至不知道这个游戏中会有哪些目标物品。通过在这个游戏中尝试并且一遍一遍失败,这个系统会逐渐学会如何表现来获得比较好的分数。同时需要注意的是,这个系统对所有不同的游戏使用了同样的系统结构,程序员没有对不同程序给予这个程序任何特殊的提示,比如上、下或者开火等等。最终结果显示,这个系统能够掌握一些游戏,并且比一些人类玩家还要玩得好。这个结果可以看作对AGI(Artificial General Intelligence)迈近的一小步,非常吸引人。文章给出了如下的细节,从任务、机器学习基础、深度学习模型和学习过程四部分阐述了他们的工作。一、任务这个系统获得了某个游戏屏幕的某幅图像,如下图是从一个最简单的游戏Breakout中获取的一幅图片。在简单的分析之后,它已经选择了如何做出下一步。这个动作已经被执行了,并且这个系统被告知了分数是否增加了、减少了或者没有变。基于这个信息,以及已经进行了的大量的游戏,这个系统会学习如何玩从而提高游戏的分数。二、机器学习和人工神经网络在深入深度学习的实现过程之前,文章先介绍了机器学习和人工神经网络的概念。机器学习的一个非常通常的任务是这样的:给出了一个目标的信息,从而能够知道它属于哪个种类。在深度学习的过程中,程序想要决定在目前游戏状态下如何进行下一步动作。机器学习算法从例子中进行学习:给出了许多的目标例子和它们的种类,学习算法从中找出了那些能够鉴定某个种类的目标特征。学习算法会产生一个模型,能够在训练集中最小化错误分类率。这个模型之后会被用来预测那个未知目标的种类。人工神经网络ANN(Artificial Neural Networks)是机器学习的一个算法。它是由人类的大脑结构产生的灵感。这个网络由许多节点组成,如同大脑由神经元组成,并且互相之间联系在一起,如同神经元之间通过神经突触和神经树联系在一起。对于每个神经元,都会对其应该传递的信号的情况做特殊规定。通过改变这些连接的强弱,可以使得这些网络计算更加快速。现在神经网络的结构通常由如下部分组成:神经的输入层(获得目标的描述)隐藏层(主要部分,在这些层中学习)输出层(对于每个种类都一个神经节点,分数最高的一个节点就是预测的种类)在学习过程结束之后,新的物体就能够送入这个网络,并且能够在输出层看到每个种类的分数。三、深度学习在这个系统中,一个神经网络被用来期望在当前游戏状态下每种可能的动作所得到的反馈。下图给出了文章中所提到的神经网络。这个网络能够回答一个问题,比如“如果这么做会变得怎么样?”。网络的输入部分由最新的四幅游戏屏幕图像组成,这样这个网络不仅仅能够看到最后的部分,而且能够看到一些这个游戏是如何变化的。输入被经过三个后继的隐藏层,最终到输出层。输出层对每个可能的动作都有一个节点,并且这些节点包含了所有动作可能得到的反馈。在其中,会得到最高期望分数的反馈会被用来执行下一步动作。四、学习过程系统通过学习过程来计算最高期望分数。确切地说,在定义了网络的结构之后,剩下唯一会变化的就只有一件事:连接之间的强弱程度。学习过程就是调整这些方式地权重,从而使得通过这个网络的训练样例获得好的反馈。文章将这个问题当作一个优化问题,目标是获取最好的反馈。可以通过将梯度下降与激励学习方法结合起来解决。这个网络不仅仅需要最大化当前的反馈,还需要考虑到将来的动作。这一点可以通过预测估计下一步的屏幕并且分析解决。用另一种方式讲,可以使用(当前反馈减去预测反馈)作为梯度下降的误差,同时会考虑下一幅图像的预测反馈。关于代码的更多细节,可以参考他们报告中的代码架构图:五、总结文章最后给出了DeepMind深度学习的整个流程:构建一个网络并且随机初始化所有连接的权重将大量的游戏情况输出到这个网络中网络处理这些动作并且进行学习如果这个动作是好的,奖励这个系统,否则惩罚这个系统系统通过如上过程调整权重在成千上万次的学习之后,超过人类的表现。这个结果可以看做是在AGI方向的从传统机器学习迈出的一小步。尽管这一步可能非常小,这个系统可能都不知道或者理解它做的事情,但是这个深度学习系统的学习能力远远超过之前的系统。并且,在没有程序员做任何提示的情况下,它的解决问题的能力也更加宽广。他们的代码可以在GitHub主页上找到。深度学习实验室(gh_2bb5b7eb2268) 
 文章为作者独立观点,不代表大不六文章网立场
gh_2bb5b7eb2268专注于深度学习最新技术进展,分享深度学习方面的技术内容热门文章最新文章gh_2bb5b7eb2268专注于深度学习最新技术进展,分享深度学习方面的技术内容&&&&违法和不良信息举报电话:183-
举报邮箱:
Copyright(C)2016 大不六文章网
京公网安备78辉达(NVIDIA)宣布推出首款车载人工智慧引擎--DRIVE PX 2,加速自动驾驶车发展。该平台采用NVIDIA先进的绘图处理器(GPU)处理深度学习功能,以掌握车子周遭360度的情况,精准判断车子所在位置,并推算出安全舒适的行进路线,让车厂能运用人工智慧处理自动驾驶面临的各种复杂情境。此一平台预计将于2016年第四季上市。NVIDIA共同创办人暨执行长黄仁勋表示,NVIDIA的GPU在深度学习与超级运算演进方面,扮演关键要角,该公司利用它们构建未来自动驾驶车的大脑,使其能随时警戒监控,最终达到超越人类的情境感知能力。未来,自动驾驶车将带来更高的安全性、崭新便利的行动服务,甚至是深具美感的都会设计。据悉,DRIVE PX 2结合了两颗新一代Tegra处理器及两颗独立的Pascal架构新一代GPU,能提供每秒24兆次的深度学习运算速度,其特殊设计的指令集加快深度学习网路介面中采用的数学运算法,比前一代产品的运算效能高十倍以上。此一强大的深度学习能力,使DRIVE PX 2得以快速学习如何辨识日常驾驶中经常出现的各种挑战,例如道路碎石、行径离谱的违规驾驶,以及施工区域等。深度学习亦能辨识多种传统电脑视觉技术所无法应付的状况,特别是像大雨、下雪及浓雾等恶劣天候,甚至包括日出、日落与漆黑等光线不足的光照条件。同时,DRIVE PX 2能处理十二个视讯摄影机、光达、雷达,以及超音波感测器的输入资料,加以融合后而得以精确地侦测物件、识别并确定车子相对于周围的所在位置,再推算出安全行车的最佳路径。此一复杂的运算工作是经由NVIDIA DriveWorks执行。 DriveWorks结合众多软体工具、函式库及模组,能支援所有自动驾驶管道,包括从物体侦测、分类与分段,一直到地图定位与路径规划,使业者可快速开发与测试各种自动驾驶车;并实现感测器校正、撷取周围环境资料、同步化、录制,进而透过涵盖所有DRIVE PX 2专用与通用处理器上运行的复杂演算法线程,处理多个感测器资料流。另外,在通用浮点运算方面,DRIVE PX 2的多倍精准度GPU架构能达到每秒8兆次的运算速度,比前一代产品高四倍以上。这让合作厂商能处理各式各样的自动驾驶演算法,包括感测器融合、精细定位及路径规划;而在需要多层次的深度学习网路时,亦能提供高精准度的运算。深度学习实验室(gh_2bb5b7eb2268) 
 文章为作者独立观点,不代表大不六文章网立场
gh_2bb5b7eb2268专注于深度学习最新技术进展,分享深度学习方面的技术内容热门文章最新文章gh_2bb5b7eb2268专注于深度学习最新技术进展,分享深度学习方面的技术内容&&&&违法和不良信息举报电话:183-
举报邮箱:
Copyright(C)2016 大不六文章网
京公网安备78《UFLDL-斯坦福大学Andrew Ng教授“Deep Learning”教程》介绍:本教程将阐述无监督特征学习和深度学习的主要观点。通过学习,你也将实现多个功能学习/深度学习算法,能看到它们为你工作,并学习如何应用/适应这些想法到新问题上。本教程假定机器学习的基本知识(特别是熟悉的监督学习,逻辑回归,梯度下降的想法),如果你不熟悉这些想法,我们建议你去这里机器学习课程,并先完成第II,III,IV章(到逻辑回归)。此外这关于这套教程的源代码在github上面已经有python版本了 UFLDL Tutorial Code*《Deep Learning for Natural Language Processing and Related Applications》介绍:这份文档来自微软研究院,精髓很多。如果需要完全理解,需要一定的机器学习基础。不过有些地方会让人眼前一亮,毛塞顿开。Understanding Convolutions介绍:这是一篇介绍图像卷积运算的文章,讲的已经算比较详细的了《Machine Learning Summer School》介绍:每天请一个大牛来讲座,主要涉及机器学习,大数据分析,并行计算以及人脑研究。/user/smolix (需翻墙)《Awesome Machine Learning》介绍:一个超级完整的机器学习开源库总结,如果你认为这个碉堡了,那后面这个列表会更让你惊讶:【Awesome Awesomeness】,国内已经有热心的朋友进行了翻译中文介绍,机器学习数据挖掘免费电子书斯坦福《自然语言处理》课程视频介绍:ACL候任主席、斯坦福大学计算机系Chris Manning教授的《自然语言处理》课程所有视频已经可以在斯坦福公开课网站上观看了(如Chrome不行,可用IE观看) 作业与测验也可以下载。《Deep Learning and Shallow Learning》介绍:对比 Deep Learning 和 Shallow Learning 的好文,来着浙大毕业、MIT 读博的 Chiyuan Zhang 的博客。《Recommending music on Spotify with deep learning》介绍:利用卷积神经网络做音乐推荐。《Neural Networks and Deep Learning》介绍:神经网络的免费在线书,已经写了三章了,还有对应的开源代码:/mnielsen/neural-networks-and-deep-learning 爱好者的福音。《Java Machine Learning》介绍:Java机器学习相关平台和开源的机器学习库,按照大数据、NLP、计算机视觉和Deep Learning分类进行了整理。看起来挺全的,Java爱好者值得收藏。进入微信公众号“深度学习实验室”,回复1202,可下载机器学习和深度学习学习资料专题三相关技术资料,本期资料请关注后续专题深度学习实验室(gh_2bb5b7eb2268) 
 文章为作者独立观点,不代表大不六文章网立场
gh_2bb5b7eb2268专注于深度学习最新技术进展,分享深度学习方面的技术内容热门文章最新文章gh_2bb5b7eb2268专注于深度学习最新技术进展,分享深度学习方面的技术内容&&&&违法和不良信息举报电话:183-
举报邮箱:
Copyright(C)2016 大不六文章网
京公网安备78[转载]如何在Jetson TK1上安装Caffe深度学习库
已有 969 次阅读
|个人分类:|系统分类:|关键词:GPU 并行计算 深度学习|文章来源:转载
& & & &Caffe的创造者&,最近花了些时间在NVIDIA Jetson 开发板上运行caffe框架。Jetson TK1 有192个CUDA核,是非常适用于深度学习这种计算任务的。未来,如果我们想在移动设备上做一些事情的话,Jetson是一个不错的选择,而且它预装Ubuntu操作系统,因此也是非常易于开发的。
& & & Caffe内置了Alexnet模式,这是Imagenet-winning 架构的一个版本,可以识别1000个不同种类的物体。用这个作为一种benchmark,Jetson可以在34ms里分析一个图像。 & & &接下来,介绍如何在Jetson 上安装并运行Caffe. & 安装 & & & 你从盒子里拿到Jetson的第一步是登录。你可以接一个显示器和键盘,但我倾向于你将它跟一个本地路由连接,然后ssh访问。 & 上有具体的步骤(不明白的地方可以在我们的QQ技术群里询问) ,这时候在你的本地网络上会出现 tegra-ubuntu.local , username 是ubuntu:ssh ubuntu@tegra-ubuntu.local & & & 默认密码是 ubuntu,接下来我们需要安装NVIDIA的驱动,然后重启: sudo NVIDIA-INSTALLER/installer.shsudo shutdown -r now & & & 一旦开发板重启后,你可以登录进去,然后继续安装Caffe所需的环境: ssh ubuntu@tegra-ubuntu.localsudo add-apt-repository universesudo apt-get updatesudo apt-get install libprotobuf-dev protobuf-compiler gfortran \libboost-dev cmake libleveldb-dev libsnappy-dev \libboost-thread-dev libboost-system-dev \libatlas-base-dev libhdf5-serial-dev libgflags-dev \libgoogle-glog-dev liblmdb-dev gcc-4.7 g++-4.7 & & & 你需要安装 Cuda SDK 以建立和运行GPU程序(CUDA环境安装步骤都已经放在QQ技术群里,安装过程有任何问题,请随时在群里提出)。 & & & &如果一切顺利,你运行‘nvcc -V可以看到一个完整的编译器版本信息。这个时候你需要安装Tegra版本的OpenCV. &(安装步骤同样在QQ群里找) & & & 我们需要下载并安装Caffesudo apt-get install -y gitgit clone cd caffe && git checkout devcp Makefile.config.example Makefile.configsed -i &s/# CUSTOM_CXX := g++/CUSTOM_CXX := g++-4.7/& Makefile.config我们必须使用gcc 4.7版本,因为默认4.8会有一些问题。你应该可以完成整个安装。make -j 8 all & & & &一旦完成这可,你可以运行一下Caffe的测试包来检查是否安装成功。这个可能需要花费一些时间,但希望一切顺利。 make -j 8 runtest & & & 最后,你可以运行一下Caffe的基准代码来检测一下性能。 build/tools/caffe time --model=models/bvlc_alexnet/deploy.prototxt --gpu=0 & & & 这个可能需要花费30秒,输出一组统计数字。它运行50迭代的识别pipleline。每个分析10个不同的输入图像。因此看一下“‘Average Forward pass”时间,然后除以10就可以得到每个识别时间。我的结果是337.86ms,所以每个图像大概是34ms。你也可以把-gpu=0的标志去掉,看一下CPU的结果。在我这里看是大概585ms,所以你看CUDA还是起到作用了。 来源:/qianduan/front/getNewsArc?articleid=83
转载本文请联系原作者获取授权,同时请注明本文来自陈立平科学网博客。链接地址:
上一篇:下一篇:
当前推荐数:0
评论 ( 个评论)
扫一扫,分享此博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &

我要回帖

 

随机推荐