.. _op_ai_onnx_ml_CastMap: CastMap ======= - **Domain**: ``ai.onnx.ml`` - **Since version**: 1 Converts a map to a tensor. The map key must be an int64 and the values will be ordered in ascending order based on this key. The operator supports dense packing or sparse packing. If using sparse packing, the key cannot exceed the max_map-1 value. **Inputs** - **X** (*T1*): The input map that is to be cast to a tensor **Outputs** - **Y** (*T2*): A tensor representing the same data as the input map, ordered by their keys **Type Constraints** - **T1**: The input must be an integer map to either string or float. Allowed types: map(int64, float), map(int64, string). - **T2**: The output is a 1-D tensor of string, float, or integer. Allowed types: tensor(float), tensor(int64), tensor(string). Examples -------- **test_cc_cast_map_int64_float_dense** .. code-block:: text Node: ai.onnx.ml.CastMap(x) -> (y) Attributes: cast_to = "TO_FLOAT" map_form = "DENSE" .. code-block:: text Inputs: x: shape=(3,), dtype=int64 [2, 0, 1] input_1: shape=(3,), dtype=float32 [2.5, 0.5, 1.5] Outputs: y: shape=(3,), dtype=float32 [0.5, 1.5, 2.5] **test_cc_cast_map_int64_float_sparse** .. code-block:: text Node: ai.onnx.ml.CastMap(x) -> (y) Attributes: cast_to = "TO_FLOAT" map_form = "SPARSE" max_map = 5 .. code-block:: text Inputs: x: shape=(2,), dtype=int64 [1, 3] input_1: shape=(2,), dtype=float32 [10., 30.] Outputs: y: shape=(5,), dtype=float32 [ 0., 10., 0., 30., 0.] **test_cc_cast_map_int64_string_dense** .. code-block:: text Node: ai.onnx.ml.CastMap(x) -> (y) Attributes: cast_to = "TO_STRING" map_form = "DENSE" .. code-block:: text Inputs: x: shape=(2,), dtype=int64 [1, 0] input_1: shape=(2,), dtype=object ['b', 'a'] Outputs: y: shape=(2,), dtype=object ['a', 'b']