1、要建立并保持对远程服务器的连接,需要对fabricConnection()进行实例化。
2、完成了连接服务器及执行指定命令的过程,且run()方法所执行的命令打印出的结果,可以通过stdout属性进行保存。
3、配合invokeResponder来实现当命令行返回密码输入提示时,自动输入并执行指定的命令。
4、完成连接。您好,学习机器视觉不一定需要有服务器,但是对于大规模的数据处理和模型训练,服务器可以提供更好的计算性能和存储资源,从而加快学习速度和提高模型的准确性。
在学习机器视觉的过程中,需要大量的数据集和算力来训练模型。如果使用个人电脑进行训练,可能会面临计算速度慢、内存不足等问题,而服务器可以提供更好的硬件资源来支持数据处理和模型训练。
另外,服务器还可以提供更好的数据安全性和可靠性。如果将数据存储在个人电脑中,可能会面临数据丢失或泄露的风险,而服务器可以提供更好的数据备份和安全措施,保障数据的安全性和可靠性。
综上所述,学习机器视觉不一定需要有服务器,但是服务器可以提供更好的计算性能、存储资源、数据安全性和可靠性,从而提高学习效率和保障数据安全。
随着物联网的发展和进步,所有可以想象到的东西和行业都变得更加智能:智能家居和城市、智能制造机械、互联汽车、互联健康等等。无数能够收集和交换数据的事物正在形成一个全新的网络——物联网——物理对象网络,可以在云中收集数据、传输数据并完成用户的任务。
物联网和大数据正走向胜利。尽管如此,仍有一些特殊性和陷阱需要牢记,以受益于这一创新。在本文中,我们很高兴地分享我们在物联网咨询方面挖掘的知识。
如何应用物联网大数据
首先,从物联网大数据中获取好处的方法有很多种:在某些情况下,快速分析就足以获得好处,而一些有价值的结果只有在更深入的数据处理之后才能获得。
实时监控。通过连接设备收集的大数据可用于实时 *** 作:测量家中或办公室的温度、跟踪物理活动(计数步骤、监控运动)等。实时监测在医疗保健中非常使用(例如,测量心率、测量血压、糖)。它还成功地应用于制造业(控制生产机械)、农业(监测牛和植物)和其他行业。
数据分析。处理物联网生成的大数据,有机会超越监控,从这些数据中获取有价值的见解:识别趋势和趋势,揭示看不见的模式,并找到隐藏的信息和相关性。
过程控制和优化。来自传感器的数据提供了额外的上下文,以揭示影响性能和优化流程的非平凡问题。
交通管理:跟踪不同日期和时间的交通负荷,找出旨在优化交通的建议(例如,在一定时间段增加火车和公共汽车的数量,看看是否有利可图,建议引入新的红绿灯方案,并修建新的道路,使一些街道不那么繁忙,并管理交通拥堵)。
零售:由于一些商品在购物场所几乎结束了,超市的人员被告知,例如,重新装货架的商品。
农业:根据传感器的数据,在必要时种植水厂。
预测性维护。使用连接设备收集的数据可以成为预测风险的可靠来源,从而主动识别潜在危险条件,例如:
医疗保健:监测患者状态和识别风险(例如,患者有糖尿病、心脏病的风险),及时采取措施。
制造:预测设备故障。
并非所有的物联网解决方案都需要大数据。还应指出,并非所有的物联网解决方案都需要大数据(例如,如果智能家居的所有者要在手机的帮助下关灯,则此 *** 作可能无需大数据即可执行)。考虑减少处理动态数据的努力并避免大量存储数据非常重要,因为将来不需要这些存储。
物联网中的大数据挑战
大量的数据是完全没用的,除非他们被处理,以获得有价值的东西。此外,与数据收集、处理和存储相关的各种挑战。
数据可靠性。虽然大数据从来不是 100% 准确的,但在分析数据之前,必须确保传感器正常工作,用于分析的数据质量可靠,不会受到各种因素的影响(例如,机械运行环境不利、传感器故障)。
要存储哪些数据。连接的事物生成 TB 的数据,选择存储哪些数据以及丢弃哪些数据是一项艰巨的任务。更重要的是,一些数据的价值远未浮出水面,但您将来可能需要这些数据。如果您决定为未来存储数据,则面临的挑战是以最少的成本(只要数据存储和处理成本相当昂贵)来存储数据。
分析深度。一旦并非所有大数据都很重要,另一个挑战就会出现:何时足以通过快速分析,何时更深入的分析可以带来更多价值。
安全性。毫无疑问,各个部门的互联可以改善我们的生活,但与此同时,数据安全也非常重要。网络罪犯可以访问数据中心和设备,连接到交通系统、发电厂、工厂,从电信运营商那里窃取个人数据。物联网大数据是安全专家比较新的现象,缺乏相关经验会增加安全风险。
物联网解决方案中的大数据处理
在物联网系统中,物联网架构的数据处理组件因传入数据的特殊性、预期结果等而异。我们已经制定了处理物联网解决方案中大数据的方法。
数据来自连接到事物的传感器。一个”东西”可以字面上是任何对象:烤箱,汽车,飞机,建筑物,工业机器,康复设备。数据定期或流式传输。后者对于实时数据处理和管理至关重要。
Things 将数据发送到网关,确保初始数据过滤和预处理减少传输到下一个物联网系统块的数据量。
边缘分析。在进行深入的数据分析之前,进行数据过滤和预处理以选择某些任务所需的最相关数据是有意义的。此外,此阶段确保实时分析能够快速识别之前通过云中的深度分析发现的有用模式。
云网关对于不同数据协议之间的基本协议翻译和通信是必要的。它还支持数据压缩,并保护字段网关和中央物联网服务器之间的数据传输。
连接设备生成的数据以自然格式存储在数据湖中。原始数据来到带有”流”的数据湖。数据保存在数据湖中,直到可用于业务目的。清洁和结构化数据存储在数据仓库中。
机器学习。机器学习模块根据以前积累的历史数据生成模型。这些模型定期(例如,每月更新一次)与新的数据流。传入的数据被积累并应用于培训和创建新模型。当这些模型经过专家测试和批准时,它们可用于控制应用程序,该应用程序会针对新的传感器数据发送命令或警报。
总结一下
物联网生成了大量大数据,可用于实时监控、分析、流程优化和预测维护,仅举几例。但是,应该记住,从各种格式的海量数据中获取有价值的见解并不是一件小事:您需要确保传感器正常工作,数据安全传输并有效处理。此外,总有一个问题:哪些数据值得存储和处理(只要这两个过程都相当昂贵)。
尽管存在上述潜在问题,但应记住,物联网发展势头强劲,帮助多个行业的企业开拓新的数字机遇。
亚马逊云科技在北京举办大数据与人工智能技术新闻媒体沟通交流会,公布发布“云、数、智三位一体”的大数据与机器学习结合服务项目组成。亚马逊云科技还联合乐我无尽(Joyme)、上海欣兆阳(Convertlab)等合作方共享了亚马逊云科技在推动公司数智结合领域的有关实例。
亚马逊云科技大中华区产品部经理陈晓建谈道,亚马逊云科技有两个数智结合领域的关键核心理念:一是在云中完成数据与智能化的大结合将变为公司加快自主创新的模块,二是公司应在云中打造出统一的数据基本基座,完成大数据与机器学习的“双剑和一”,为公司发展提供新引擎。
亚马逊云科技大中华区产品部技术专家团队主管王晓野详尽分析了亚马逊云科技的“智能化湖仓”构架向着深层智能化大方向的多种更新成效。
大数据与人工智能应用怎样结合?亚马逊云科技在这方面开展过什么科学研究和探讨?大数据与人工智能技术结合后,又能给公司用户产生什么更改?文中对那些问题开展了深入分析。
陈晓建说,伴随着公司的数据愈来愈多,机器学习实体模型愈来愈优秀,许多公司期待根据大数据技术性和机器学习技术的结合,进一步推动公司的工作自主创新,提高公司产出率。
可是,公司通常会遭遇如此一个窘境:有着很多的数据和剖析测算,试着了多种多样领先的机器学习实体模型,但是难以有具体的业务流程产出率。从技术性发展看来,大数据技术性和机器学习技术走的是不一样线路,大数据注重数据自身的收集、提升,而机器学习技术性注重优化算法自身的提升、调参。
陈晓建谈道,从总体上公司的机器学习生产制造化遭遇三层面的挑战。一是大数据与机器学习分而治之,这两一部分通常是不一样精英团队承担,非常容易发生数据荒岛、技术性荒岛,牵制有关运用的迅速梯度下降法。二是数据解决的能力不足,无法解决大量的业务流程数据,这牵制着机器学习由试验转为实践活动。三是数据剖析工作人员的关注度低,产品研发产品测试表现不错的计算方法实体模型,很有可能在具体应用中形成的作用不太理想化,由于真正自然环境的复杂性更高一些一些。
因此,亚马逊云科技发布了“云、数、智三位一体”的服务项目组成。最先是要搭建云中统一的数据整治基座,摆脱数据与专业技能荒岛。
亚马逊云科技通过帮助用户构建统一的数据整治基座,完成用户常用的大数据和机器学习运用的数据共享资源、数据管理权限的统一监管,及其二者统一的开发设计和步骤编辑。为机器学习提供生产制造等级的数据解决工作能力,助推机器学习由试验变为实践活动。
亚马逊云科技能提供多种多样灵便可拓展、专业搭建的大数据服务项目,助推用户开展比较复杂的数据生产加工级解决,来应对数据经营规模的变化规律、提升数据品质。
让数据剖析智能化系统,颠覆式创新公司业务员探寻自主创新。亚马逊云科技为用户提供更自动化的数据剖析服务项目,让业务员就可以进行数据分析系统、实体模型实际效果认证及其独立式自主创新。陈晓建说全世界数十万用户都是在应用亚马逊云科技的大数据及机器学习服务项目。
上年亚马逊云科技发布了“智能化湖仓”构架,为用户提供有关的数智化服务项目。王晓野共享了从公布到现在一年至今,亚马逊云科技的“智能化湖仓”构架拥有什么新的转变。
云中统一的数据整治基座层面,亚马逊云科技的AmazonSageMakerStudio可以一站式地进行数据开发设计、实体模型及相应的制造每日任务,为大数据和机器学习提供统一的软件开发平台。
亚马逊云科技还能提供AmazonLakeFormation,该运用新增加了众多作用,可以协助用户完成数据网格图部门协作的数据财产共享资源,及其根据工作表的最粗粒度的权限管理体制。
为机器学习提供生产制造等级的数据解决功能层面,亚马逊云科技有可以适用多种多样开源框架的大数据服务平台AmazonAthena。AmazonAthena可以对AmazonEMR、性能卓越关联数据库AmazonAurora、NoSQL数据库服务项目AmazonDynamoDB、AmazonRedshift等数据源的数据开展联邦政府查看,从而迅速进行机器学习模型的数据生产加工。
亚马逊云科技还构建了无网络服务器逻辑思维能力,包含AmazonRedshift、Amazon ManagedStreaming for Apache Kafka(AmazonMSK)和AmazonEMR等运用。这种可以让用户不用配备、拓展或是管理方法最底层的基础设施建设就能解决一切经营规模的数据,为用户的机器学习新项目提供兼顾特性和成本效益的特点数据提前准备。
数据剖析智能化系统层面,亚马逊云科技在日常分析工具中集成化了机器学习模型预测工作能力,还提供如可视性数据提前准备专用工具AmazonGlueDatabrew、零编码化的机器学习模型工具AmazonSageMakerCanvas等服务项目,让业务员探寻机器学习模型。
亚马逊云科技此次还邀约了乐我无尽和上海欣兆阳这二位合作方的所属单位来共享其与亚马逊云科技协作的环境、全过程和成果。
乐我无限数据研发中心主管杨飞说,乐我无尽经营的经济全球化网络直播平台LiveMe上边有来源于200很多个国家或区域的用户,数据量特别大,并且还要保证合规管理经营等。
乐我无尽根据亚马逊云科技的解决方法构建了直播内容识别技术、诈骗买卖识别技术。直播内容识别系统协助乐我无尽提高了用户感受,减少了内容管理系统的工作成本费。乐我无尽根据诈骗买卖识别技术降低诈骗、不付类买卖,从而每一年降低财产损失可以达数百万美元。
上海欣兆阳创始人兼CTO李征谈道,上海欣兆阳和亚马逊云科技在营销推广企业战略转型层面开展了协作。上海欣兆阳是一家营销云生产商,能提供一体化营销云商品。
根据数据智能化的营销推广会给公司用户产生大量机遇。人工智能技术让以用户为核心的营销推广可以实现定向推广信息内容的正确引导。但数据智能营销解决方法还面临着多种多样云端挑战。一是数据整治与机器学习工作流程弱关系,二是数据的加工处理与研究必须消耗大量的时间精力,三是实体模型梯度下降法、维护保养等管理方法方面的效果较低。
上海欣兆阳根据亚马逊云科技的统一的数据基本基座,上海欣兆阳构建了一体化数据智能湖仓架构DataHub和一体化高效率机器学习服务平台AIHub。这两项运用能将数据运转的及时性提高了32%,实体模型发布高效率提高了30%。
亚马逊云科技依据自己的 *** 作及其对制造行业的观查,打造了一套“云、数、智三位一体”服务项目组成,为用户提供结合人工智能技术和大数据的解决方法。
不仅人工智能技术、大数据技术性在颠覆式创新公司企业战略转型,更高效率发展趋势,也有如物联网技术、数字孪生这些智能化科技一起推动公司更快发展趋势。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
基本简介:
机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。
机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测xyk欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。
学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。比如,Langley(1996) 定义的机器学习是“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。(Machine learning is a science of the artificial The field's main objects of study are artifacts, specifically algorithms that improve their performance with experience')Tom Mitchell的机器学习(1997)对信息论中的一些概念有详细的解释,其中定义机器学习是提到,“机器学习是对能通过经验自动改进的计算机算法的研究”。(Machine Learning is the study of computer algorithms that improve automatically through experience)Alpaydin(2004)同时提出自己对机器学习的定义,“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”(Machine learning is programming computers to optimize a performance criterion using example data or past experience)
尽管如此,为了便于进行讨论和估计学科的进展,有必要对机器学习给出定义,即使这种定义是不完全的和不充分的。顾名思义, 机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机;现在是电子计算机,以后还可能是中子计算机、光子计算机或神经计算机等等。
机器能否象人类一样能具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题。
机器的能力是否能超过人的,很多持否定意见的人的一个主要论据是:机器是人造的,其性能和动作完全是由设计者规定的,因此无论如何其能力也不会超过设计者本人。这种意见对不具备学习能力的机器来说的确是对的,可是对具备学习能力的机器就值得考虑了,因为这种机器的能力在应用中不断地提高,过一段时间之后,设计者本人也不知它的能力到了何种水平。
机器学习是人工智能研究较为年轻的分支,它的发展过程大体上可分为4个时期。
第一阶段是在50年代中叶到60年代中叶,属于热烈时期。…>
第二阶段是在60年代中叶至70年代中叶,被称为机器学习的冷静时期。
第三阶段是从70年代中叶至80年代中叶,称为复兴时期。
机器学习的最新阶段始于1986年。
机器学习进入新阶段的重要表现在下列诸方面:
(1) 机器学习已成为新的边缘学科并在高校形成一门课程。它综合应用心理学、生物学和神经生理学以及数学、自动化和计算机科学形成机器学习理论基础。
(2) 结合各种学习方法,取长补短的多种形式的集成学习系统研究正在兴起。特别是连接学习符号学习的耦合可以更好地解决连续性信号处理中知识与技能的获取与求精问题而受到重视。
(3) 机器学习与人工智能各种基础问题的统一性观点正在形成。例如学习与问题求解结合进行、知识表达便于学习的观点产生了通用智能系统SOAR的组块学习。类比学习与问题求解结合的基于案例方法已成为经验学习的重要方向。
(4) 各种学习方法的应用范围不断扩大,一部分已形成商品。归纳学习的知识获取工具已在诊断分类型专家系统中广泛使用。连接学习在声图文识别中占优势。分析学习已用于设计综合型专家系统。遗传算法与强化学习在工程控制中有较好的应用前景。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划中发挥作用。
(5) 与机器学习有关的学术活动空前活跃。国际上除每年一次的机器学习研讨会外,还有计算机学习理论会议以及遗传算法会议。
13个最常用的Python深度学习库介绍如果你对深度学习和卷积神经网络感兴趣,但是并不知道从哪里开始,也不知道使用哪种库,那么这里就为你提供了许多帮助。
在这篇文章里,我详细解读了9个我最喜欢的Python深度学习库。
这个名单并不详尽,它只是我在计算机视觉的职业生涯中使用并在某个时间段发现特别有用的一个库的列表。
这其中的一些库我比别人用的多很多,尤其是Keras、mxnet和sklearn-theano。
其他的一些我是间接的使用,比如Theano和TensorFlow(库包括Keras、deepy和Blocks等)。
另外的我只是在一些特别的任务中用过(比如nolearn和他们的Deep Belief Network implementation)。
这篇文章的目的是向你介绍这些库。我建议你认真了解这里的每一个库,然后在某个具体工作情境中你就可以确定一个最适用的库。
我想再次重申,这份名单并不详尽。此外,由于我是计算机视觉研究人员并长期活跃在这个领域,对卷积神经网络(细胞神经网络)方面的库会关注更多。
我把这个深度学习库的列表分为三个部分。
第一部分是比较流行的库,你可能已经很熟悉了。对于这些库,我提供了一个通俗的、高层次的概述。然后,针对每个库我详细解说了我的喜欢之处和不喜欢之处,并列举了一些适当的应用案例。
第二部分进入到我个人最喜欢的深度学习库,也是我日常工作中使用最多的,包括:Keras、mxnet和sklearn-theano等。
最后,我对第一部分中不经常使用的库做了一个“福利”板块,你或许还会从中发现有用的或者是在第二板块中我还没有尝试过但看起来很有趣的库。
接下来就让我们继续探索。
针对初学者:
Caffe
提到“深度学习库”就不可能不说到Caffe。事实上,自从你打开这个页面学习深度学习库,我就敢打保票你肯定听说Caffe。
那么,究竟Caffe是什么呢?
Caffe是由Berkeley Vision and Learning Center(BVLC)建立的深度学习框架。它是模块化的,速度极快。而且被应用于学术界和产业界的start-of-the-art应用程序中。
事实上,如果你去翻阅最新的深度学习出版物(也提供源代码),你就很可能会在它们相关的GitHub库中找到Caffe模型。
虽然Caffe本身并不是一个Python库,但它提供绑定到Python上的编程语言。我们通常在新领域开拓网络的时候使用这些绑定。
我把Caffe放在这个列表的原因是它几乎被应用在各个方面。你可以在一个空白文档里定义你的模型架构和解决方案,建立一个JSON文件类型的prototxt配置文件。Caffe二进制文件提取这些prototxt文件并培训你的网络。Caffe完成培训之后,你可以把你的网络和经过分类的新图像通过Caffe二进制文件,更好的就直接通过Python或MATLAB的API。
虽然我很喜欢Caffe的性能(它每天可以在K40 GPU上处理60万张),但相比之下我更喜欢Keras和mxnet。
主要的原因是,在prototxt文件内部构建架构可能会变得相当乏味和无聊。更重要的是, Caffe不能用编程方式调整超参数!由于这两个原因,在基于Python的API中我倾向于对允许我实现终端到终端联播网的库倾斜(包括交叉验证和调整超参数)。
Theano
在最开始我想说Theano是美丽的。如果没有Theano,我们根本不会达到现有的深度学习库的数量(特别是在Python)。同样的,如果没有numpy,我们就不会有SciPy、scikit-learn和 scikit-image,,同样可以说是关于Theano和深度学习更高级别的抽象。
非常核心的是,Theano是一个Python库,用来定义、优化和评估涉及多维数组的数学表达式。 Theano通过与numpy的紧密集成,透明地使用GPU来完成这些工作。
虽然可以利用Theano建立深度学习网络,但我倾向于认为Theano是神经网络的基石,同样的numpy是作为科学计算的基石。事实上,大多数我在文章中提到的库都是围绕着Theano,使自己变得更加便利。
不要误会我的意思,我爱Theano,我只是不喜欢用Theano编写代码。
在Theano建设卷积神经网络就像只用本机Python中的numpy写一个定制的支持向量机(SVM),当然这个对比并不是很完美。
你可以做到吗?
当然可以。
它值得花费您的时间和精力吗?
嗯,也许吧。这取决于你是否想摆脱低级别或你的应用是否需要。
就个人而言,我宁愿使用像Keras这样的库,它把Theano包装成更有人性化的API,同样的方式,scikit-learn使机器学习算法工作变得更加容易。
TensorFlow
与Theano类似,TensorFlow是使用数据流图进行数值计算的开源库(这是所有神经网络固有的特征)。最初由谷歌的机器智能研究机构内的Google Brain Team研究人员开发,此后库一直开源,并提供给公众。
相比于Theano ,TensorFlow的主要优点是分布式计算,特别是在多GPU的环境中(虽然这是Theano正在攻克的项目)。
除了用TensorFlow而不是Theano替换Keras后端,对于TensorFlow库我并没有太多的经验。然而在接下来的几个月里,我希望这有所改变。
Lasagne
Lasagne是Theano中用于构建和训练网络的轻量级库。这里的关键词是轻量级的,也就意味着它不是一个像Keras一样围绕着Theano的重包装的库。虽然这会导致你的代码更加繁琐,但它会把你从各种限制中解脱出来,同时还可以让您根据Theano进行模块化的构建。
简而言之:Lasagne的功能是Theano的低级编程和Keras的高级抽象之间的一个折中。
我最喜欢的:
Keras
如果我必须选出一个最喜欢的深度学习Python库,我将很难在Keras和mxnet中做出抉择——但最后,我想我会选Keras。
说真的,Keras的好处我说都说不完。
Keras是一个最低限度的、模块化的神经网络库,可以使用Theano或TensorFlow作为后端。Keras最主要的用户体验是,从构思到产生结果将会是一个非常迅速的过程。
在Keras中架构网络设计是十分轻松自然的。它包括一些state-of-the-art中针对优化(Adam,RMSProp)、标准化(BatchNorm)和激活层(PReLU,ELU,LeakyReLU)最新的算法。
Keras也非常注重卷积神经网络,这也是我十分需要的。无论它是有意还是无意的,我觉得从计算机视觉的角度来看这是非常有价值的。
更重要的是,你既可以轻松地构建基于序列的网络(其中输入线性流经网络)又可以创建基于图形的网络(输入可以“跳过”某些层直接和后面对接)。这使得创建像GoogLeNet和SqueezeNet这样复杂的网络结构变得容易得多。
我认为Keras唯一的问题是它不支持多GPU环境中并行地训练网络。这可能会也可能不会成为你的大忌。
如果我想尽快地训练网络,那么我可能会使用mxnet。但是如果我需要调整超参数,我就会用Keras设置四个独立的实验(分别在我的Titan X GPUs上运行)并评估结果。
mxnet
我第二喜欢的深度学习Python库无疑就是mxnet(重点也是训练图像分类网络)。虽然在mxnet中站立一个网络可能需要较多的代码,但它会提供给你惊人数量的语言绑定(C ++、Python、R、JavaScript等)。
Mxnet库真正出色的是分布式计算,它支持在多个CPU / GPU机训练你的网络,甚至可以在AWS、Azure以及YARN集群。
它确实需要更多的代码来设立一个实验并在mxnet上运行(与Keras相比),但如果你需要跨多个GPU或系统分配训练,我推荐mxnet。
sklearn-theano
有时候你并不需要终端到终端的培养一个卷积神经网络。相反,你需要把CNN看作一个特征提取器。当你没有足够的数据来从头培养一个完整的CNN时它就会变得特别有用。仅仅需要把你的输入图像放入流行的预先训练架构,如OverFeat、AlexNet、VGGNet或GoogLeNet,然后从FC层提取特征(或任何您要使用的层)。
总之,这就是sklearn-theano的功能所在。你不能用它从头到尾的训练一个模型,但它的神奇之处就是可以把网络作为特征提取器。当需要评估一个特定的问题是否适合使用深度学习来解决时,我倾向于使用这个库作为我的第一手判断。
nolearn
我在PyImageSearch博客上用过几次nolearn,主要是在我的MacBook Pro上进行一些初步的GPU实验和在Amazon EC2 GPU实例中进行深度学习。
Keras把 Theano和TensorFlow包装成了更具人性化的API,而nolearn也为Lasagne做了相同的事。此外,nolearn中所有的代码都是与scikit-learn兼容的,这对我来说绝对是个超级的福利。
我个人不使用nolearn做卷积神经网络(CNNs),但你当然也可以用(我更喜欢用Keras和mxnet来做CNNs)。我主要用nolearn来制作Deep Belief Networks (DBNs)。
DIGITS
DIGITS并不是一个真正的深度学习库(虽然它是用Python写的)。DIGITS(深度学习GPU培训系统)实际上是用于培训Caffe深度学习模式的web应用程序(虽然我认为你可以破解源代码然后使用Caffe以外其他的后端进行工作,但这听起来就像一场噩梦)。
如果你曾经用过Caffe,那么你就会知道通过它的终端来定义prototxt文件、生成图像数据、运行网络并监管你的网络训练是相当繁琐的。 DIGITS旨在通过让你在浏览器中执行这些任务来解决这个问题。
此外,DIGITS的用户界面非常出色,它可以为你提供有价值的统计数据和图表作为你的模型训练。另外,你可以通过各种输入轻松地可视化网络中的激活层。最后,如果您想测试一个特定的图像,您可以把上传到你的DIGITS服务器或进入的URL,然后你的Caffe模型将会自动分类图像并把结果显示在浏览器中。干净利落!
Blocks
说实话,虽然我一直想尝试,但截至目前我的确从来没用过Blocks(这也是我把它包括在这个列表里的原因)。就像许多个在这个列表中的其他库一样,Blocks建立在Theano之上,呈现出一个用户友好型的API。
deepy
如果让你猜deepy是围绕哪个库建立的,你会猜什么?
没错,就是Theano。
我记得在前一段时间用过deepy(做了初始提交),但在接下里的大概6-8个月我都没有碰它了。我打算在接下来的博客文章里再尝试一下。
pylearn2
虽然我从没有主动地使用pylearn2,但由于历史原因,我觉得很有必要把它包括在这个列表里。 Pylearn2不仅仅是一般的机器学习库(地位类似于scikit-learn),也包含了深度学习算法的实现。
对于pylearn2我最大的担忧就是(在撰写本文时),它没有一个活跃的开发者。正因为如此,相比于像Keras和mxnet这样的有积极维护的库,推荐pylearn2我还有些犹豫。
Deeplearning4j
这本应是一个基于Python的列表,但我想我会把Deeplearning4j包括在这里,主要是出于对他们所做事迹的无比崇敬——Deeplearning4j为JVM建立了一个开源的、分布式的深度学习库。
如果您在企业工作,你可能会有一个塞满了用过的Hadoop和MapReduce服务器的储存器。也许这些你还在用,也许早就不用了。
你怎样才能把这些相同的服务器应用到深度学习里?
事实证明是可以的——你只需要Deeplearning4j。
总计
以上就是本文关于13个最常用的Python深度学习库介绍的全部内容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)