У меня есть RaggedTensor
, который я пытаюсь нарезать:
batch_size_t = 4
ragged = tf.ragged.constant([[3, 1, 4, 1], [1, 2], [5, 9, 2], [6]])
tf.slice(ragged, [0, 0], [batch_size_t, 3])
Однако tf.slice
не похоже на рваные тензоры:
---------------------------------------------------------------------------
_FallbackException Traceback (most recent call last)
/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/ops/gen_array_ops.py in _slice(input, begin, size, name)
8438 _ctx._context_handle, tld.device_name, "Slice", name,
-> 8439 tld.op_callbacks, input, begin, size)
8440 return _result
...
/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/framework/constant_op.py in convert_to_eager_tensor(value, ctx, dtype)
94 dtype = dtypes.as_dtype(dtype).as_datatype_enum
95 ctx.ensure_initialized()
---> 96 return ops.EagerTensor(value, ctx.device_name, dtype)
97
98
ValueError: TypeError: object of type 'RaggedTensor' has no len()
Есть ли способ нарезать рваные тензоры, чтобы я мог обрезать длину внутренних размеров?