Offcial website: https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/TensorArray
# - To add a vector at each iteration, forms a matrix finally:
a = tf.TensorArray(dtype=tf.float32, size=0, dynamic_size=True)
def cond_while(i, a):
return tf.less(i, 3)
def body_while(i, a):
a_update = a.write(i, [2.1, 3.2])
return i+1, a_update
_, result = tf.while_loop(cond_while, body_while, loop_vars=[tf.constant(0), a])
final_result = result.stack()
with tf.Session():
print(final_result.eval())
# ---------------------------------------------------------------------------------------------------------------------
# - To add a scalar at each iteration, forms a vector finally: (but can only write one value into the TensorArray at each time)
a = tf.TensorArray(dtype=tf.int32, size=0, dynamic_size=True)
def cond_while(i, a):
return tf.less(i, 5)
def body_while(i, a):
a_update = a.write(a.size(), i)
return i+1, a_update
_, result = tf.while_loop(cond_while, body_while, loop_vars=[0, a])
final_result = result.stack()