So basically, my question is the same as Concatenating empty array in Numpy but for Tensorflow.

Mainly, the motivation is to handle the initial array in a prettier way that using a if statement. My current pseudo-code is:

E = None for a in A: if E is None: E = a else: E = tf.concat([E, a], axis=0)

This technique works but I would like to make it a prettier way and maybe using only `tf.Tensor`

. This is a code of a custom layer so I am interested in a code that works inside a model.

I would like a solution closer to the accepted response initializing E as: `E = np.array([], dtype=np.int64).reshape(0,5)`

.

This question gets close enough but when I init E as:

E = tf.zeros([a.shape[0], a.shape[1], 0]) ...

I get an empty tensor as a result with only the correct shape but not filled.

In TF2, you can simply port the numpy solution with TensorFlow functions:

>>> xs = tf.constant([[1,2,3,4,5],[10,20,30,40,50]]) >>> ys = tf.reshape(tf.constant([], dtype=tf.int32),(0,5)) >>> ys <tf.Tensor: shape=(0, 5), dtype=int32, numpy=array([], shape=(0, 5), dtype=int32)> >>> tf.concat([ys,xs], axis=0) <tf.Tensor: shape=(2, 5), dtype=int32, numpy= array([[ 1, 2, 3, 4, 5], [10, 20, 30, 40, 50]], dtype=int32)>

## Recent Comments