13个最常用的Python深度学习库介绍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和深度学习更高级别的抽象 。
推荐阅读
- sqlserver过滤null,sql过滤空值
- 安卓12怎样添加默认应用,安卓12如何
- 七岁孩子看电视什么时间好,7岁孩子看电视多长时间合适
- c语言自定义函数输出参数 c语言,自定义函数
- js变量字符串拼接,js的字符串拼接
- word文档如何有横线,word中如何有横线
- word怎么首字下沉,首字下沉2行怎么设置
- 去抖动函数c语言 抖动表达式
- c语言程序的设计的总结与感想,c语言程序课程设计的总结