Consider the following tensor
params = tf.constant([
1.3, 7, 1, 0.5, -2,
3, -0.033, 0.9, -6.3, 4.1,
9, 5, 0.25, -6, 0.2])
params
The output of the above tensor is
<tf.Tensor: shape=(15,), dtype=float32, numpy=
array([ 1.3 , 7. , 1. , 0.5 , -2. , 3. , -0.033, 0.9 ,
-6.3 , 4.1 , 9. , 5. , 0.25 , -6. , 0.2 ],
dtype=float32)>
Now I want to remove, lets say the first value , i.e., 1.3, remove values from indices starting from 4 to 6 and from value 0.25 onwards [12:] The output shall be
<tf.Tensor: shape=(8,), dtype=float32, numpy=
array([ 7. , 1. , 0.5 , 0.9 ,
-6.3 , 4.1 , 9. , 5.],
dtype=float32)>
Can it be done? Thanks in advance
CodePudding user response:
Sure, have a look at tensor slicing. In your case it would be:
import tensorflow as tf
params = tf.constant([
1.3, 7, 1, 0.5, -2,
3, -0.033, 0.9, -6.3, 4.1,
9, 5, 0.25, -6, 0.2])
out = tf.concat([params[1:4], params[7:12]], 0)
print(out)
Output:
tf.Tensor([ 7. 1. 0.5 0.9 -6.3 4.1 9. 5. ], shape=(8,), dtype=float32)