python中有哪些比较好用的神经网络库?
0 1036
2
该提问暂无详细描述
收藏
2021-01-14 13:27 更新 天明 •  1290
共 1 个回答
高赞 时间
2

1.Caffe Caffe是由伯克利视觉与学习中心(BVLC)开发的一个深度学习框架。它是模块化的,速度非常快,被学术界用于最先进的应用程序中。 虽然Caffe本身不是Python库,但它提供了到Python的绑定。我之所以把Caffe列入其中,是因为它几乎无处不在。 你可以在一个名为.prototxt配置文件的类似JSON的纯文本文件中定义模型体系结构和解算器方法。Caffe二进制文件接收这些.prototxt文件并训练你的网络。在Caffe完成训练后,你可以通过Caffe二进制文件(或者更好的是,通过Python或matlabapi)使用你的网络对新图像进行分类。 我认为Caffe的性能是很好的(在k40gpu上每天可以处理6000万张图像),但是它和Keras或mxnet相比有些缺点。主要原因是不适合在.prototxt文件中构建一个体系结构,而且用Caffe调整超参数比较麻烦,所以,我更倾向于使用允许我在基于Python的API中实现端到端网络(包括交叉验证和超参数调优)的库。 2.Theano 如果没有Theano,今天就不会有这么多的深度学习库。Theano是一个Python库,用于定义、优化和计算涉及多维数组的数学表达式。Theano通过与NumPy的紧密集成和GPU的透明使用来实现这一点。 虽然你可以在Theano中构建深度学习网络,但我倾向于认为Theano是神经网络的构建块,就像NumPy是科学计算的构建块一样。虽然不是一个完美的比较,但在Theano中构建一个卷积神经网络就像用本地Python编写一个定制的支持向量机(SVM),且只需少量NumPy。 3. TensorFlow TensorFlow是一个使用数据流图进行数值计算的开源代码库(这是神经网络的全部功能)。该库最初由谷歌机器智能研究组织团队的研究人员开发,此后它一直是开源的,并向公众开放。 TensorFlow的一个主要优点(与Theano相比)是分布式计算,尤其是在多个GPU之间。 4. Keras 如果必须选择一个最受欢迎的深度学习Python库,我认为Keras可能会胜出。 Keras是一个极简的、模块化的神经网络库,可以使用Theano或TensorFlow作为后端。Keras背后的主要动机是,能够快速地进行实验,并尽可能快地从一个想法转变为结果。 在Keras中构建网络感觉简单自然。它包括一些最新的优化算法(Adam、RMSProp)、规范化(BatchNorm)和激活层(PReLU、ELU、LeakyReLU)。 Keras还把重点放在了卷积神经网络上,我认为从计算机视觉的角度来看,这是非常有价值的。更重要的是,你可以轻松地构建基于序列的网络(输入线性流经网络)和基于图形的网络(其中输入可以“跳过”某些层,只在稍后连接)。这使得实现更复杂的网络架构(如GoogLeNet和SqueezeNet)更加容易。

收藏
2021-01-14 13:29 更新 Lisa •  1796