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层用于过滤不需要的信息,将仅 ...
最新文章
- 数字营销迎来黄金期 TalkingData推出“营销云”平台
- 使用PCB Editor 制作元件封装Footprint
- 一个html文档所需要的最基本的标记对是,川大《WEB技术》19秋在线作业1题目【标准答案】...
- (四)系统虚拟化关键技术
- html图片渐隐渐显,js实现图片切换效果渐隐渐显
- .net集合类的研究--链表—ListDictionary,LinkedListT
- 关于 Math.pow 的一个坑
- Factorials 阶乘
- HDU 4081 Qin Shi Huang's National Road System
- linux 下Eclipse for C/C++的不常见设置
- 数据结构上机实践第四周项目4 - 建设双链表算法库
- MOSS2007-学习笔记-备忘录-单点登录-(1)-我的网站'?
- Linux快速入门教程
- 物联网建设,智慧城市道路智能交通解决方案
- 微带滤波器摘要_微带低通滤波器的设计
- WPF(C#)桌面UI控件库推荐:Newbeecoder.UI-NbGroupBox使用
- WebUploader图片上传实例
- 智能化安防视频监控行业发展是如何转变的?
- linux su无效_linux系统 su切换用户失败情况
- 图像识别(2)——《OpenCV3编程入门》毛星云编著
热门文章
- 使用mysql事务管理_MySQL事务管理的介绍(附示例)
- 64位装32位oracle软件,在64位linux下安装32位oracle软件
- 2021年淮南高考成绩查询,2021年淮南高考最高分多少分,历年淮南高考状元
- 嵌入式系统功能需求分析_嵌入式系统开发流程及前景分析
- cenyos7安装 yum不可用_centos7安装fabric
- pe我的手机服务器存档文件,我的世界手机版怎么导出存档 pe版怎么把存档给别人用...
- 如何在Docker上构建Node.js应用程序
- mockito无效_Mockito模拟无效方法
- C语言入门基础知识有哪些?
- spring基础知识总结