示例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 的简单应用相关推荐

  1. keras 双向LSTM 简单示例

    示例1: 仅返回各个时刻的状态 import tensorflow.compat.v1 as tf from keras.layers import ConvLSTM2D,TimeDistribute ...

  2. 用Keras搭建神经网络 简单模版(三)—— CNN 卷积神经网络(手写数字图片识别)...

    # -*- coding: utf-8 -*- import numpy as np np.random.seed(1337) #for reproducibility再现性 from keras.d ...

  3. python基础知识及数据分析工具安装及简单使用(Numpy/Scipy/Matplotlib/Pandas/StatsModels/Scikit-Learn/Keras/Gensim))

    Python介绍. Unix & Linux & Window & Mac 平台安装更新 Python3 及VSCode下Python环境配置配置 python基础知识及数据分 ...

  4. keras教程-静态图编程框架keras-学习心得以及知识点总结

    在过去的四个月里(2020三月开始的),和朋友一起对着官网的keras教程学习了一遍,学习的过程中发现有一些解释的不清楚的地方(官网的教程实在是~~~),我们自己做了实验,探索了问题的各个角落以及每个 ...

  5. 掌声送给TensorFlow 2.0!用Keras搭建一个CNN | 入门教程

    作者 | Himanshu Rawlani 译者 | Monanfei,责编 | 琥珀 出品 | AI科技大本营(id:rgznai100) 2019 年 3 月 6 日,谷歌在 TensorFlow ...

  6. Keras还是TensorFlow?深度学习框架选型实操分享

    译者| 王天宇.林椿眄 责编| Jane.琥珀 出品| AI科技大本营 深度学习发展势头迅猛,但近两年涌现的诸多深度学习框架让初学者无所适从.如 Google 的 TensorFlow.亚马逊的 MX ...

  7. Keras,亡于谷歌?

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨机器之心 来源丨机器之心 编辑丨极市平台 导读 将 Keras ...

  8. Keras vs PyTorch:谁是第一深度学习框架?

    「第一个深度学习框架该怎么选」对于初学者而言一直是个头疼的问题.本文中,来自 deepsense.ai 的研究员给出了他们在高级框架上的答案.在 Keras 与 PyTorch 的对比中,作者还给出了 ...

  9. keras中lstm参数_如何使用Keras为自定义NER构建深度神经网络

    在这篇文章中,我们将学习如何使用Keras创建一个简单的神经网络来从非结构化文本数据中提取信息(NER). 模型架构 在这里,我们将使用BILSTM + CRF层.LSTM层用于过滤不需要的信息,将仅 ...

最新文章

  1. 数字营销迎来黄金期 TalkingData推出“营销云”平台
  2. 使用PCB Editor 制作元件封装Footprint
  3. 一个html文档所需要的最基本的标记对是,川大《WEB技术》19秋在线作业1题目【标准答案】...
  4. (四)系统虚拟化关键技术
  5. html图片渐隐渐显,js实现图片切换效果渐隐渐显
  6. .net集合类的研究--链表—ListDictionary,LinkedListT
  7. 关于 Math.pow 的一个坑
  8. Factorials 阶乘
  9. HDU 4081 Qin Shi Huang's National Road System
  10. linux 下Eclipse for C/C++的不常见设置
  11. 数据结构上机实践第四周项目4 - 建设双链表算法库
  12. MOSS2007-学习笔记-备忘录-单点登录-(1)-我的网站'?
  13. Linux快速入门教程
  14. 物联网建设,智慧城市道路智能交通解决方案
  15. 微带滤波器摘要_微带低通滤波器的设计
  16. WPF(C#)桌面UI控件库推荐:Newbeecoder.UI-NbGroupBox使用
  17. WebUploader图片上传实例
  18. 智能化安防视频监控行业发展是如何转变的?
  19. linux su无效_linux系统 su切换用户失败情况
  20. 图像识别(2)——《OpenCV3编程入门》毛星云编著

热门文章

  1. 使用mysql事务管理_MySQL事务管理的介绍(附示例)
  2. 64位装32位oracle软件,在64位linux下安装32位oracle软件
  3. 2021年淮南高考成绩查询,2021年淮南高考最高分多少分,历年淮南高考状元
  4. 嵌入式系统功能需求分析_嵌入式系统开发流程及前景分析
  5. cenyos7安装 yum不可用_centos7安装fabric
  6. pe我的手机服务器存档文件,我的世界手机版怎么导出存档 pe版怎么把存档给别人用...
  7. 如何在Docker上构建Node.js应用程序
  8. mockito无效_Mockito模拟无效方法
  9. C语言入门基础知识有哪些?
  10. spring基础知识总结