TensorFlow 、Caffe等9大人工智能框架对比介绍

TensorFlow 、Caffe等9大人工智能框架对比介绍。

Tensor Flow

https://www.tensorflow.org

Tensor Flow来自谷歌家族,是一个强大的开源框架,支持深度学习,甚至可以通过移动设备访问。
Tensor Flow是一个适用于统计程序开发的工具。由于它提供分布式训练,所以可以在用户喜欢的任何抽象级别上更有效地训练机器模型。
特性
• 可扩展的多编程接口,便于编程。
• 强劲的增长动力,拥有强大的开源社区。
• 为人们提供广泛且有详细记录的手册。
优点
• Tensor Flow使用的语言是Python,现在非常流行。
• 该框架具有较高的计算能力。因此,它可以在任何CPU或GPU上使用。
• 使用计算图形抽象创建机器模型。
缺点
• 为了做出决策或预测,框架将输入数据通过多个节点传递,这可能非常耗时。
• 缺乏许多预先训练好的AI模型。

Microsoft CNTK

The Microsoft Cognitive Toolkit - Cognitive Toolkit - CNTK | Microsoft Docs

Microsoft CNTK是一个更快、更通用的开源框架,它基于支持文本、消息和语音重构的神经网络。
它提供了一个高效的扩展环境,在保证精度的同时,可以更快地全面评估机器模型。
Microsoft CNTK与主要的海量数据集集成,使其成为Skype、Cortana等大公司的首选,同时具有非常易于表达和使用的架构。
特性
• 高度优化以提供速率、可扩展性、速度和高级集成。
• 内置超参数调整、监督学习模型、增强、CNN、RNN等组件。
• 资源用来提供最佳效率。
• 拥有可以高效表达的自有网络,如完整的API,包括高级和低级。
优点
• 由于它支持Python和C++,所以这个框架可以同时使用多个服务器,从而使学习过程更快。
• 它的开发考虑到了人工智能世界的最新发展。Microsft CNTK的架构支持GAN、RNN和CNN。
• 它允许分布式训练有效地训练机器模型。
缺点
• 它缺乏可视化板和ARM支持。

Caffe

Caffe | Caffe Tutorial

Caffe是一个深度学习网络,附带预先加载的训练好的神经网络。如果你的截止日期很近,这应该是你的第一选择。
该框架以其图像处理能力而闻名,还有对MATLAB的扩展支持。
特性
• 它的所有模型都是用纯文本模式编写的。
• 因为它已经预先加载,所以可提供巨大的速度和高效率的工作。
• 一个活跃的开源社区,用于讨论和协作代码。
优点
• C、C++和Python相互连接,它还支持CNN(卷积神经网络)的建模。
• 由于速度快,计算数字任务时效率很高。
缺点
• Caffe不能处理复杂的数据,但在处理图像的视觉处理时速度较快。

Theano

Welcome — Theano 1.0.0 documentation

使用GPU代替CPU,该框架支持深度学习研究,并能够为需要高计算能力的网络提供准确性。例如,多维数组的计算需要高功率,而Theano能做到这一点。
Theano基于Python,Python是一种经过验证的编程语言,可以提高处理和响应速度。
特性
• 由于动态代码生成,表达式的计算速度更快。
• 即使值很小,也能提供出色的精确度。
• 单元测试是Theano的一个重要特性,因为它允许用户自我验证代码,以及轻松地检测和诊断错误。
优点
• 针对CPU和GPU进行了优化。
缺点
• 当前版本的Theano将不再更新或添加任何功能。

Amazon machine learning

Amazon Machine Learning 机器学习_机器学习服务-AWS云服务

作为AI社区的趋势参与者,Amazon machine learning在开发自学工具方面提供了高端支持。
该框架已在其多个服务(如AWS,S3和Amazon Redshift等)中拥有现有的用户基础。这是亚马逊的托管服务,对模型进行数据分析、模型训练和评估三个操作。
特性
• 即使您是一个初学者、数据科学家或开发人员,AWS中都有针对每个级别的经验定制的工具。
• 安全性至关重要,因此所有数据都是加密的。
• 为数据分析和理解提供广泛的工具。
• 与所有主要数据集的集成。
优点
• 您不需要使用这个框架编写大量代码。相反,它允许您通过API与AI支持的框架进行交互。
• 数据科学家、开发人员和ML研究人员常用。
缺点
• 它缺乏灵活性,因为整个框架都是抽象的,所以如果您想选择一个特定的标准化或机器学习算法,就不合适。
• 缺乏数据可视化。

Torch

Torch | Scientific computing for LuaJIT.
Torch是一个开源框架,可以支持数值运算。它为快速开发深度学习网络提供了多种算法。
它广泛用于Facebook和Twitter的AI实验室。有一个基于Python的框架,称为PyTorch,已经被证明是更简单和更可靠的。
特性
• 具有许多例程,可以使用N维数组模型进行索引,切片,转置。
• 存在优化例程,主要是基于神经网络模型的数字。
• GPU支持非常高效。
• 与iOS和Andriod轻松集成。
优点
• 语言和集成的灵活性非常高。
• 高水平的速度和GPU利用率。
• 预先存在的模型可用于训练数据。
缺点
• 文档对用户来说不是很清楚,用户学习困难。
• 缺乏立即使用的代码,因此需要时间。
• 它最初基于一种名为Lua的编程语言,并没有多少人知道它。

Accord.Net

http://accord-framework.net
Accord.net是一个基于C#的框架,它帮助开发用于音频和图像处理的神经网络。
可以在商业上使用它来生成计算机视觉应用程序,信号处理以及统计应用程序。
特性
• 成熟,经过良好测试的代码库,因为它始于2012年。
• 提供一组全面的示例模型和数据集,以快速启动应用程序。
优点
• 它由一个活跃的开发团队持续支持。
• 这个文档齐全的框架可以有效地处理数字密集型计算和可视化。
• 使用该框架可以方便地执行算法和信号处理。
• 它可以轻松处理数值优化和人工神经网络。
缺点
• 与其他框架相比,它并不为人所知。
• 与其他框架相比,它的性能较慢。

Apache Mahout

Apache Mahout是一个开源框架,旨在开发可扩展的机器学习框架。它不涉及API本身,而是助于数据科学家和工程师实现新的机器学习算法。
特性
• 以Scala DSL而闻名,它在数学上很有表现力
• 支持多个分布式后端扩展
优点
• 它有助于集群、协同过滤和分类。
• 它的计算操作使用Java库,速度更快。
缺点
• Python库与此框架的Java库不兼容。
• 它的计算操作比Spark MLib慢。

Spark MLib

MLlib | Apache Spark
Apache支持的Spark MLib框架由R、Scala、Java和Python支持。它可以加载Hadoop工作流来提供机器学习算法,如分类、回归和集群。
除了Hadoop,它还可以与cloud、Apache甚至独立系统集成。
特性
• 高性能是关键因素之一,据说比MapReduce快100倍
• Spark非常通用,可在多种计算环境中运行
优点
• 它可以快速处理大量的数据,因为它的工作是迭代计算。
• 它有多种语言版本,易于插拔。
• 它可以轻松地循环大规模的数据处理。
缺点
• 它只能用Hadoop插件。
• 如果没有对这个框架进行大量的工作,就很难理解这个框架的机制

你可能感兴趣的:(学习资源,Python相关,TensorFlow,Caffe,神经网络,机器学习,人工智能)