import tensorflow as tf
import numpy as np B=3
D=4
T=5 tf.reset_default_graph()
xs=tf.placeholder(shape=[T,B,D],dtype=tf.float32) with tf.variable_scope('rnn'):
GRUcell = tf.nn.rnn_cell.GRUCell(num_units=D)
cell = tf.nn.rnn_cell.MultiRNNCell([GRUcell]) output_ta = tf.TensorArray(size=T,dtype=tf.float32)
input_ta = tf.TensorArray(size=T,dtype=tf.float32)
input_ta = input_ta.unstack(xs) def body(time,output_ta_t,state):
xt = input_ta.read(time)
new_output,new_state = cell(xt,state)
output_ta_t = output_ta_t.write(time, new_output)
return (time+1,output_ta_t,new_state) def condition(time,output,state):
return time<T time=0
state=cell.zero_state(B,tf.float32)
time_final,output_ta_final,state_final=tf.while_loop(cond=condition,body=body,loop_vars=(time,output_ta,state))
output_final = output_ta_final.stack() x=np.random.randn(T,B,D)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
output_final_,state_final_=sess.run([output_final,state_final],feed_dict={xs:x})
 import tensorflow as tf
tf.enable_eager_execution() def condition(time,max_time, output_ta_l):
return tf.less(time, max_time) def body(time,max_time, output_ta_l):
output_ta_l = output_ta_l.write(time, [2.4, 3.5])
return time + 1, max_time,output_ta_l max_time=tf.constant(3)
time = tf.constant(0)
output_ta = tf.TensorArray(dtype=tf.float32, size=1, dynamic_size=True)
result = tf.while_loop(condition, body, loop_vars=[time,max_time,output_ta])
last_time,max_time, last_out = result
final_out = last_out.stack() print(last_time)
print(final_out) '''
ta.stack(name=None) 将TensorArray中元素叠起来当做一个Tensor输出
ta.unstack(value, name=None) 可以看做是stack的反操作,输入Tensor,输出一个新的TensorArray对象
ta.write(index, value, name=None) 指定index位置写入Tensor
ta.read(index, name=None) 读取指定index位置的Tensor
作者:加勒比海鲜
原文:https://blog.csdn.net/guolindonggld/article/details/79256018
'''

TensorArray可以看做是具有动态size功能的Tensor数组。通常都是跟while_loop或map_fn结合使用

tips:[n.name for n in tf.get_default_graph().as_graph_def().node]获取图中所有节点

tensorflow TensorArray 代码例子的更多相关文章

  1. 30个php操作redis常用方法代码例子

    From: http://www.jb51.net/article/51884.htm 这篇文章主要介绍了30个php操作redis常用方法代码例子,本文其实不止30个方法,可以操作string类型. ...

  2. 30 个 php 操作 redis 常用方法代码例子

    这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类型. list 类型和 set 类型的数据 , 需要的朋友可以参 ...

  3. 最小包围多边形(凸包;最小包围点集)——C代码例子

    本文来自:http://alienryderflex.com/smallest_enclosing_polygon/ 这个C代码例子需要一群2维点集,如下图所示: 要获得包含这些点的最小多边形如下图所 ...

  4. 捕鱼达人代码例子下载地址 mac版

    捕鱼达人代码例子下载地址  mac版: http://pan.baidu.com/share/link?shareid=1431898404&uk=3189484501

  5. 捕鱼达人代码例子下载地址 Win版

    捕鱼达人代码例子下载地址 Win版:: http://pan.baidu.com/share/link?shareid=1601576904&uk=3189484501

  6. 一些 NSArray 的基本操作代码例子

    一些 NSArray 的基本操作代码例子 数组可以说是软件开发人员每天都要面对的基本操作,下面就分享一些 NSArray 的基本操作代码例子供苹果开发初学者参考,每段代码第一行会以注释方式说明该段代码 ...

  7. jeecg 主-附表生成代码例子

    jeecg 主-附表生成代码例子 - CSDN博客https://blog.csdn.net/u010411264/article/details/51243277 JEECG Online Codi ...

  8. 神经网络:caffe特征可视化的代码例子

    caffe特征可视化的代码例子 不少读者看了我前面两篇文章 总结一下用caffe跑图片数据的研究流程 deep learning实践经验总结2--准确率再次提升,到达0.8.再来总结一下 之后.想知道 ...

  9. 爱漂泊人生 30个php操作redis常用方法代码例子

    http://www.justwinit.cn/post/8789/ 背景:redis这个新产品在sns时很火,而memcache早就存在, 但redis提供出来的功能,好多网站均把它当memcach ...

随机推荐

  1. hdu 2510 符号三角形 (DFS+打表)

    符号三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  2. [SQL Server]关于标识列,标识从1开始计数的的方法

    DBCC CHECKIDENT ('表名',  RESEED, 0) //从30开始 DBCC  CHECKIDENT  (jobs,  RESEED,  30)

  3. HDU - 5919 Sequence II

    题意: 给定长度为n的序列和q次询问.每次询问给出一个区间(L,R),求出区间内每个数第一次出现位置的中位数,强制在线. 题解: 用主席树从右向左的插入点.对于当前点i,如果a[i]出现过,则把原位置 ...

  4. node_module删除

    https://segmentfault.com/q/1010000002972327 npm install rimraf -g rimraf node_modules

  5. code forces 999C Alphabetic Removals

    C. Alphabetic Removals time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  6. Windows转移FSMO角色

    转移 FSMO 角色若要使用 Ntdsutil 实用工具转移 FSMO 角色,请按照下列步骤操作:1.登录到基于 Windows 2000 Server 或基于 Windows Server 2003 ...

  7. 使用keepalived监控tomcat 达到双机热备

    通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务. 当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.下面来以keepalived结合to ...

  8. linux精彩收集

    ----------------------------网络无关篇-------------------------- 0001 修改主机名(bjchenxu) vi /etc/sysconfig/n ...

  9. 01深入理解C指针之---指针含义符号

    该系列文章源于<深入理解C指针>的阅读与理解,由于本人的见识和知识的欠缺可能有误,还望大家批评指教. 1.指针的含义: 指针本身也是变量,与其他一般变量不同的是:指针变量中没有存储具体类型 ...

  10. Appium+python自动化4-元素定位uiautomatorviewer【转载】

    前言 环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作. uiautomatorviewer是androi ...