没有合适的资源?快使用搜索试试~ 我知道了~
首页Keras 2.2.4官方中文文档:快速入门与模块化深度学习API
Keras 2.2.4中文官方离线文档是一份详尽的深度学习教程,由Keras官方于2019年7月16日更新,旨在帮助用户快速理解和掌握Keras这款强大的Python神经网络API。Keras主要特点是用户友好、模块化和易扩展性。 首先,Keras的设计理念是为人类工程师而非机器,其API强调简洁和一致性,减少用户的认知负担。通过提供简单易用的接口,用户能够迅速搭建和测试深度学习模型,而无需深入了解底层细节。例如,核心组件如神经网络层、损失函数、优化器等都设计得易于配置和组合,方便进行快速原型设计。 其次,Keras支持模块化架构,模型被视为由独立且可配置的组件组成的序列或图,这使得开发者可以根据需求自由拼接各种模块,无论是卷积神经网络(CNN)、循环神经网络(RNN)还是两者结合,都能无缝集成。这种灵活性使得Keras非常适合进行高级研究,研究人员可以轻易地添加新的模块来提升模型性能。 再者,Keras基于Python实现,所有的模型定义都在纯Python代码中完成,这不仅便于阅读和调试,也便于扩展。它避免了繁琐的配置文件,使得代码简洁高效。 文档还介绍了Keras的典型入门路径,如Sequential模型,这是一种线性的模型结构,适合初学者快速上手。通过构建一个包含多个网络层的模型,用户可以立即体验到Keras的强大功能。 Keras 2.2.4中文官方离线文档是深度学习领域的一份重要参考资料,无论是希望快速入门还是深入研究的开发者,都可以从中找到所需的工具和指导,以实现高效的深度学习实验和模型构建。这份文档对于学习者来说,具有很高的实用性和价值。
资源详情
资源推荐
Sequential 顺序模型指引 - Keras 中文文档
https://keras-zh.readthedocs.io/getting-started/sequential-model-guide/[2019/7/16 10:15:53]
# 期望输入数据尺寸: (batch_size, timesteps, data_dim)
model = Sequential()
model.add(LSTM(32, return_sequences=True,
input_shape=(timesteps, data_dim))) # 返回维度为 32 的向量序列
model.add(LSTM(32, return_sequences=True)) # 返回维度为 32 的向量序列
model.add(LSTM(32)) # 返回维度为 32 的单个向量
model.add(Dense(10, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
# 生成虚拟训练数据
x_train = np.random.random((1000, timesteps, data_dim))
y_train = np.random.random((1000, num_classes))
# 生成虚拟验证数据
x_val = np.random.random((100, timesteps, data_dim))
y_val = np.random.random((100, num_classes))
model.fit(x_train, y_train,
batch_size=64, epochs=5,
validation_data=(x_val, y_val))
"stateful"
渲染的的栈式
LSTM
模型
有状态
(stateful)
的循环神经网络模型中,在一个
batch
的样本处理完成后,其内部状态(记忆)会被
记录并作为下一个
batch
的样本的初始状态。这允许处理更长的序列,同时保持计算复杂度的可控
性。
你可以在 FAQ 中查找更多关于 stateful RNNs 的信息。
from keras.models import Sequential
from keras.layers import LSTM, Dense
import numpy as np
data_dim = 16
timesteps = 8
num_classes = 10
batch_size = 32
# 期望输入数据尺寸: (batch_size, timesteps, data_dim)
# 请注意,我们必须提供完整的 batch_input_shape,因为网络是有状态的。
# 第 k 批数据的第 i 个样本是第 k-1 批数据的第 i 个样本的后续。
model = Sequential()
model.add(LSTM(32, return_sequences=True, stateful=True,
batch_input_shape=(batch_size, timesteps, data_dim)))
model.add(LSTM(32, return_sequences=True, stateful=True))
model.add(LSTM(32, stateful=True))
model.add(Dense(10, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
# 生成虚拟训练数据
x_train = np.random.random((batch_size * 10, timesteps, data_dim))
y_train = np.random.random((batch_size * 10, num_classes))
曙光花园中路11号
Sequential 顺序模型指引 - Keras 中文文档
https://keras-zh.readthedocs.io/getting-started/sequential-model-guide/[2019/7/16 10:15:53]
Next
# 生成虚拟验证数据
x_val = np.random.random((batch_size * 3, timesteps, data_dim))
y_val = np.random.random((batch_size * 3, num_classes))
model.fit(x_train, y_train,
batch_size=batch_size, epochs=5, shuffle=False,
validation_data=(x_val, y_val))
Previous
Built with MkDocs using a theme provided by Read the Docs.
曙光花园中路11号
函数式 API 指引 - Keras 中文文档
https://keras-zh.readthedocs.io/getting-started/functional-api-guide/[2019/7/16 10:16:55]
Edit on GitHub
Docs »
快速开始
»
函数式
API
指引
开始使用
Keras
函数式
API
Keras
函数式
API
是定义复杂模型(如多输出模型、有向无环图,或具有共享层的模型)的方法。
这部分文档假设你已经对 Sequential 顺序模型比较熟悉。
让我们先从一些简单的例子开始。
例一:全连接网络
Sequential 模型可能是实现这种网络的一个更好选择,但这个例子能够帮助我们进行一些简单的理
解。
网络层的实例是可调用的,它以张量为参数,并且返回一个张量
输入和输出均为张量,它们都可以用来定义一个模型( Model )
这样的模型同 Keras 的 Sequential 模型一样,都可以被训练
from keras.layers import Input, Dense
from keras.models import Model
# 这部分返回一个张量
inputs = Input(shape=(784,))
# 层的实例是可调用的,它以张量为参数,并且返回一个张量
x = Dense(64, activation='relu')(inputs)
x = Dense(64, activation='relu')(x)
predictions = Dense(10, activation='softmax')(x)
# 这部分创建了一个包含输入层和三个全连接层的模型
model = Model(inputs=inputs, outputs=predictions)
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.fit(data, labels) # 开始训练
所有的模型都可调用,就像网络层一样
利用函数式
API
,可以轻易地重用训练好的模型:可以将任何模型看作是一个层,然后通过传递一个
Keras 中文文档
v: latest
曙光花园中路11号
函数式 API 指引 - Keras 中文文档
https://keras-zh.readthedocs.io/getting-started/functional-api-guide/[2019/7/16 10:16:55]
张量来调用它。注意,在调用模型时,您不仅重用模型的结构,还重用了它的权重。
x = Input(shape=(784,))
# 这是可行的,并且返回上面定义的 10-way softmax。
y = model(x)
这种方式能允许我们快速创建可以处理序列输入的模型。只需一行代码,你就将图像分类模型转换为
视频分类模型。
from keras.layers import TimeDistributed
# 输入张量是 20 个时间步的序列,
# 每一个时间为一个 784 维的向量
input_sequences = Input(shape=(20, 784))
# 这部分将我们之前定义的模型应用于输入序列中的每个时间步。
# 之前定义的模型的输出是一个 10-way softmax,
# 因而下面的层的输出将是维度为 10 的 20 个向量的序列。
processed_sequences = TimeDistributed(model)(input_sequences)
多输入多输出模型
以下是函数式
API
的一个很好的例子:具有多个输入和输出的模型。函数式
API
使处理大量交织的数
据流变得容易。
来考虑下面的模型。我们试图预测
Twitter
上的一条新闻标题有多少转发和点赞数。模型的主要输入将
是新闻标题本身,即一系列词语,但是为了增添趣味,我们的模型还添加了其他的辅助输入来接收额
外的数据,例如新闻标题的发布的时间等。
该模型也将通过两个损失函数进行监督学习。较早地在模
型中使用主损失函数,是深度学习模型的一个良好正则方法。
模型结构如下图所示:
曙光花园中路11号
函数式 API 指引 - Keras 中文文档
https://keras-zh.readthedocs.io/getting-started/functional-api-guide/[2019/7/16 10:16:55]
让我们用函数式
API
来实现它。
主要输入接收新闻标题本身,即一个整数序列(每个整数编码一个词)。
这些整数在
1
到
10,000
之间
(
10,000
个词的词汇表),且序列长度为
100
个词。
from keras.layers import Input, Embedding, LSTM, Dense
from keras.models import Model
# 标题输入:接收一个含有 100 个整数的序列,每个整数在 1 到 10000 之间。
# 注意我们可以通过传递一个 "name" 参数来命名任何层。
main_input = Input(shape=(100,), dtype='int32', name='main_input')
# Embedding 层将输入序列编码为一个稠密向量的序列,
# 每个向量维度为 512。
x = Embedding(output_dim=512, input_dim=10000, input_length=100)(main_input)
# LSTM 层把向量序列转换成单个向量,
# 它包含整个序列的上下文信息
lstm_out = LSTM(32)(x)
在这里,我们插入辅助损失,使得即使在模型主损失很高的情况下,
LSTM
层和
Embedding
层都能被
平稳地训练。
曙光花园中路11号
剩余355页未读,继续阅读
naiegh
- 粉丝: 3
- 资源: 71
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功