TensorFlow是Google开发的一款开源软件库,专为深度学习或人工神经网络而设计。TensorFlow允许你可以使用流程图创建神经网络和计算模型。它是可用于深度学习的最好维护和最为流行的开源库之一。TensorFlow框架可以使用C++也可以使用Python。其他类似的基于Python的深度学习框架包括Theano,Torch,Lasagne,Blocks,MXNet,PyTorch和Caffe。你可以使用TensorBoard进行简单的可视化并查看计算流水线。其灵活的架构允许你轻松部署在不同类型的设备上。不利的一面是,TensorFlow没有符号循环,不支持分布式学习。此外,它还不支持Windows。
Theano是一个专为深度学习而设计的Python库。你可以使用该工具定义和评估数学表达式,包括多维数组。针对GPU进行了优化,该工具具有与NumPy集成,动态C代码生成和符号区分等功能。但是,为了获得高度的抽象,该工具必须与Keras,Lasagne和Blocks等其他库一起使用。Theano支持Linux,Mac OS X和Windows等平台。
Torch是一款针对ML算法且又简单易用的开源计算框架。该工具提供了高效的GPU支持,N维数组,数值优化例程,线性代数例程以及用于索引、切片和置换的例程。基于Lua的脚本语言,该工具带有大量预先训练好的模型。这款灵活高效的ML研究工具支持诸如Linux,Android,Mac OS X,iOS和Windows等主流平台。
Caffe是一款深受欢迎的用于构建应用程序的深度学习工具。该工具是贾扬清在加州大学伯克利分校读博士期间为他的一个项目而创建的,具有良好的Matlab / C ++ / Python界面。该工具允许你在不编写代码的情况下使用文本快速将神经网络应用于问题。Caffe不完全地支持多GPU训练。该工具支持Ubuntu,Mac OS X和Windows等操作系统。
Microsoft Cognitive Toolkit是具有C#/C++/Python接口支持的最快的深度学习框架之一。此款开源框架带有强大的C++ API,比TensorFlow更快、更准确。该工具还支持内置数据读取器的分布式学习。它支持诸如前馈,CNN,RNN,LSTM和序列到序列等算法。该工具支持Windows和Linux。
用Python编写的Keras是一个开源库,旨在简化新DL模型的创建。这种高级神经网络API可以在TensorFlow,Microsoft CNTK等深度学习框架之上运行。该工具以其用户友好性和模块化而闻名,因而非常适合快速原型开发。该工具针对CPU和GPU进行了优化。
scikit-learn是一个开源的Python库,专为机器学习而设计。基于诸如NumPy,SciPy和matplotlib等库的scikit-learn可用于数据挖掘和数据分析。scikit-learn配备了各种ML模型,包括线性和逻辑回归器、SVM分类器和随机森林。该工具可用于多个ML任务,如分类,回归和聚类。scikit-learn支持Windows和Linux等操作系统。缺点是,GPU的效率不高。
Accord.NET是用C#编写的ML框架,专为构建生产级计算机视觉、计算机试听、信号处理和统计应用程序而设计。它是一个文档记录良好的ML框架,可以轻松实现音频和图像处理。Accord.NET可用于数值优化、人工神经网络和可视化。它支持Windows。
Apache Spark的MLIib是一个ML库,可用于Java,Scala,Python和R语言。因为是专为处理大规模数据而设计的,所以此强大的库具有许多算法和实用工具,如分类、回归和聚类。该工具在Python和R库中与NumPy交互操作。它可以轻松插入到Hadoop工作流程中。
Azure ML Studio是面向数据科学家的现代云平台。它可以用于在云中开发ML模型。 借助广泛的建模选项和算法,Azure非常适合构建较大的ML模型。此服务为每个帐户提供10GB的存储空间。它可以与R和Python程序一起使用。
Amazon Machine Learning (AML) 是一个ML服务,提供用于创建ML模型的工具和向导。借助可视化辅助功能和易用的分析功能,AML旨在让开发人员更方便地使用ML。AML可以连接到存储在Amazon S3、Redshift或RDS中的数据。
机器学习框架具有易于理解和编码的预构建组件,因而一个好的ML框架能够降低定义ML模型的复杂性。让我们借助这些开源ML框架,帮助轻松快速地构建ML模型。
博客地址:http://blog.yoqi.me/?p=13563
这篇文章还没有评论