回顾:机器学习和深度学习的最佳框架

TensorFlow, Spark MLlib, Scikit-learn, MXNet, Microsoft Cognitive Toolkit,和Caffe做数学

乍一看

在过去的一年里,我回顾了六种开源机器学习和/或深度学习框架:咖啡,微软的认知工具(又名CNTK 2),MXNet,Scikit学习,火花MLlib,TensorFlow。如果我把网更广泛,我可能会覆盖其他一些流行的框架,包括Theano(一个10岁的Python深度学习和机器学习框架),Keras(深学习前端Theano和TensorFlow),和DeepLearning4j(深度学习软件对Java和Scala在Hadoop和火花)。如果你对机器学习和神经网络感兴趣,你会有前所未有的丰富选择。

机器学习框架和深度学习框架是有区别的。本质上,机器学习框架涵盖了分类、回归、聚类、异常检测和数据准备等各种学习方法,它可能包括也可能不包括神经网络方法。深度学习或深度神经网络(DNN)框架涵盖了具有许多隐含层的各种神经网络拓扑。这些层包括一个多步骤的模式识别过程。网络的层数越多,可提取的聚类和分类特征就越复杂。

Caffe, CNTK, DeepLearning4j, Keras, MXNet和TensorFlow都是深度学习框架。Scikit-learn和Spark MLlib是机器学习框架。Theano跨越了这两种类型。

一般来说,深度神经网络计算在GPU上运行要比在CPU上快一个数量级(对于大多数框架来说,特别是Nvidia CUDA通用GPU)。一般来说,简单的机器学习方法不需要GPU的加速。

当你可以在一个或多个cpu上训练DNNs,这种训练往往比较慢,这里的慢不是指几秒或几分钟。需要训练的神经元和神经层越多,可用的训练数据越多,所需的时间就越长。2016年,当谷歌大脑团队为新版本的谷歌进行语言翻译模型训练时,他们在多个gpu上一次进行了一周的训练。如果没有gpu,每个模型训练实验将花费数月时间。

这些包中的每一个都至少有一个显著的特征。Caffe的优点是卷积DNNs用于图像识别。Cognitive Toolkit有一个单独的评估库,用于部署在ASP上工作的预测模型。网网站。MXNet对于多gpu和多机器配置的训练具有出色的可扩展性。Scikit-learn拥有广泛的健壮机器学习方法选择,易于学习和使用。Spark MLlib与Hadoop集成,在机器学习方面具有出色的可伸缩性。TensorFlow有一个独特的诊断设备为其网络图,张力板。

继续阅读这篇文章,现在注册

工资调查:结果在