keras ConvLSTM2D 的简单应用
示例1: 返回各时刻状态
import tensorflow as tf
import numpy as np
import keras
from keras.layers import ConvLSTM2Dlstm_input = np.random.random((4,6,30,30,3)).astype(np.float32)
lstm_input = tf.convert_to_tensor(lstm_input)lstm_out1 = ConvLSTM2D(filters=1,kernel_size=[5,5],strides=(1,1),padding='valid',activation='relu',input_shape=(6,30,30,3),return_sequences=True)(lstm_input)
lstm_out2 = ConvLSTM2D(filters=2,kernel_size=[5,5],strides=(1,1),padding='valid',activation='relu',return_sequences=True)(lstm_out1)
lstm_out3 = ConvLSTM2D(filters=3,kernel_size=[5,5],strides=(1,1),padding='valid',activation='relu',return_sequences=True)(lstm_out2)with tf.Session() as sess:sess.run(tf.global_variables_initializer())lstm_out1_,lstm_out2_,lstm_out3_ = sess.run([lstm_out1,lstm_out2,lstm_out3])print(lstm_out1_.shape)print(lstm_out2_.shape)print(lstm_out3_.shape)"""
返回:
(4, 6, 26, 26, 1)
(4, 6, 22, 22, 2)
(4, 6, 18, 18, 3)
"""
备注:
return_sequences: 默认是False,控制LSTM的输出:
- False: 仅返回最后一个时刻的状态(hidden_state),shape = [B,H,W,C],是一个4维张量
- True: 返回所有时刻的输出(hidden_state),shape = [B,Clip_len,H,W,C],是一个5维张量
示例2: 同时返回各时刻状态与最后一个时刻的state(包含state.h,state.c)
用return_state=True控制
import tensorflow as tf
import numpy as np
import keras
from keras.layers import ConvLSTM2Dlstm_input = np.random.random((4,6,30,30,3)).astype(np.float32)
lstm_input = tf.convert_to_tensor(lstm_input)lstm_out,state_h,state_c = ConvLSTM2D(filters=1,kernel_size=[5,5],strides=(1,1),padding='valid',activation='relu',batch_input_shape=(-1,6,30,30,3),return_sequences=False,return_state=True)(lstm_input)with tf.Session() as sess:sess.run(tf.global_variables_initializer())lstm_out_,state_h_,state_c_= sess.run([lstm_out,state_h,state_c])print(lstm_out_==state_h_)print(lstm_out_.shape)print(state_h_.shape)print(state_c_.shape)"""
返回:[ True]]]]
(4, 26, 26, 1)
(4, 26, 26, 1)
(4, 26, 26, 1)
"""
综上:
return_sequences: 决定是否返回所有时刻的状态
return_state:决定是否返回最后一个时刻的cell状态,由示例2结果可见,最后一个时刻的state = [h,c]
注意:在keras 中文文档中,在介绍ConvLSTM2D时,没有介绍 return_state 参数,该参数在LSTM的介绍中介绍,但是在ConvLSTM2D中通用。。。自己差点以为ConvLSTM2D中没有这个功能。。。
keras ConvLSTM2D 的简单应用相关推荐
- keras 双向LSTM 简单示例
示例1: 仅返回各个时刻的状态 import tensorflow.compat.v1 as tf from keras.layers import ConvLSTM2D,TimeDistribute ...
- 用Keras搭建神经网络 简单模版(三)—— CNN 卷积神经网络(手写数字图片识别)...
# -*- coding: utf-8 -*- import numpy as np np.random.seed(1337) #for reproducibility再现性 from keras.d ...
- python基础知识及数据分析工具安装及简单使用(Numpy/Scipy/Matplotlib/Pandas/StatsModels/Scikit-Learn/Keras/Gensim))
Python介绍. Unix & Linux & Window & Mac 平台安装更新 Python3 及VSCode下Python环境配置配置 python基础知识及数据分 ...
- keras教程-静态图编程框架keras-学习心得以及知识点总结
在过去的四个月里(2020三月开始的),和朋友一起对着官网的keras教程学习了一遍,学习的过程中发现有一些解释的不清楚的地方(官网的教程实在是~~~),我们自己做了实验,探索了问题的各个角落以及每个 ...
- 掌声送给TensorFlow 2.0!用Keras搭建一个CNN | 入门教程
作者 | Himanshu Rawlani 译者 | Monanfei,责编 | 琥珀 出品 | AI科技大本营(id:rgznai100) 2019 年 3 月 6 日,谷歌在 TensorFlow ...
- Keras还是TensorFlow?深度学习框架选型实操分享
译者| 王天宇.林椿眄 责编| Jane.琥珀 出品| AI科技大本营 深度学习发展势头迅猛,但近两年涌现的诸多深度学习框架让初学者无所适从.如 Google 的 TensorFlow.亚马逊的 MX ...
- Keras,亡于谷歌?
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨机器之心 来源丨机器之心 编辑丨极市平台 导读 将 Keras ...
- Keras vs PyTorch:谁是第一深度学习框架?
「第一个深度学习框架该怎么选」对于初学者而言一直是个头疼的问题.本文中,来自 deepsense.ai 的研究员给出了他们在高级框架上的答案.在 Keras 与 PyTorch 的对比中,作者还给出了 ...
- keras中lstm参数_如何使用Keras为自定义NER构建深度神经网络
在这篇文章中,我们将学习如何使用Keras创建一个简单的神经网络来从非结构化文本数据中提取信息(NER). 模型架构 在这里,我们将使用BILSTM + CRF层.LSTM层用于过滤不需要的信息,将仅 ...
最新文章
- java项目中怎么查看用的序列_如何在Java应用程序中使用序列化分类器对...
- 面向对象(下)知识点
- ios 不同的数据类型转化为json类型
- 操作系统实验报告14:Peterson 算法
- 东风本田crv2020新款混动说明书_能上绿牌,无续航焦虑!2020北京车展混动新车抢先看...
- JJWT签发与验证token
- 虎扑入股“造物”App关联公司 后者为模玩、手办平台
- 翻译 - 【Dojo Tutorials】Getting Started with dojox/app
- FFmpeg源代码简单分析:日志输出系统(av_log()等)
- 6.企业安全建设指南(金融行业安全架构与技术实践) --- 安全培训
- SDN(软件定义网络)简史-早期
- 什么是SysWow64
- 小天使改名(水题 杭电排位赛-2)
- leet75:颜色分类
- webrtc入门:13.pion webrtc开源的webrtc框架
- java类型的数组初始化_java数组初始化详解
- 特殊符号备用——三角形
- Qt数据库:(五)QSqlQueryModel
- QT tablewidget实时刷新显示内存溢出问题
- 2022的取舍与得失
热门文章
- vs2015ef链接mysql_【转载】VS2015 + EF6连接MYSQL5.6
- myisam为什么比innodb查询快_mysql存储引擎之MyISAM 和 InnoDB的比较
- 路由器上的usb接口有什么用_路由器上面的USB接口有什么用途,你都知道吗?
- django mysql返回json_Django 1.8.11 查询数据库返回JSON格式数据
- 小学计算机打字比赛教案,小学信息技术二年级教案
- 一段简单的python代码_一个简单的python写的C/S程序
- 多台Linux服务器一起关机,linux – 一台服务器,两台APC UPS上的冗余电源:如何触发关机?...
- Ubuntu为julia安装深度学习框架MXNet(支持CUDA和OPenCV编译)
- 如何在R中使用range()?
- csh sum算总和_如何在R中使用sum()–在R中查找元素的总和