1——初识keras

    目前深度学习的研究被炒的不要不要的,作为数据挖掘信息检索方向的学生必须要凑一下热闹。听闻老师推荐了keras大法,必然要见识一下这个python模块的厉害之处。

通过网上资料得知,keras是基于theano的一个模块,能够实现对GPU的无缝结合(看起来很强大的样子),主要是基于深度学习的一些功能进行了封装。神经网络终于有机会能在这个硬件跟得上的时代大放光彩。

前几天easy_install过了一次keras,下载了网上的一个代码demo跑通了,参照csnd博客[1],跑了好几个小时都还在一直运行,只好把它kill掉了,据说要跑很久才有结果。然而今天更新了一下keras1.0版本,发现之前的demo已经跑不通了,果然如网上资料所说,这个keras是一个还在不断更新的新模块,之前的参数可能进行了调整,导致老程序无法跑通,在这种情况下,有一个最好的方法就是去keras官网查看最新的example进行测试,毕竟对于新手来说,跑不通demo是一件很苦逼的事,然而官网文档应该都是最新的。官网为http://keras.io/,此外还有一个中文版的keras官网,是网友翻译后的网站,域名为

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

    啰嗦了这么久,终于可以开始学习keras了。对于学习一个新知识,我觉得最好的方法还是先对他的结构有一个大致的了解。于是我就先浏览了一下官网的所有文档,按照顺序一页一页的翻看了一遍。看完之后对keras有了一些大致的理解。

一:

首先,既然keras是一个神经网络的框架,是用的必然是神经网络的一些方法。看一下keras官网的目录

显然,get-start是大致介绍一下keras是干什么吃的,包含什么功能云云。然后是一个小小的example

 

二:

然后看到下面的models模块,

大致看了一下这个模块的作用,应该来说,对于神经网络,首先得有一个初始生成序列,也就是上边的sequential功能区,通过以上生成一个初始值。

然后就是下边的layers

 

显然,对于神经网络来说,神经网络是有一个或多个输入加上很多层中间层,最后生成一个或多个输出。那么,很容易想到,这里的layers就是神经网络中的中间层。

仔细看一下Layers下方的那些小标签,分别包括Core Layers(核心层),Convolutional Layers(卷积层)、Recurrent Layer(回归层)、Embedding Layers(嵌入层)~~~~,反正这些层都是实现不同的功能,也有通过相互组合来完成中间层的任务。

 

三:

下面来看Processing

 

Processing层从标题就可以看出来这一层是来完成数据预处理的工作,其中包括Sequence序列预处理,Text Preprocessing文本文件预处理,Image Preprocessing图片预处理

按说这一块的功能实现顺序应该在比较前的位置来完成,然后可能是教程为了让用户更快的熟悉keras模块把前两块放在了前面。数据预处理是数据处理过程中必不可少的一部分。

 

四:

至于剩下的模块就放在一起说了吧

看一下目录就可以知道,这几部分分别包含什么内容,

Objectives模块主要完成最后的compile工作,它的通常形式类似于

model.compile(loss='mean_squared_error', optimizer='sgd')
通过上式来实现编译。
    而且,可以看到在上式的括号中包括一个optimizer属性,这个属性是优化属性,也可以自定义优化模式。
Activations激活函数自不必说,常见的激活函数有sigmod,tanh,Relu等等,具体采用哪种激活函数以后会讨论.
剩余的那些知道个大概就可以了,毕竟目前只是想要对这个框架有一个简要的了解,后续很多细节还需细细研磨。到这里,今天的框架大致理解就完成了,可以进行后续愉快的学习了。


 

 

 

 

Reference:

 

[1]: http://blog.csdn.net/u012162613/article/details/45397033

[2]: http://www.cnblogs.com/neopenx/p/4453161.html

 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值