1import numpy as np
2import tensorflow as tf
3
4from onnx_tf.handlers.backend_handler import BackendHandler
5from onnx_tf.handlers.handler import onnx_op
6from onnx_tf.common import data_type
7from onnx import mapping
8
9
10@onnx_op("SequenceEmpty")
11class SequenceEmpty(BackendHandler):
12
13  @classmethod
14  def version_11(cls, node, **kwargs):
15    default_dtype = mapping.NP_TYPE_TO_TENSOR_TYPE[np.dtype('float32')]
16    dtype = data_type.onnx2tf(node.attrs.get("dtype", default_dtype))
17
18    ragged = tf.RaggedTensor.from_row_lengths(values=[], row_lengths=[])
19    sparse = tf.cast(ragged.to_sparse(), dtype)
20    return [tf.RaggedTensor.from_sparse(sparse)]
21