Skip to content

Conversation

@justinchuby
Copy link
Collaborator

@justinchuby justinchuby commented May 1, 2025

Fix #1749

@codecov
Copy link

codecov bot commented May 1, 2025

❌ 12 Tests Failed:

Tests completed Failed Passed Skipped
11113 12 11101 989
View the top 3 failed test(s) by shortest run time
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_put_cpu_float32
Stack Traces | 1.17s run time
.../function_libs/torch_lib/ops_test_common.py:610: in _capture_graph_and_evaluate_torch_script_evaluator
    return _safe_ort_session_run(model_proto.SerializeToString(), ort_inputs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../function_libs/torch_lib/ops_test_common.py:391: in _safe_ort_session_run
    raise return_dict["error"]
E   onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Non-zero status code returned while running Expand node. Name:'node_Expand_7' Status Message: invalid expand shape

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:626: in _capture_graph_and_evaluate_torch_script_evaluator
    raise RuntimeError(
E   RuntimeError: ONNX Runtime failed to evaluate:
E   Inputs:
E   {'input_0': array([[-8.478374  , -1.7658259 , -4.3228045 ],
E          [-2.400456  , -7.950587  ,  3.6116052 ],
E          [-8.067647  , -0.57349384,  3.1285105 ],
E          [-3.0336847 ,  5.106745  ,  1.1351377 ],
E          [ 4.9473085 ,  5.7744465 , -3.973022  ],
E          [ 3.2707994 , -3.8938508 ,  2.8211474 ],
E          [-4.7023954 ,  4.163121  ,  1.8220074 ],
E          [-3.522088  , -4.414461  ,  2.3285136 ],
E          [ 8.3972    ,  4.319086  , -0.86907756],
E          [-0.43684494,  5.1154985 , -6.255068  ]], dtype=float32),
E    'input_1_0': array([[0, 1, 2, 3],
E          [4, 5, 6, 7]]),
E    'input_2': array([[[ 2.9920397 , -2.9821851 ,  5.2072277 ],
E           [-3.210485  ,  0.44502783,  3.0391326 ],
E           [ 6.1850643 , -1.3228505 ,  8.210626  ],
E           [-7.6144147 , -1.605404  , -8.974583  ]],
E   
E          [[ 0.7455597 ,  2.5540218 , -3.6432605 ],
E           [ 3.7379093 , -1.4589812 , -7.8208904 ],
E           [ 6.909597  ,  5.54907   ,  4.5504694 ],
E           [ 7.1789594 ,  3.3094802 ,  4.78521   ]]], dtype=float32)}
E   Model:
E   <
E      ir_version: 10,
E      opset_import: ["" : 18, "pkg.torch.onnx" : 1, "pkg.onnxscript.torch_lib.common" : 1, "pkg.onnxscript.torch_lib" : 1],
E      producer_name: "torch_test"
E   >
E   main_graph (float[10,3] input_0, int64[2,4] input_1_0, float[2,4,3] input_2) => (float[10,3] val_10) 
E      <float[10,3] val_0, int64[2,4] val_1, int64[2] val_2, int64[2,4] val_3, int64[1] val_4, int64[2,4,1] val_5, int64[2,4,1] val_6, float[10,3] val_9>
E   {
E      val_0 = Transpose <perm: ints = [0, 1]> (input_0)
E      val_1 = Max (input_1_0)
E      val_2 = Shape <start: int = 0> (val_1)
E      val_3 = Expand (input_1_0, val_2)
E      val_4 = Constant <value: tensor = int64[1] {-1}> ()
E      val_5 = Unsqueeze (val_3, val_4)
E      val_6 = Concat <axis: int = -1> (val_5)
E      val_7 = Expand (input_2, val_2)
E      val_8 = Transpose <perm: ints = [0, 1]> (val_7)
E      val_9 = ScatterND <reduction: string = "none"> (val_0, val_6, val_8)
E      val_10 = Transpose <perm: ints = [0, 1]> (val_9)
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten__unsafe_index_put_cpu_float32
Stack Traces | 1.27s run time
.../function_libs/torch_lib/ops_test_common.py:610: in _capture_graph_and_evaluate_torch_script_evaluator
    return _safe_ort_session_run(model_proto.SerializeToString(), ort_inputs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../function_libs/torch_lib/ops_test_common.py:391: in _safe_ort_session_run
    raise return_dict["error"]
E   onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Non-zero status code returned while running Expand node. Name:'node_Expand_7' Status Message: invalid expand shape

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:626: in _capture_graph_and_evaluate_torch_script_evaluator
    raise RuntimeError(
E   RuntimeError: ONNX Runtime failed to evaluate:
E   Inputs:
E   {'input_0': array([[-8.478374  , -1.7658259 , -4.3228045 ],
E          [-2.400456  , -7.950587  ,  3.6116052 ],
E          [-8.067647  , -0.57349384,  3.1285105 ],
E          [-3.0336847 ,  5.106745  ,  1.1351377 ],
E          [ 4.9473085 ,  5.7744465 , -3.973022  ],
E          [ 3.2707994 , -3.8938508 ,  2.8211474 ],
E          [-4.7023954 ,  4.163121  ,  1.8220074 ],
E          [-3.522088  , -4.414461  ,  2.3285136 ],
E          [ 8.3972    ,  4.319086  , -0.86907756],
E          [-0.43684494,  5.1154985 , -6.255068  ]], dtype=float32),
E    'input_1_0': array([[0, 1, 2, 3],
E          [4, 5, 6, 7]]),
E    'input_2': array([[[ 2.9920397 , -2.9821851 ,  5.2072277 ],
E           [-3.210485  ,  0.44502783,  3.0391326 ],
E           [ 6.1850643 , -1.3228505 ,  8.210626  ],
E           [-7.6144147 , -1.605404  , -8.974583  ]],
E   
E          [[ 0.7455597 ,  2.5540218 , -3.6432605 ],
E           [ 3.7379093 , -1.4589812 , -7.8208904 ],
E           [ 6.909597  ,  5.54907   ,  4.5504694 ],
E           [ 7.1789594 ,  3.3094802 ,  4.78521   ]]], dtype=float32)}
E   Model:
E   <
E      ir_version: 10,
E      opset_import: ["" : 18, "pkg.torch.onnx" : 1, "pkg.onnxscript.torch_lib.common" : 1, "pkg.onnxscript.torch_lib" : 1],
E      producer_name: "torch_test"
E   >
E   main_graph (float[10,3] input_0, int64[2,4] input_1_0, float[2,4,3] input_2) => (float[10,3] val_10) 
E      <float[10,3] val_0, int64[2,4] val_1, int64[2] val_2, int64[2,4] val_3, int64[1] val_4, int64[2,4,1] val_5, int64[2,4,1] val_6, float[10,3] val_9>
E   {
E      val_0 = Transpose <perm: ints = [0, 1]> (input_0)
E      val_1 = Max (input_1_0)
E      val_2 = Shape <start: int = 0> (val_1)
E      val_3 = Expand (input_1_0, val_2)
E      val_4 = Constant <value: tensor = int64[1] {-1}> ()
E      val_5 = Unsqueeze (val_3, val_4)
E      val_6 = Concat <axis: int = -1> (val_5)
E      val_7 = Expand (input_2, val_2)
E      val_8 = Transpose <perm: ints = [0, 1]> (val_7)
E      val_9 = ScatterND <reduction: string = "none"> (val_0, val_6, val_8)
E      val_10 = Transpose <perm: ints = [0, 1]> (val_9)
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_bool_cpu_float16
Stack Traces | 1.44s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_17): [TypeInferenceError] Invalid attribute perm {2, 0, 1, 3}, input shape = {0, 5, 5}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<FLOAT16,[5,5,5,5]>,
E           %"input_1_1"<BOOL,[5]>,
E           %"input_1_2"<BOOL,[5]>
E       ),
E       outputs=(
E           %"val_17"<FLOAT16,[5,4,5]>
E       ),
E   ) {
E        0 |  # node_NonZero_0
E             %"val_0"<?,?> ⬅️ ::NonZero(%"input_1_1")
E        1 |  # node_Transpose_1
E             %"val_1"<?,?> ⬅️ ::Transpose(%"val_0") {perm=(1, 0)}
E        2 |  # node_NonZero_2
E             %"val_2"<?,?> ⬅️ ::NonZero(%"input_1_2")
E        3 |  # node_Transpose_3
E             %"val_3"<?,?> ⬅️ ::Transpose(%"val_2") {perm=(1, 0)}
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([1]), name=None)}
E        5 |  # node_Squeeze_5
E             %"val_5"<?,?> ⬅️ ::Squeeze(%"val_1", %"val_4")
E        6 |  # node_Squeeze_6
E             %"val_6"<?,?> ⬅️ ::Squeeze(%"val_3", %"val_4")
E        7 |  # node_Transpose_7
E             %"val_7"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(1, 2, 0, 3)}
E        8 |  # node_Max_8
E             %"val_8"<?,?> ⬅️ ::Max(%"val_5", %"val_6")
E        9 |  # node_Shape_9
E             %"val_9"<?,?> ⬅️ ::Shape(%"val_8") {start=0}
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"val_5", %"val_9")
E       11 |  # node_Constant_11
E             %"val_11"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E       12 |  # node_Unsqueeze_12
E             %"val_12"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_11")
E       13 |  # node_Expand_13
E             %"val_13"<?,?> ⬅️ ::Expand(%"val_6", %"val_9")
E       14 |  # node_Unsqueeze_14
E             %"val_14"<?,?> ⬅️ ::Unsqueeze(%"val_13", %"val_11")
E       15 |  # node_Concat_15
E             %"val_15"<?,?> ⬅️ ::Concat(%"val_12", %"val_14") {axis=-1}
E       16 |  # node_GatherND_16
E             %"val_16"<?,?> ⬅️ ::GatherND(%"val_7", %"val_15") {batch_dims=0}
E       17 |  # node_Transpose_17
E             %"val_17"<FLOAT16,[5,4,5]> ⬅️ ::Transpose(%"val_16") {perm=(2, 0, 1, 3)}
E       return %"val_17"<FLOAT16,[5,4,5]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_bool_cpu_int32
Stack Traces | 1.56s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_17): [TypeInferenceError] Invalid attribute perm {2, 0, 1, 3}, input shape = {0, 5, 5}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<INT32,[5,5,5,5]>,
E           %"input_1_1"<BOOL,[5]>,
E           %"input_1_2"<BOOL,[5]>
E       ),
E       outputs=(
E           %"val_17"<INT32,[5,4,5]>
E       ),
E   ) {
E        0 |  # node_NonZero_0
E             %"val_0"<?,?> ⬅️ ::NonZero(%"input_1_1")
E        1 |  # node_Transpose_1
E             %"val_1"<?,?> ⬅️ ::Transpose(%"val_0") {perm=(1, 0)}
E        2 |  # node_NonZero_2
E             %"val_2"<?,?> ⬅️ ::NonZero(%"input_1_2")
E        3 |  # node_Transpose_3
E             %"val_3"<?,?> ⬅️ ::Transpose(%"val_2") {perm=(1, 0)}
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([1]), name=None)}
E        5 |  # node_Squeeze_5
E             %"val_5"<?,?> ⬅️ ::Squeeze(%"val_1", %"val_4")
E        6 |  # node_Squeeze_6
E             %"val_6"<?,?> ⬅️ ::Squeeze(%"val_3", %"val_4")
E        7 |  # node_Transpose_7
E             %"val_7"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(1, 2, 0, 3)}
E        8 |  # node_Max_8
E             %"val_8"<?,?> ⬅️ ::Max(%"val_5", %"val_6")
E        9 |  # node_Shape_9
E             %"val_9"<?,?> ⬅️ ::Shape(%"val_8") {start=0}
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"val_5", %"val_9")
E       11 |  # node_Constant_11
E             %"val_11"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E       12 |  # node_Unsqueeze_12
E             %"val_12"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_11")
E       13 |  # node_Expand_13
E             %"val_13"<?,?> ⬅️ ::Expand(%"val_6", %"val_9")
E       14 |  # node_Unsqueeze_14
E             %"val_14"<?,?> ⬅️ ::Unsqueeze(%"val_13", %"val_11")
E       15 |  # node_Concat_15
E             %"val_15"<?,?> ⬅️ ::Concat(%"val_12", %"val_14") {axis=-1}
E       16 |  # node_GatherND_16
E             %"val_16"<?,?> ⬅️ ::GatherND(%"val_7", %"val_15") {batch_dims=0}
E       17 |  # node_Transpose_17
E             %"val_17"<INT32,[5,4,5]> ⬅️ ::Transpose(%"val_16") {perm=(2, 0, 1, 3)}
E       return %"val_17"<INT32,[5,4,5]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_bool_cpu_float32
Stack Traces | 1.59s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_17): [TypeInferenceError] Invalid attribute perm {2, 0, 1, 3}, input shape = {0, 5, 5}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<FLOAT,[5,5,5,5]>,
E           %"input_1_1"<BOOL,[5]>,
E           %"input_1_2"<BOOL,[5]>
E       ),
E       outputs=(
E           %"val_17"<FLOAT,[5,4,5]>
E       ),
E   ) {
E        0 |  # node_NonZero_0
E             %"val_0"<?,?> ⬅️ ::NonZero(%"input_1_1")
E        1 |  # node_Transpose_1
E             %"val_1"<?,?> ⬅️ ::Transpose(%"val_0") {perm=(1, 0)}
E        2 |  # node_NonZero_2
E             %"val_2"<?,?> ⬅️ ::NonZero(%"input_1_2")
E        3 |  # node_Transpose_3
E             %"val_3"<?,?> ⬅️ ::Transpose(%"val_2") {perm=(1, 0)}
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([1]), name=None)}
E        5 |  # node_Squeeze_5
E             %"val_5"<?,?> ⬅️ ::Squeeze(%"val_1", %"val_4")
E        6 |  # node_Squeeze_6
E             %"val_6"<?,?> ⬅️ ::Squeeze(%"val_3", %"val_4")
E        7 |  # node_Transpose_7
E             %"val_7"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(1, 2, 0, 3)}
E        8 |  # node_Max_8
E             %"val_8"<?,?> ⬅️ ::Max(%"val_5", %"val_6")
E        9 |  # node_Shape_9
E             %"val_9"<?,?> ⬅️ ::Shape(%"val_8") {start=0}
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"val_5", %"val_9")
E       11 |  # node_Constant_11
E             %"val_11"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E       12 |  # node_Unsqueeze_12
E             %"val_12"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_11")
E       13 |  # node_Expand_13
E             %"val_13"<?,?> ⬅️ ::Expand(%"val_6", %"val_9")
E       14 |  # node_Unsqueeze_14
E             %"val_14"<?,?> ⬅️ ::Unsqueeze(%"val_13", %"val_11")
E       15 |  # node_Concat_15
E             %"val_15"<?,?> ⬅️ ::Concat(%"val_12", %"val_14") {axis=-1}
E       16 |  # node_GatherND_16
E             %"val_16"<?,?> ⬅️ ::GatherND(%"val_7", %"val_15") {batch_dims=0}
E       17 |  # node_Transpose_17
E             %"val_17"<FLOAT,[5,4,5]> ⬅️ ::Transpose(%"val_16") {perm=(2, 0, 1, 3)}
E       return %"val_17"<FLOAT,[5,4,5]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_bool_cpu_bool
Stack Traces | 1.75s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_17): [TypeInferenceError] Invalid attribute perm {2, 0, 1, 3}, input shape = {0, 5, 5}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<BOOL,[5,5,5,5]>,
E           %"input_1_1"<BOOL,[5]>,
E           %"input_1_2"<BOOL,[5]>
E       ),
E       outputs=(
E           %"val_17"<BOOL,[5,4,5]>
E       ),
E   ) {
E        0 |  # node_NonZero_0
E             %"val_0"<?,?> ⬅️ ::NonZero(%"input_1_1")
E        1 |  # node_Transpose_1
E             %"val_1"<?,?> ⬅️ ::Transpose(%"val_0") {perm=(1, 0)}
E        2 |  # node_NonZero_2
E             %"val_2"<?,?> ⬅️ ::NonZero(%"input_1_2")
E        3 |  # node_Transpose_3
E             %"val_3"<?,?> ⬅️ ::Transpose(%"val_2") {perm=(1, 0)}
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([1]), name=None)}
E        5 |  # node_Squeeze_5
E             %"val_5"<?,?> ⬅️ ::Squeeze(%"val_1", %"val_4")
E        6 |  # node_Squeeze_6
E             %"val_6"<?,?> ⬅️ ::Squeeze(%"val_3", %"val_4")
E        7 |  # node_Transpose_7
E             %"val_7"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(1, 2, 0, 3)}
E        8 |  # node_Max_8
E             %"val_8"<?,?> ⬅️ ::Max(%"val_5", %"val_6")
E        9 |  # node_Shape_9
E             %"val_9"<?,?> ⬅️ ::Shape(%"val_8") {start=0}
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"val_5", %"val_9")
E       11 |  # node_Constant_11
E             %"val_11"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E       12 |  # node_Unsqueeze_12
E             %"val_12"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_11")
E       13 |  # node_Expand_13
E             %"val_13"<?,?> ⬅️ ::Expand(%"val_6", %"val_9")
E       14 |  # node_Unsqueeze_14
E             %"val_14"<?,?> ⬅️ ::Unsqueeze(%"val_13", %"val_11")
E       15 |  # node_Concat_15
E             %"val_15"<?,?> ⬅️ ::Concat(%"val_12", %"val_14") {axis=-1}
E       16 |  # node_GatherND_16
E             %"val_16"<?,?> ⬅️ ::GatherND(%"val_7", %"val_15") {batch_dims=0}
E       17 |  # node_Transpose_17
E             %"val_17"<BOOL,[5,4,5]> ⬅️ ::Transpose(%"val_16") {perm=(2, 0, 1, 3)}
E       return %"val_17"<BOOL,[5,4,5]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_cpu_int64
Stack Traces | 2.15s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_14): [TypeInferenceError] Invalid attribute perm {0, 1, 2, 3}, input shape = {7, 6, 2}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<INT64,[5,5,5,5]>,
E           %"input_1_0"<INT64,[6,2]>,
E           %"input_1_1"<INT64,[7,6,2]>,
E           %"input_1_2"<INT64,[2]>,
E           %"input_1_3"<INT64,[6,2]>
E       ),
E       outputs=(
E           %"val_14"<INT64,[7,6,2]>
E       ),
E   ) {
E        0 |  # node_Transpose_0
E             %"val_0"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(0, 1, 2, 3)}
E        1 |  # node_Max_1
E             %"val_1"<?,?> ⬅️ ::Max(%"input_1_0", %"input_1_1", %"input_1_2", %"input_1_3")
E        2 |  # node_Shape_2
E             %"val_2"<?,?> ⬅️ ::Shape(%"val_1") {start=0}
E        3 |  # node_Expand_3
E             %"val_3"<?,?> ⬅️ ::Expand(%"input_1_0", %"val_2")
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E        5 |  # node_Unsqueeze_5
E             %"val_5"<?,?> ⬅️ ::Unsqueeze(%"val_3", %"val_4")
E        6 |  # node_Expand_6
E             %"val_6"<?,?> ⬅️ ::Expand(%"input_1_1", %"val_2")
E        7 |  # node_Unsqueeze_7
E             %"val_7"<?,?> ⬅️ ::Unsqueeze(%"val_6", %"val_4")
E        8 |  # node_Expand_8
E             %"val_8"<?,?> ⬅️ ::Expand(%"input_1_2", %"val_2")
E        9 |  # node_Unsqueeze_9
E             %"val_9"<?,?> ⬅️ ::Unsqueeze(%"val_8", %"val_4")
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"input_1_3", %"val_2")
E       11 |  # node_Unsqueeze_11
E             %"val_11"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_4")
E       12 |  # node_Concat_12
E             %"val_12"<?,?> ⬅️ ::Concat(%"val_5", %"val_7", %"val_9", %"val_11") {axis=-1}
E       13 |  # node_GatherND_13
E             %"val_13"<?,?> ⬅️ ::GatherND(%"val_0", %"val_12") {batch_dims=0}
E       14 |  # node_Transpose_14
E             %"val_14"<INT64,[7,6,2]> ⬅️ ::Transpose(%"val_13") {perm=(0, 1, 2, 3)}
E       return %"val_14"<INT64,[7,6,2]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_cpu_int32
Stack Traces | 2.16s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_14): [TypeInferenceError] Invalid attribute perm {0, 1, 2, 3}, input shape = {7, 6, 2}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<INT32,[5,5,5,5]>,
E           %"input_1_0"<INT64,[6,2]>,
E           %"input_1_1"<INT64,[7,6,2]>,
E           %"input_1_2"<INT64,[2]>,
E           %"input_1_3"<INT64,[6,2]>
E       ),
E       outputs=(
E           %"val_14"<INT32,[7,6,2]>
E       ),
E   ) {
E        0 |  # node_Transpose_0
E             %"val_0"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(0, 1, 2, 3)}
E        1 |  # node_Max_1
E             %"val_1"<?,?> ⬅️ ::Max(%"input_1_0", %"input_1_1", %"input_1_2", %"input_1_3")
E        2 |  # node_Shape_2
E             %"val_2"<?,?> ⬅️ ::Shape(%"val_1") {start=0}
E        3 |  # node_Expand_3
E             %"val_3"<?,?> ⬅️ ::Expand(%"input_1_0", %"val_2")
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E        5 |  # node_Unsqueeze_5
E             %"val_5"<?,?> ⬅️ ::Unsqueeze(%"val_3", %"val_4")
E        6 |  # node_Expand_6
E             %"val_6"<?,?> ⬅️ ::Expand(%"input_1_1", %"val_2")
E        7 |  # node_Unsqueeze_7
E             %"val_7"<?,?> ⬅️ ::Unsqueeze(%"val_6", %"val_4")
E        8 |  # node_Expand_8
E             %"val_8"<?,?> ⬅️ ::Expand(%"input_1_2", %"val_2")
E        9 |  # node_Unsqueeze_9
E             %"val_9"<?,?> ⬅️ ::Unsqueeze(%"val_8", %"val_4")
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"input_1_3", %"val_2")
E       11 |  # node_Unsqueeze_11
E             %"val_11"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_4")
E       12 |  # node_Concat_12
E             %"val_12"<?,?> ⬅️ ::Concat(%"val_5", %"val_7", %"val_9", %"val_11") {axis=-1}
E       13 |  # node_GatherND_13
E             %"val_13"<?,?> ⬅️ ::GatherND(%"val_0", %"val_12") {batch_dims=0}
E       14 |  # node_Transpose_14
E             %"val_14"<INT32,[7,6,2]> ⬅️ ::Transpose(%"val_13") {perm=(0, 1, 2, 3)}
E       return %"val_14"<INT32,[7,6,2]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_cpu_float16
Stack Traces | 2.25s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_14): [TypeInferenceError] Invalid attribute perm {0, 1, 2, 3}, input shape = {7, 6, 2}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<FLOAT16,[5,5,5,5]>,
E           %"input_1_0"<INT64,[6,2]>,
E           %"input_1_1"<INT64,[7,6,2]>,
E           %"input_1_2"<INT64,[2]>,
E           %"input_1_3"<INT64,[6,2]>
E       ),
E       outputs=(
E           %"val_14"<FLOAT16,[7,6,2]>
E       ),
E   ) {
E        0 |  # node_Transpose_0
E             %"val_0"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(0, 1, 2, 3)}
E        1 |  # node_Max_1
E             %"val_1"<?,?> ⬅️ ::Max(%"input_1_0", %"input_1_1", %"input_1_2", %"input_1_3")
E        2 |  # node_Shape_2
E             %"val_2"<?,?> ⬅️ ::Shape(%"val_1") {start=0}
E        3 |  # node_Expand_3
E             %"val_3"<?,?> ⬅️ ::Expand(%"input_1_0", %"val_2")
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E        5 |  # node_Unsqueeze_5
E             %"val_5"<?,?> ⬅️ ::Unsqueeze(%"val_3", %"val_4")
E        6 |  # node_Expand_6
E             %"val_6"<?,?> ⬅️ ::Expand(%"input_1_1", %"val_2")
E        7 |  # node_Unsqueeze_7
E             %"val_7"<?,?> ⬅️ ::Unsqueeze(%"val_6", %"val_4")
E        8 |  # node_Expand_8
E             %"val_8"<?,?> ⬅️ ::Expand(%"input_1_2", %"val_2")
E        9 |  # node_Unsqueeze_9
E             %"val_9"<?,?> ⬅️ ::Unsqueeze(%"val_8", %"val_4")
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"input_1_3", %"val_2")
E       11 |  # node_Unsqueeze_11
E             %"val_11"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_4")
E       12 |  # node_Concat_12
E             %"val_12"<?,?> ⬅️ ::Concat(%"val_5", %"val_7", %"val_9", %"val_11") {axis=-1}
E       13 |  # node_GatherND_13
E             %"val_13"<?,?> ⬅️ ::GatherND(%"val_0", %"val_12") {batch_dims=0}
E       14 |  # node_Transpose_14
E             %"val_14"<FLOAT16,[7,6,2]> ⬅️ ::Transpose(%"val_13") {perm=(0, 1, 2, 3)}
E       return %"val_14"<FLOAT16,[7,6,2]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_cpu_bool
Stack Traces | 2.29s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_14): [TypeInferenceError] Invalid attribute perm {0, 1, 2, 3}, input shape = {7, 6, 2}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<BOOL,[5,5,5,5]>,
E           %"input_1_0"<INT64,[6,2]>,
E           %"input_1_1"<INT64,[7,6,2]>,
E           %"input_1_2"<INT64,[2]>,
E           %"input_1_3"<INT64,[6,2]>
E       ),
E       outputs=(
E           %"val_14"<BOOL,[7,6,2]>
E       ),
E   ) {
E        0 |  # node_Transpose_0
E             %"val_0"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(0, 1, 2, 3)}
E        1 |  # node_Max_1
E             %"val_1"<?,?> ⬅️ ::Max(%"input_1_0", %"input_1_1", %"input_1_2", %"input_1_3")
E        2 |  # node_Shape_2
E             %"val_2"<?,?> ⬅️ ::Shape(%"val_1") {start=0}
E        3 |  # node_Expand_3
E             %"val_3"<?,?> ⬅️ ::Expand(%"input_1_0", %"val_2")
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E        5 |  # node_Unsqueeze_5
E             %"val_5"<?,?> ⬅️ ::Unsqueeze(%"val_3", %"val_4")
E        6 |  # node_Expand_6
E             %"val_6"<?,?> ⬅️ ::Expand(%"input_1_1", %"val_2")
E        7 |  # node_Unsqueeze_7
E             %"val_7"<?,?> ⬅️ ::Unsqueeze(%"val_6", %"val_4")
E        8 |  # node_Expand_8
E             %"val_8"<?,?> ⬅️ ::Expand(%"input_1_2", %"val_2")
E        9 |  # node_Unsqueeze_9
E             %"val_9"<?,?> ⬅️ ::Unsqueeze(%"val_8", %"val_4")
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"input_1_3", %"val_2")
E       11 |  # node_Unsqueeze_11
E             %"val_11"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_4")
E       12 |  # node_Concat_12
E             %"val_12"<?,?> ⬅️ ::Concat(%"val_5", %"val_7", %"val_9", %"val_11") {axis=-1}
E       13 |  # node_GatherND_13
E             %"val_13"<?,?> ⬅️ ::GatherND(%"val_0", %"val_12") {batch_dims=0}
E       14 |  # node_Transpose_14
E             %"val_14"<BOOL,[7,6,2]> ⬅️ ::Transpose(%"val_13") {perm=(0, 1, 2, 3)}
E       return %"val_14"<BOOL,[7,6,2]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_cpu_float32
Stack Traces | 2.38s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_14): [TypeInferenceError] Invalid attribute perm {0, 1, 2, 3}, input shape = {7, 6, 2}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<FLOAT,[5,5,5,5]>,
E           %"input_1_0"<INT64,[6,2]>,
E           %"input_1_1"<INT64,[7,6,2]>,
E           %"input_1_2"<INT64,[2]>,
E           %"input_1_3"<INT64,[6,2]>
E       ),
E       outputs=(
E           %"val_14"<FLOAT,[7,6,2]>
E       ),
E   ) {
E        0 |  # node_Transpose_0
E             %"val_0"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(0, 1, 2, 3)}
E        1 |  # node_Max_1
E             %"val_1"<?,?> ⬅️ ::Max(%"input_1_0", %"input_1_1", %"input_1_2", %"input_1_3")
E        2 |  # node_Shape_2
E             %"val_2"<?,?> ⬅️ ::Shape(%"val_1") {start=0}
E        3 |  # node_Expand_3
E             %"val_3"<?,?> ⬅️ ::Expand(%"input_1_0", %"val_2")
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E        5 |  # node_Unsqueeze_5
E             %"val_5"<?,?> ⬅️ ::Unsqueeze(%"val_3", %"val_4")
E        6 |  # node_Expand_6
E             %"val_6"<?,?> ⬅️ ::Expand(%"input_1_1", %"val_2")
E        7 |  # node_Unsqueeze_7
E             %"val_7"<?,?> ⬅️ ::Unsqueeze(%"val_6", %"val_4")
E        8 |  # node_Expand_8
E             %"val_8"<?,?> ⬅️ ::Expand(%"input_1_2", %"val_2")
E        9 |  # node_Unsqueeze_9
E             %"val_9"<?,?> ⬅️ ::Unsqueeze(%"val_8", %"val_4")
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"input_1_3", %"val_2")
E       11 |  # node_Unsqueeze_11
E             %"val_11"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_4")
E       12 |  # node_Concat_12
E             %"val_12"<?,?> ⬅️ ::Concat(%"val_5", %"val_7", %"val_9", %"val_11") {axis=-1}
E       13 |  # node_GatherND_13
E             %"val_13"<?,?> ⬅️ ::GatherND(%"val_0", %"val_12") {batch_dims=0}
E       14 |  # node_Transpose_14
E             %"val_14"<FLOAT,[7,6,2]> ⬅️ ::Transpose(%"val_13") {perm=(0, 1, 2, 3)}
E       return %"val_14"<FLOAT,[7,6,2]>
E   }
tests.function_libs.torch_lib.ops_test.TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__ops_aten_index_Tensor_bool_cpu_int64
Stack Traces | 2.81s run time
.../function_libs/torch_lib/ops_test_common.py:600: in _capture_graph_and_evaluate_torch_script_evaluator
    onnx.checker.check_model(model_proto, full_check=True)
