6. Keras-RNN应用
案例:将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应用相关推荐
- 文本分类:Keras+RNN vs传统机器学习
摘要:本文通过Keras实现了一个RNN文本分类学习的案例,并详细介绍了循环神经网络原理知识及与机器学习对比. 本文分享自华为云社区<基于Keras+RNN的文本分类vs基于传统机器学习的文本分 ...
- 文本分类Keras RNN实践——应用腾讯和百度中文词向量
中文词向量 深度学习在NLP领域大展身手,而深度学习处理文本,离不开文本的向量化. 英语独特的语法规则,使得单用空格就能将句子中的单词分割开来,从而取得词向量,这极大简化了英语的NLP预处理过程,工业 ...
- [Python人工智能] 二十.基于Keras+RNN的文本分类vs基于传统机器学习的文本分类
从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章分享了循环神经网络RNN的原理知识,并采用Keras实现手写数字识别的RNN分类案例及可视化呈现.这篇文章作者将带 ...
- 【keras】rnn中的LSTM
keras rnn中常见的rnn layer 1. LSTM LSTM内部结构如下, 公式为 inputgate:it=σ(Wixt+Uih(t−1))forgetgate:ft=σ(Wfxt+Ufh ...
- Keras 中的循环神经网络 (RNN)
简介 循环神经网络 (RNN) 是一类神经网络,它们在序列数据(如时间序列或自然语言)建模方面非常强大. 简单来说,RNN 层会使用 for 循环对序列的时间步骤进行迭代,同时维持一个内部状态 ...
- tf keras SimpleRNN源码解析
环境 package version tensorflow 2.3.0 keras 2.4.3 源码 部分主要源码 class RNN(Layer):def __init__(self,cell,re ...
- 利用Tensorflow构建RNN并对序列数据进行建模
利用Tensorflow构建RNN并对序列数据进行建模 对文本处理处理任务的方法中,一般将TF-IDF向量作为特征输入.显然的缺陷是:这种方法丢失了输入的文本序列中每个单词的顺序. 对一般的前馈神经网 ...
- 【Python3】文本分类综合(rnn,cnn,word2vec,TfidfVectorizer),中文纠错代码解析(pycorrector)
文章目录 1.中文评论情感分析(keras+rnn) 1.1 需要的库 1.2 预训练词向量 1.3 词向量模型 1.4 训练语料 (数据集) 1.5 分词和tokenize 1.6 索引长度标准化 ...
- Keras 之 LSTM 有状态模型(stateful LSTM)和无状态模型(stateless LSTM)
目录 1. 区别 2. 例子 3. 疑问解答 4. 实战 1. 实例1:官方的example--lstm_stateful.py 2. 实例2:用Keras实现有状态LSTM--电量消费预测 3. ...
- [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析
从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章开启了新的内容--Bert,首先介绍Keras-bert库安装及基础用法及文本分类工作.这篇文章将通过keras- ...
最新文章
- 基于注意力机制的图卷积网络预测药物-疾病关联
- Lesson 8.18.2 单层回归神经网络torch.nn.Linear实现单层回归神经网络的正向传播
- quicktype游戏java程序_使用QuickType工具从json自动生成类型声明代码
- 【渝粤题库】国家开放大学2021春1254计算机组成原理题目
- LeetCode 1708. 长度为 K 的最大子数组
- python连接mysql代码_Python3连接MySQL(pymysql)转账代码
- eslint解决方案整理
- 机器学习基础算法23-XGBoost实践
- TCP层的分段和IP层的分片之间的关系 MTU和MSS之间的关系
- PyCharm中的一些设置
- 信号处理基础——傅里叶变换与短时傅里叶变换
- origin数据平滑_Origin平滑曲线如何设置
- 我对APPCAN的初步理解
- Android9.0系统源码_编译刷机——从下载到编译
- Open3D点云处理
- 7-2 后序+中序序列构造二叉树
- Linux基础入门之内外命令讲解篇
- error C2977: “std::tuple”: 模板参数太多 的解决办法
- 主动变被动9个例句_初中英语,被动语态的特殊用法考点总结
- 两分钟让你明白什么是ERP
热门文章
- 【经验总结】js关闭当前页面/关闭当前窗口(兼容所有浏览器)
- 〔转〕Word域的应用和详解2_等式和公式域
- ERP实施过程中的沟通管理研究
- ios13 文件 连接服务器 您已离线,iOS13,终于可以屏蔽系统更新了
- linux设备数内核选项,linux内核设备树修改指南 / linux kernel device tree modify guide
- python 解析模块脚本_Python HTMLParser模块解析html获取url实例
- hadoop namenode启动失败
- (Windows)Scala学习3--列表、数组
- 美政府停摆或考验机场安检 携枪旅客曾无障碍登机
- Laravel 跨域问题解决