使用 tf.nn.dynamic_rnn 展开时间维度方式
对于单个的 RNNCell , 使用色的 call 函数进行运算时 ,只是在序列时间上前进了一步 。
如使用 x1、 ho 得到此h1, 通过 x2 、 h1 得到 h2 等 。
tf.nn.dynamic_rnn的作用:
如果序列长度为n,要调用n次call函数,比较麻烦。对此,TensorFlow提供了一个tf.nn.dynamic_mn函数,使用该函数相当于调用了n次call函数。通过{ho, x1 , x2,…, xn} 直接得到{h1 , h2,…, hn} 。
具体来说,设输入数据的格式为(batch_size, time_steps, input size),
其中batch_size表示batch的大小,即包含几个序列。
time_steps表示序列长度,
input_size表示输入数据单个序列单个时间维度上固有的长度。
此时,得到的outputs是time_steps步里所有的输出。它的形状为(batch_size, time_steps, cell.output size)。state 是最后一步的隐状态,形状为(batch_size, cell . state_size) 。
至此,在对每一步的输出进行变换,可以得到损失并进行训练模型了。
以上这篇使用 tf.nn.dynamic_rnn 展开时间维度方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
TensorFlow tf.nn.max_pool实现池化操作方式
max pooling是CNN当中的最大值池化操作,其实用法和卷积很类似 有些地方可以从卷积去参考[TensorFlow] tf.nn.conv2d实现卷积的方式 tf.nn.max_pool(value, ksize, strides, padding, name=None) 参数是四个,和卷积很类似: 第一个参数value:需要池化的输入,一般池化层接在卷积层后面,所以输入通常是feature map,依然是[batch, height, width, channels]这样的shape 第
-
TensorFlow用expand_dim()来增加维度的方法
TensorFlow中,想要维度增加一维,可以使用tf.expand_dims(input, dim, name=None)函数.当然,我们常用tf.reshape(input, shape=[])也可以达到相同效果,但是有些时候在构建图的过程中,placeholder没有被feed具体的值,这时就会包下面的错误:TypeError: Expected binary or unicode string, got 1 在这种情况下,我们就可以考虑使用expand_dims来将维度加1.比如我自己代
-
使用 tf.nn.dynamic_rnn 展开时间维度方式
对于单个的 RNNCell , 使用色的 call 函数进行运算时 ,只是在序列时间上前进了一步 . 如使用 x1. ho 得到此h1, 通过 x2 . h1 得到 h2 等 . tf.nn.dynamic_rnn的作用: 如果序列长度为n,要调用n次call函数,比较麻烦.对此,TensorFlow提供了一个tf.nn.dynamic_mn函数,使用该函数相当于调用了n次call函数.通过{ho, x1 , x2,-, xn} 直接得到{h1 , h2,-, hn} . 具体来说,设输入数据的
-
python循环神经网络RNN函数tf.nn.dynamic_rnn使用
目录 学习前言 tf.nn.dynamic_rnn的定义 tf.nn.dynamic_rnn的使用举例 单层实验 多层实验 学习前言 已经完成了RNN网络的构建,但是我们对于RNN网络还有许多疑问,特别是tf.nn.dynamic_rnn函数,其具体的应用方式我们并不熟悉,查询了一下资料,我心里的想法是这样的. tf.nn.dynamic_rnn的定义 tf.nn.dynamic_rnn( cell, inputs, sequence_length=None, initial_state=Non
-
关于tf.nn.dynamic_rnn返回值详解
函数原型 tf.nn.dynamic_rnn( cell, inputs, sequence_length=None, initial_state=None, dtype=None, parallel_iterations=None, swap_memory=False, time_major=False, scope=None ) 实例讲解: import tensorflow as tf import numpy as np n_steps = 2 n_inputs = 3 n_neuron
-
TensorFlow tf.nn.conv2d实现卷积的方式
实验环境:tensorflow版本1.2.0,python2.7 介绍 惯例先展示函数: tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 除去name参数用以指定该操作的name,与方法有关的一共五个参数: input: 指需要做卷积的输入图像,它要求是一个Tensor,具有[batch, in_height, in_width, in_channels]这样的shape,具体含义是[
-
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
在利用tensorflow进行文本挖掘工作的时候,经常涉及到维度扩展和压缩工作.比如对文本进行embedding操作完成之后,若要进行卷积操作,就需要对embedded的向量扩展维度,将[batch_size, embedding_dims]扩展成为[batch_size, embedding_dims, 1],利用tf.expand_dims(input, -1)就可实现,反过来用squeeze(input, -1)或者tf.squeeze(input)也可以把最第三维去掉. tf.expan
-
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
在用tensorflow做一维的卷积神经网络的时候会遇到tf.nn.conv1d和layers.conv1d这两个函数,但是这两个函数有什么区别呢,通过计算得到一些规律. 1.关于tf.nn.conv1d的解释,以下是Tensor Flow中关于tf.nn.conv1d的API注解: Computes a 1-D convolution given 3-D input and filter tensors. Given an input tensor of shape [batch, in_wi
-
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
实验环境:tensorflow版本1.2.0,python2.7 介绍 关于空洞卷积的理论可以查看以下链接,这里我们不详细讲理论: 1.Long J, Shelhamer E, Darrell T, et al. Fully convolutional networks for semantic segmentation[C]. Computer Vision and Pattern Recognition, 2015. 2.Yu, Fisher, and Vladlen Koltun. "Mu
-
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
今天来介绍一下Tensorflow里面的反卷积操作,网上反卷积的用法的介绍比较少,希望这篇教程可以帮助到各位 反卷积出自这篇论文:Deconvolutional Networks,有兴趣的同学自行了解 首先无论你如何理解反卷积,请时刻记住一点,反卷积操作是卷积的反向 如果你随时都记住上面强调的重点,那你基本就理解一大半了,接下来通过一些函数的介绍为大家强化这个观念 conv2d_transpose(value, filter, output_shape, strides, padding="SA
-
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
实验环境:tensorflow版本1.2.0,python2.7 介绍 depthwise_conv2d来源于深度可分离卷积: Xception: Deep Learning with Depthwise Separable Convolutions tf.nn.depthwise_conv2d(input,filter,strides,padding,rate=None,name=None,data_format=None) 除去name参数用以指定该操作的name,data_format指定
随机推荐
- 页面中加载优酷视频去掉广告的方法
- sqlserver2005 xml字段的读写操作
- mysql判断字段是否存在的方法
- AngularJS equal比较对象实例详解
- Win7 64位下PowerDesigner连接64位Oracle11g数据库
- oracle 更改数据库名的方法
- javascript 动态创建表格
- 提高MySQL 查询效率的三个技巧第1/2页
- PHP连接access数据库
- jquery实现手机号码选号的方法
- Joomla使用Apache重写模式的方法
- php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
- 详解ubuntu下安装Docker
- android ListView和ProgressBar(进度条控件)的使用方法
- Android自定义可编辑、删除的侧滑LisitView
- php之curl实现http与https请求的方法
- python负载均衡的简单实现方法
- php workerman定时任务的实现代码
- rapidjson解析json代码实例以及常见的json core dump问题
- 易语言用正则采集百度知道的代码