..../test/lib/python3.12.../site-packages/onnx/checker.py:179: in check_model
    C.check_model(
E   onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:Transpose, node name: node_Transpose_17): [TypeInferenceError] Invalid attribute perm {2, 0, 1, 3}, input shape = {0, 5, 5}

The above exception was the direct cause of the following exception:
.../function_libs/torch_lib/ops_test.py:214: in run_test_output_match
    function_output = function_executor(test_name, reference_torch_outputs)(
.../function_libs/torch_lib/ops_test_common.py:602: in _capture_graph_and_evaluate_torch_script_evaluator
    raise AssertionError(f"ONNX model is invalid. Model:\n{onnx_model}") from e
E   AssertionError: ONNX model is invalid. Model:
E   <
E       ir_version=10,
E       opset_imports={'': 18, 'pkg.torch.onnx': 1, 'pkg.onnxscript.torch_lib.common': 1, 'pkg.onnxscript.torch_lib': 1},
E       producer_name='torch_test',
E       producer_version=None,
E       domain=None,
E       model_version=None,
E   >
E   graph(
E       name=main_graph,
E       inputs=(
E           %"input_0"<INT64,[5,5,5,5]>,
E           %"input_1_1"<BOOL,[5]>,
E           %"input_1_2"<BOOL,[5]>
E       ),
E       outputs=(
E           %"val_17"<INT64,[5,4,5]>
E       ),
E   ) {
E        0 |  # node_NonZero_0
E             %"val_0"<?,?> ⬅️ ::NonZero(%"input_1_1")
E        1 |  # node_Transpose_1
E             %"val_1"<?,?> ⬅️ ::Transpose(%"val_0") {perm=(1, 0)}
E        2 |  # node_NonZero_2
E             %"val_2"<?,?> ⬅️ ::NonZero(%"input_1_2")
E        3 |  # node_Transpose_3
E             %"val_3"<?,?> ⬅️ ::Transpose(%"val_2") {perm=(1, 0)}
E        4 |  # node_Constant_4
E             %"val_4"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([1]), name=None)}
E        5 |  # node_Squeeze_5
E             %"val_5"<?,?> ⬅️ ::Squeeze(%"val_1", %"val_4")
E        6 |  # node_Squeeze_6
E             %"val_6"<?,?> ⬅️ ::Squeeze(%"val_3", %"val_4")
E        7 |  # node_Transpose_7
E             %"val_7"<?,?> ⬅️ ::Transpose(%"input_0") {perm=(1, 2, 0, 3)}
E        8 |  # node_Max_8
E             %"val_8"<?,?> ⬅️ ::Max(%"val_5", %"val_6")
E        9 |  # node_Shape_9
E             %"val_9"<?,?> ⬅️ ::Shape(%"val_8") {start=0}
E       10 |  # node_Expand_10
E             %"val_10"<?,?> ⬅️ ::Expand(%"val_5", %"val_9")
E       11 |  # node_Constant_11
E             %"val_11"<?,?> ⬅️ ::Constant() {value=Tensor<INT64,[1]>(array([-1]), name=None)}
E       12 |  # node_Unsqueeze_12
E             %"val_12"<?,?> ⬅️ ::Unsqueeze(%"val_10", %"val_11")
E       13 |  # node_Expand_13
E             %"val_13"<?,?> ⬅️ ::Expand(%"val_6", %"val_9")
E       14 |  # node_Unsqueeze_14
E             %"val_14"<?,?> ⬅️ ::Unsqueeze(%"val_13", %"val_11")
E       15 |  # node_Concat_15
E             %"val_15"<?,?> ⬅️ ::Concat(%"val_12", %"val_14") {axis=-1}
E       16 |  # node_GatherND_16
E             %"val_16"<?,?> ⬅️ ::GatherND(%"val_7", %"val_15") {batch_dims=0}
E       17 |  # node_Transpose_17
E             %"val_17"<INT64,[5,4,5]> ⬅️ ::Transpose(%"val_16") {perm=(2, 0, 1, 3)}
E       return %"val_17"<INT64,[5,4,5]>
E   }

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@justinchuby
Copy link
Collaborator Author

Todo: look at aten_index()

Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>
Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>
Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

[torchlib] Improve/reimplement index_put

2 participants