前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >翻译 | Keras : Deep Learning library for Tensorflow and Theano

翻译 | Keras : Deep Learning library for Tensorflow and Theano

作者头像
努力在北京混出人样
发布2022-05-10 11:26:46
3230
发布2022-05-10 11:26:46
举报
文章被收录于专栏:祥子的故事祥子的故事

看到Kears时,发现代码好简洁,在github上学习了它的帮助文档,很有用处,便翻译过来,留用。翻译不好勿喷。

哈哈

Keras 是一个用python写的,能够在Tensorflow或Theano上运行的神经网络库。它被开发用于集中于稳定快速的实验。从idea到结果的关键是做更好的研究,使得更少可能的拖延。

如果你需要深度学习库,使用Keras:

  • 可以很容易地和快速原型(通过全模块化,简约,和可扩展性)。
  • 支持卷积神经网络和递归神经网络,也支持两者的结合形式。
  • 支持任意的连接方案(包括多输入、多输出训练)
  • 无缝的运行在CPU和GPU上

阅读Keras的文档

Keras 兼容python2.7-3.5

指导思想:

  • 模块化。模型被理解为一个独立的,完全可配置的模块的序列或图形,可以被连接在一起,尽可能少的限制。特别是,神经层,成本函数,算法,初始化方案,激活函数,正则化方法,可以结合起来,创造新的模型,所有的独立模块。
  • 极简主义。每个模块应保持简短和简单。每一段代码在第一次阅读时应该是透明的。没有黑魔法:它伤害了迭代速度和创新能力。
  • 易扩展性。新模块是简单的添加(新的类和功能),现有模块提供了丰富的例子。能够轻松地创建新的模块允许总的表现力,使Keras适合高级研究。
  • 使用Python。没有单独的配置文件在声明格式。模型被描述在Python代码,这是一个紧凑,容易调试,方便和允许扩展。

开始:30秒学习Keras

Keras的核心数据结构是model,一种方式去组织神经层。主要类型的模型是Sequential模型,一个层的线性叠加。对于更复杂的结构,应使用keras功能API。

这里是Sequential模型:

代码语言:javascript
复制
from keras.models import Sequential
model = Sequential()

叠加层是使用.add()

代码语言:javascript
复制
from keras.layers import Dense, Activation

model.add(Dense(output_dim=64, input_dim=100))
model.add(Activation('relu'))
model.add(Dense(output_dim=10))
model.add(Activation('softmax'))

一旦你的模型看起来不错,用.compile()来配置它的学习过程:

代码语言:javascript
复制
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

如果需要,可以进一步配置优化器。Keras的一个核心原则是使事情简单合理,允许用户完全控制同时他们需要(最终控制源代码的易扩展性)。

代码语言:javascript
复制
from keras.optimizers import SGD
model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True))

你现在可以批量迭代你的训练数据:

代码语言:javascript
复制
model.fit(X_train, Y_train, nb_epoch=5, batch_size=32)

或者,你可以手动批量向您的模型给数据:

代码语言:javascript
复制
model.train_on_batch(X_batch, Y_batch)

评估你的模型能力:

代码语言:javascript
复制
loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32)

或者生成新的预测数据:

代码语言:javascript
复制
classes = model.predict_classes(X_test, batch_size=32)
proba = model.predict_proba(X_test, batch_size=32)

建立一个问答系统,图像分类模型,神经图灵机,一Word2vec嵌入或任何其他模型一样快。深度学习背后的想法很简单,那么为什么他们的实施是痛苦的呢?

在example文件夹仓库中,你会发现更先进的模型:答疑与记忆网络,叠LSTMs文本的生成,等等。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档