I am trying Tensorflow 2.0 alpha preview and was testing the Eager execution . My doubt is that if you have a numpy array of variable size in middle like
input.shape
(10,)
input[0].shape
(109, 16)
input[1].shape
(266, 16)
and so on for the rest of the array , how does one eagerly convert them to tensors.
when I try
tf.convert_to_tensor(input)
or
tf.Variable(input)
I get
ValueError: Failed to convert numpy ndarray to a Tensor (Unable to get element as bytes.).
Converting each sub-array works , but because the sub-array size isn't same , tf.stack doesn't work.
Any help or suggestions ?
This was happening to me in eager as well. Looking at the docs here , I ended up trying
tf.convert_to_tensor(input, dtype=tf.float32)
And that worked for me.
If you can make lists of arrays, then tf.ragged.stack
should do it. You can use it like this for example:
tf.ragged.stack([tf.convert_to_tensor(arr) for arr in arrays], axis=0)
This will stack uneven sized arrays into a RaggedTensor
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With