Keras:基于Theano和TensorFlow的深度学习库这就是KerasKeras是一个高层神经网络库,Keras由纯Python编写而成并基Tensorflow或Theano。Keras为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:
Keras适用的Python版本是:Python 2.7-3.5 Keras的设计原则是
Keras从2015年3月开始启动,经过一年多的开发,目前Keras进入了1.0的时代。Keras 1.0依然遵循相同的设计原则,但与之前的版本相比有很大的不同。如果你曾经使用过此前的其他版本Keras。你或许会关心1.0的新特性。
如果你已经基于Keras0.3编写了自己的层,那么在升级后,你需要为自己的代码做以下调整,以在Keras1.0上继续运行。请参考编写自己的层 关于Keras-cn本文档是Keras文档的中文版,包括的全部内容,以及更多的例子、解释和建议,目前,文档的计划是:
现在,keras-cn的版本号将简单的跟随最新的keras release版本 由于作者水平和研究方向所限,无法对所有模块都非常精通,因此文档中不可避免的会出现各种错误、疏漏和不足之处。如果您在使用过程中有任何意见、建议和疑问,欢迎发送邮件到moyan_work@foxmail.com与我取得联系。 您对文档的任何贡献,包括文档的翻译、查缺补漏、概念解释、发现和修改问题、贡献示例程序等,均会被记录在致谢,十分感谢您对Keras中文文档的贡献! 同时,也欢迎您撰文向本文档投稿,您的稿件被录用后将以单独的页面显示在网站中,您有权在您的网页下设置赞助二维码,以获取来自网友的小额赞助。 如果你发现本文档缺失了官方文档的部分内容,请积极联系我补充。 本文档相对于原文档有更多的使用指导和概念澄清,请在使用时关注文档中的Tips,特别的,本文档的额外模块还有:
当前版本与更新如果你发现本文档提供的信息有误,有两种可能:
目前文档的版本号是1.2.0,对应于官方的1.2.0 release 版本, 本次更新的主要内容是:
注意,keras在github上的master往往要高于当前的release版本,如果你从源码编译keras,可能某些模块与文档说明不相符,请以官方Github代码为准 快速开始:30s上手KerasKeras的核心数据结构是“模型”,模型是一种组织网络层的方式。Keras中主要的模型是Sequential模型,Sequential是一系列网络层按顺序构成的栈。你也可以查看泛型模型来学习建立更复杂的模型 Sequential模型如下 from keras.models import Sequentialmodel = Sequential() 将一些网络层通过 from keras.layers import Dense, Activationmodel.add(Dense(output_dim=64, input_dim=100))model.add(Activation('relu'))model.add(Dense(output_dim=10))model.add(Activation('softmax')) 完成模型的搭建后,我们需要使用 model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) 编译模型时必须指明损失函数和优化器,如果你需要的话,也可以自己定制损失函数。Keras的一个核心理念就是简明易用同时,保证用户对Keras的绝对控制力度,用户可以根据自己的需要定制自己的模型、网络层,甚至修改源代码。 from keras.optimizers import SGDmodel.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True)) 完成模型编译后,我们在训练数据上按batch进行一定次数的迭代训练,以拟合网络,关于为什么要使用‘batch’,请参考一些基本概念 model.fit(X_train, Y_train, nb_epoch=5, batch_size=32) 当然,我们也可以手动将一个个batch的数据送入网络中训练,这时候需要使用: model.train_on_batch(X_batch, Y_batch) 随后,我们可以使用一行代码对我们的模型进行评估,看看模型的指标是否满足我们的要求: loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32) 或者,我们可以使用我们的模型,对新的数据进行预测: classes = model.predict_classes(X_test, batch_size=32)proba = model.predict_proba(X_test, batch_size=32) 搭建一个问答系统、图像分类模型,或神经图灵机、word2vec词嵌入器就是这么快。支撑深度学习的基本想法本就是简单的,现在让我们把它的实现也变的简单起来! 为了更深入的了解Keras,我们建议你查看一下下面的两个tutorial 还有我们对一些概念的解释 在Keras代码包的examples文件夹里,我们提供了一些更高级的模型:基于记忆网络的问答系统、基于LSTM的文本的文本生成等。 安装Keras使用了下面的依赖包:
当使用TensorFlow为后端时: 当使用Theano作为后端时: 【Tips】“后端”翻译自backend,指的是Keras依赖于完成底层的张量运算的软件包。【@Bigmoyan】 安装Keras时,请 sudo python setup.py install 你也可以使用PyPI来安装Keras sudo pip install keras 详细的Windows和Linux安装教程请参考“快速开始”一节中给出的安装教程,特别鸣谢SCP-173编写了这些教程 在Theano和TensorFlow间切换Keras默认使用TensorFlow作为后端来进行张量操作,如需切换到Theano,请查看这里 技术支持你可以在下列网址提问或加入Keras开发讨论:
你也可以在Github issues里提问或请求新特性。在提问之前请确保你阅读过我们的指导 同时,我们也欢迎同学们加我们的QQ群119427073进行讨论(潜水和灌水会被T,入群说明公司/学校-职位/年级) 小额赞助如果你觉得本文档对你的研究和使用有所帮助,欢迎扫下面的二维码对作者进行小额赞助,以鼓励作者进一步完善文档内容,提高文档质量。同时,不妨为本文档的github加颗星哦 如果你觉得有用页面下有小额赞助的二维码或微信/支付宝账号,说明该页面由其他作者贡献,要对他们进行小额赞助请使用该页面下的二维码或账号 |
|