案例:将RNN模型应用于手写数字识别中
说明:RNN用于图像识别方面效果可能没有CNN好。

程序

  • 导入库
import numpy as np
from keras.datasets import mnist
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense
from keras.layers.recurrent import SimpleRNN
from keras.optimizers import Adam
  • 加载数据
# 数据长度-一行有28个像素
input_size = 28
# 序列长度-一共有28行
time_steps = 28
# 隐藏层cell个数
cell_size = 50 # 载入数据
(x_train,y_train),(x_test,y_test) = mnist.load_data()
# (60000,28,28)
x_train = x_train/255.0
x_test = x_test/255.0
# 换one hot格式
y_train = np_utils.to_categorical(y_train,num_classes=10)
y_test = np_utils.to_categorical(y_test,num_classes=10)#one hot
  • 创建模型+训练
# 创建模型
model = Sequential()# 循环神经网络
model.add(SimpleRNN(units = cell_size, # 输出input_shape = (time_steps,input_size), #输入
))# 输出层
model.add(Dense(10,activation='softmax'))# 定义优化器
adam = Adam(lr=1e-4)# 定义优化器,loss function,训练过程中计算准确率
model.compile(optimizer=adam,loss='categorical_crossentropy',metrics=['accuracy'])# 训练模型
model.fit(x_train,y_train,batch_size=64,epochs=10)# 评估模型
loss,accuracy = model.evaluate(x_test,y_test)print('test loss',loss)
print('test accuracy',accuracy)

参考:

视频: 覃秉丰老师的“Keras入门”:http://www.ai-xlab.com/course/32
博客参考:https://www.cnblogs.com/XUEYEYU/tag/keras%E5%AD%A6%E4%B9%A0/

6. Keras-RNN应用相关推荐

  1. 文本分类:Keras+RNN vs传统机器学习

    摘要:本文通过Keras实现了一个RNN文本分类学习的案例,并详细介绍了循环神经网络原理知识及与机器学习对比. 本文分享自华为云社区<基于Keras+RNN的文本分类vs基于传统机器学习的文本分 ...

  2. 文本分类Keras RNN实践——应用腾讯和百度中文词向量

    中文词向量 深度学习在NLP领域大展身手,而深度学习处理文本,离不开文本的向量化. 英语独特的语法规则,使得单用空格就能将句子中的单词分割开来,从而取得词向量,这极大简化了英语的NLP预处理过程,工业 ...

  3. [Python人工智能] 二十.基于Keras+RNN的文本分类vs基于传统机器学习的文本分类

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章分享了循环神经网络RNN的原理知识,并采用Keras实现手写数字识别的RNN分类案例及可视化呈现.这篇文章作者将带 ...

  4. 【keras】rnn中的LSTM

    keras rnn中常见的rnn layer 1. LSTM LSTM内部结构如下, 公式为 inputgate:it=σ(Wixt+Uih(t−1))forgetgate:ft=σ(Wfxt+Ufh ...

  5. Keras 中的循环神经网络 (RNN)

    简介 循环神经网络 (RNN) 是一类神经网络,它们在序列数据(如时间序列或自然语言)建模方面非常强大. 简单来说,RNN 层会使用 ​​for​​ 循环对序列的时间步骤进行迭代,同时维持一个内部状态 ...

  6. tf keras SimpleRNN源码解析

    环境 package version tensorflow 2.3.0 keras 2.4.3 源码 部分主要源码 class RNN(Layer):def __init__(self,cell,re ...

  7. 利用Tensorflow构建RNN并对序列数据进行建模

    利用Tensorflow构建RNN并对序列数据进行建模 对文本处理处理任务的方法中,一般将TF-IDF向量作为特征输入.显然的缺陷是:这种方法丢失了输入的文本序列中每个单词的顺序. 对一般的前馈神经网 ...

  8. 【Python3】文本分类综合(rnn,cnn,word2vec,TfidfVectorizer),中文纠错代码解析(pycorrector)

    文章目录 1.中文评论情感分析(keras+rnn) 1.1 需要的库 1.2 预训练词向量 1.3 词向量模型 1.4 训练语料 (数据集) 1.5 分词和tokenize 1.6 索引长度标准化 ...

  9. Keras 之 LSTM 有状态模型(stateful LSTM)和无状态模型(stateless LSTM)

    目录 1. 区别 2. 例子 3. 疑问解答 4. 实战 1. 实例1:官方的example--lstm_stateful.py 2.  实例2:用Keras实现有状态LSTM--电量消费预测 3.  ...

  10. [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章开启了新的内容--Bert,首先介绍Keras-bert库安装及基础用法及文本分类工作.这篇文章将通过keras- ...

最新文章

  1. 基于注意力机制的图卷积网络预测药物-疾病关联
  2. Lesson 8.18.2 单层回归神经网络torch.nn.Linear实现单层回归神经网络的正向传播
  3. quicktype游戏java程序_使用QuickType工具从json自动生成类型声明代码
  4. 【渝粤题库】国家开放大学2021春1254计算机组成原理题目
  5. LeetCode 1708. 长度为 K 的最大子数组
  6. python连接mysql代码_Python3连接MySQL(pymysql)转账代码
  7. eslint解决方案整理
  8. 机器学习基础算法23-XGBoost实践
  9. TCP层的分段和IP层的分片之间的关系 MTU和MSS之间的关系
  10. PyCharm中的一些设置
  11. 信号处理基础——傅里叶变换与短时傅里叶变换
  12. origin数据平滑_Origin平滑曲线如何设置
  13. 我对APPCAN的初步理解
  14. Android9.0系统源码_编译刷机——从下载到编译
  15. Open3D点云处理
  16. 7-2 后序+中序序列构造二叉树
  17. Linux基础入门之内外命令讲解篇
  18. error C2977: “std::tuple”: 模板参数太多 的解决办法
  19. 主动变被动9个例句_初中英语,被动语态的特殊用法考点总结
  20. 两分钟让你明白什么是ERP

热门文章

  1. 【经验总结】js关闭当前页面/关闭当前窗口(兼容所有浏览器)
  2. 〔转〕Word域的应用和详解2_等式和公式域
  3. ERP实施过程中的沟通管理研究
  4. ios13 文件 连接服务器 您已离线,iOS13,终于可以屏蔽系统更新了
  5. linux设备数内核选项,linux内核设备树修改指南 / linux kernel device tree modify guide
  6. python 解析模块脚本_Python HTMLParser模块解析html获取url实例
  7. hadoop namenode启动失败
  8. (Windows)Scala学习3--列表、数组
  9. 美政府停摆或考验机场安检 携枪旅客曾无障碍登机
  10. Laravel 跨域问题解决