小白玩Keras

今天跟着书上使用Keras做了一点简单的用法,Keras作为一个强大并且简单的深度学习算法库,只用一下其中 的神经网络算法库。

为解决B算法收敛速度慢、易陷入局部极小等缺陷,Hinton等人与2006年提出了非监督贪心逐层训练算法,为结局深层结构相关的优化难题带来了希望并以此为基础发展了脍炙人口的“深度学习”算法。由于使用了新的逐层训练算法,其模型训练比较快,下面是其中文文档。

http://keras-cn.readthedocs.io/en/latest/


其中以线性模型为例子

Sequential模型如下

from keras.models import Sequential

model = Sequential()

将一些网络层通过.add()堆叠起来,就构成了一个模型:

from keras.layers.core import Dense, Activation

model.add(Dense(output_dim=10, input_dim=3))    这个可以看作是做单层的构造,包括其输入dim,和输出的dim
                                                这个是第一层输入层,即输入数据为3维,后面接的隐层节点
                                                数为10
model.add(Activation("relu"))                   设置该隐层的激活函数,Relu函数
model.add(Dense(input_dim=10, output_dim=1))    添加隐层(10节点)到输出层(1节点)的 连接             
model.add(Activation("softmax"))                 输出层激活函数为softmax函数


model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

编译模型,使adam方法求解,还有其他设置参数可以再去研究
model.fit(X_train, Y_train, nb_epoch=5, batch_size=1) 训练模型,nb_epoch为循环次数,Batch为小批的梯度
                                                      下降的size,这个阶段非常重要。
model.save_weight(filename)  #保存模型

然后就可以使用该模型去做预测了,恩..这个是最简单的用法,说了,我是小白嘛~
具体更加高深的用法在慢慢研究吧,其中很多参数都要建立在对模型的充分理解之上。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值