2.Keras
Keras是由Python编写而成并使用TensorFlow、Theano以及CNTK作为后端的一个深度学习框架,也是深度学习框架中较容易使用的框架之一。同时,利用Keras不仅可以搭建普通的神经网络,还可以搭建各种深度学习模型,如自编码器、循环神经网络、递归神经网络、卷积神经网络等。
Theano是Python的一个库,是由深度学习专家约书亚 本吉奥带领的实验室开发出来的,用于定义、优化和高效地实现符号分解、高度优化的速度和稳定性等特点,最重要的是Theeano实现了GPU加速,使得密集型数据的处理速度是CPU的数十倍。
用Theano即可搭建起高效的神经网络模型,然而对于普通读者而言,它的使用门槛还是相当高的。Keras正是为此而生,它大大简化了搭建各种神经网络模型的步骤,允许普通用户轻松地搭建并求解具有几百个输入节点的深层神经网络,而且定制的自由度非常大。
因此,对于Kerass深度学习库而言,Keras具有高度模块化、用户友好型和易扩展特性,支持卷积神经网络、循环神经网络以及两者的结合,可无缝衔接CPU和GPU的切换。使用Keras搭建神经网络模型的过程相当简洁,也相当直观,就像搭积木一般。通过Keras,只需短短几十行代码,即可搭建起一个非常强大的神经网络模型,甚至深度学习模型。值得注意的是,Keras的预测函数与scikit-learn的有所差别,Keras用model.predict()方法给出概率,用model.predict_classes()给出分类结果。