深度学习的框架比较(2)

深度学习的框架比较(2)

上次提到Tensorflow在深度学习框架中的“霸主地位”,这次我们来谈一下其他小众一些的学习框架。

深度学习的框架比较(2)

     首先,我们来说Keras,Keras是神经网络的高层API,Keras由Python编写而成,可基于Tensorflow、Theano和CNTK后端。Keras中有两类深度学习模型:序列(Sequential)式模型和函数(Functional)式模型。

    序列式模型采用线性叠加的方式增加层,具体model.add来实现,这种方式比较简单。它是函数式模型的一个子类。函数式模型可以用来实现一些比较复杂的模型,如多个输入或输出的模型,它的添加层是通过model.layer来实现的。这两种模型的实际步骤基本相同,通常包括以下步骤:

第一步,构造数据:定义输入数据。

第二步,构造模型(model.add,或model.layers):确定各个变量之间的计算关系。

第三步,编译模型(model.compile):编译已确定其内部细节。

第四步,训练模型(model.fit)导入数据,训练模型。

第五步,评估或测试模型(model.evaluate).

第六步,保存模型。

例子,实现CNN结构

深度学习的框架比较(2)

    这两种模型的架构主要区别:序列式模型的网络结构比较简单,一个输入一个输出,函数式模型可以多个输入对应多个输出。

         Keras的函数模型网络结构图

深度学习的框架比较(2)

Keras是一款非常友好的机器学习框架,简单易学,如果你是不打算对神经网络内部结构深入了解,推荐学习keras。

Keras通常有两种安装方式,一种是通过pip安装,一种是通过anaconda安装。不过,建议大家用pip安装,anaconda不稳定,不一定安装得上。

·end·

请扫描二维码

关注我们吧

深度学习的框架比较(2)

微信号:人工智能与算法学习