You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2024/03/12 11:49:59 UTC
(tvm-site) branch asf-site updated: deploying docs (apache/tvm@ca12cb6d47c72f5d878f7215c905c17c2b8375e8)
This is an automated email from the ASF dual-hosted git repository.
tqchen pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/tvm-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new d670ee36b6 deploying docs (apache/tvm@ca12cb6d47c72f5d878f7215c905c17c2b8375e8)
d670ee36b6 is described below
commit d670ee36b618dd32164eae791e72b367bdca973c
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Tue Mar 12 11:49:51 2024 +0000
deploying docs (apache/tvm@ca12cb6d47c72f5d878f7215c905c17c2b8375e8)
---
.../how_to/compile_models/from_darknet.rst.txt | 2 +-
.../how_to/compile_models/from_oneflow.rst.txt | 2 +-
.../how_to/compile_models/from_paddle.rst.txt | 2 +-
.../how_to/compile_models/from_pytorch.rst.txt | 2 +-
.../how_to/compile_models/from_tensorflow.rst.txt | 2 +-
.../compile_models/sg_execution_times.rst.txt | 20 +-
.../deploy_models/deploy_model_on_adreno.rst.txt | 4 +-
.../deploy_model_on_adreno_tvmc.rst.txt | 2 +-
.../deploy_models/deploy_model_on_android.rst.txt | 2 +-
.../deploy_object_detection_pytorch.rst.txt | 4 +-
.../deploy_models/deploy_prequantized.rst.txt | 6 +-
.../deploy_prequantized_tflite.rst.txt | 2 +-
.../deploy_models/sg_execution_times.rst.txt | 20 +-
.../how_to/extend_tvm/sg_execution_times.rst.txt | 8 +-
.../how_to/extend_tvm/use_pass_instrument.rst.txt | 16 +-
.../optimize_operators/opt_conv_cuda.rst.txt | 2 +-
.../optimize_operators/opt_conv_tensorcore.rst.txt | 2 +-
.../how_to/optimize_operators/opt_gemm.rst.txt | 16 +-
.../optimize_operators/sg_execution_times.rst.txt | 8 +-
.../sg_execution_times.rst.txt | 14 +-
.../tune_network_cuda.rst.txt | 4 +-
.../tune_network_x86.rst.txt | 4 +-
.../tune_with_autotvm/sg_execution_times.rst.txt | 6 +-
.../tune_with_autotvm/tune_conv2d_cuda.rst.txt | 2 +-
.../work_with_microtvm/micro_autotune.rst.txt | 18 +-
.../work_with_microtvm/micro_pytorch.rst.txt | 4 +-
.../how_to/work_with_microtvm/micro_train.rst.txt | 16 +-
.../work_with_microtvm/sg_execution_times.rst.txt | 14 +-
.../work_with_relay/sg_execution_times.rst.txt | 10 +-
.../how_to/work_with_schedules/intrin_math.rst.txt | 2 +-
.../work_with_schedules/sg_execution_times.rst.txt | 18 +-
.../tutorials/frontend/deploy_detection.rst.txt | 4 +-
.../tutorials/frontend/sg_execution_times.rst.txt | 4 +-
.../tutorials/optimize/sg_execution_times.rst.txt | 6 +-
.../topic/vta/tutorials/sg_execution_times.rst.txt | 6 +-
.../tutorial/auto_scheduler_matmul_x86.rst.txt | 6 +-
docs/_sources/tutorial/autotvm_matmul_x86.rst.txt | 20 +-
docs/_sources/tutorial/autotvm_relay_x86.rst.txt | 58 +-
.../tutorial/cross_compilation_and_rpc.rst.txt | 2 +-
docs/_sources/tutorial/intro_topi.rst.txt | 2 +-
docs/_sources/tutorial/sg_execution_times.rst.txt | 22 +-
.../tutorial/tensor_expr_get_started.rst.txt | 51 +-
docs/commit_hash | 2 +-
docs/genindex.html | 2 +
docs/how_to/compile_models/from_darknet.html | 2 +-
docs/how_to/compile_models/from_oneflow.html | 16 +-
docs/how_to/compile_models/from_paddle.html | 2 +-
docs/how_to/compile_models/from_pytorch.html | 17 +-
docs/how_to/compile_models/from_tensorflow.html | 2 +-
docs/how_to/compile_models/sg_execution_times.html | 20 +-
.../deploy_models/deploy_model_on_adreno.html | 4 +-
.../deploy_models/deploy_model_on_adreno_tvmc.html | 18 +-
.../deploy_models/deploy_model_on_android.html | 2 +-
.../deploy_object_detection_pytorch.html | 52 +-
docs/how_to/deploy_models/deploy_prequantized.html | 10 +-
.../deploy_models/deploy_prequantized_tflite.html | 2 +-
docs/how_to/deploy_models/sg_execution_times.html | 28 +-
docs/how_to/extend_tvm/sg_execution_times.html | 8 +-
docs/how_to/extend_tvm/use_pass_instrument.html | 16 +-
docs/how_to/optimize_operators/opt_conv_cuda.html | 2 +-
.../optimize_operators/opt_conv_tensorcore.html | 2 +-
docs/how_to/optimize_operators/opt_gemm.html | 16 +-
.../optimize_operators/sg_execution_times.html | 8 +-
.../sg_execution_times.html | 14 +-
.../tune_with_autoscheduler/tune_network_cuda.html | 4 +-
.../tune_with_autoscheduler/tune_network_x86.html | 4 +-
.../tune_with_autotvm/sg_execution_times.html | 6 +-
.../how_to/tune_with_autotvm/tune_conv2d_cuda.html | 2 +-
docs/how_to/work_with_microtvm/micro_autotune.html | 18 +-
docs/how_to/work_with_microtvm/micro_pytorch.html | 5 +-
docs/how_to/work_with_microtvm/micro_train.html | 16 +-
.../work_with_microtvm/sg_execution_times.html | 14 +-
.../how_to/work_with_relay/sg_execution_times.html | 10 +-
docs/how_to/work_with_schedules/intrin_math.html | 2 +-
.../work_with_schedules/sg_execution_times.html | 18 +-
docs/objects.inv | Bin 25672 -> 25675 bytes
docs/reference/api/doxygen/annotated.html | 348 +-
docs/reference/api/doxygen/classes.html | 2 +-
.../api/doxygen/classtvm_1_1BaseAttrsNode.html | 10 +-
.../classtvm_1_1BaseAttrsNode__inherit__graph.svg | 7897 ++++++------
.../api/doxygen/classtvm_1_1runtime_1_1Object.html | 2 +-
...asstvm_1_1runtime_1_1Object__inherit__graph.svg | 11034 ++++++++---------
docs/reference/api/doxygen/functions_func_t.html | 10 +-
docs/reference/api/doxygen/functions_l.html | 6 +-
docs/reference/api/doxygen/functions_o.html | 66 +-
docs/reference/api/doxygen/functions_t.html | 18 +-
docs/reference/api/doxygen/functions_vars_l.html | 4 +-
docs/reference/api/doxygen/functions_vars_o.html | 8 +-
docs/reference/api/doxygen/hierarchy.html | 30 +-
docs/reference/api/doxygen/inherit_graph_128.svg | 12064 ++++++++++---------
docs/reference/api/doxygen/inherit_graph_232.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_234.svg | 24 +-
docs/reference/api/doxygen/inherit_graph_39.svg | 8 +-
docs/reference/api/doxygen/inherits.html | 2 +-
docs/reference/api/doxygen/namespaces.html | 348 +-
.../api/doxygen/namespacetvm_1_1relax.html | 6 +
.../reference/api/doxygen/relax_2attrs_2nn_8h.html | 6 +
.../api/doxygen/relax_2attrs_2nn_8h_source.html | 452 +-
docs/reference/api/doxygen/search/all_10.js | 402 +-
docs/reference/api/doxygen/search/all_11.js | 656 +-
docs/reference/api/doxygen/search/all_12.js | 14 +-
docs/reference/api/doxygen/search/all_13.js | 646 +-
docs/reference/api/doxygen/search/all_14.js | 1094 +-
docs/reference/api/doxygen/search/all_15.js | 1315 +-
docs/reference/api/doxygen/search/all_16.js | 164 +-
docs/reference/api/doxygen/search/all_17.js | 302 +-
docs/reference/api/doxygen/search/all_18.js | 156 +-
docs/reference/api/doxygen/search/all_19.js | 4 +-
docs/reference/api/doxygen/search/all_1a.js | 2 +-
docs/reference/api/doxygen/search/all_1b.js | 136 +-
docs/reference/api/doxygen/search/all_2.js | 1093 +-
docs/reference/api/doxygen/search/all_3.js | 410 +-
docs/reference/api/doxygen/search/all_4.js | 728 +-
docs/reference/api/doxygen/search/all_5.js | 592 +-
docs/reference/api/doxygen/search/all_6.js | 364 +-
docs/reference/api/doxygen/search/all_7.js | 736 +-
docs/reference/api/doxygen/search/all_8.js | 402 +-
docs/reference/api/doxygen/search/all_9.js | 92 +-
docs/reference/api/doxygen/search/all_a.js | 764 +-
docs/reference/api/doxygen/search/all_b.js | 10 +-
docs/reference/api/doxygen/search/all_c.js | 820 +-
docs/reference/api/doxygen/search/all_d.js | 324 +-
docs/reference/api/doxygen/search/all_e.js | 578 +-
docs/reference/api/doxygen/search/all_f.js | 236 +-
docs/reference/api/doxygen/search/classes_0.js | 680 +-
docs/reference/api/doxygen/search/classes_1.js | 156 +-
docs/reference/api/doxygen/search/classes_10.js | 158 +-
docs/reference/api/doxygen/search/classes_11.js | 318 +-
docs/reference/api/doxygen/search/classes_12.js | 326 +-
docs/reference/api/doxygen/search/classes_13.js | 18 +-
docs/reference/api/doxygen/search/classes_14.js | 48 +-
docs/reference/api/doxygen/search/classes_15.js | 42 +-
docs/reference/api/doxygen/search/classes_16.js | 2 +-
docs/reference/api/doxygen/search/classes_2.js | 188 +-
docs/reference/api/doxygen/search/classes_3.js | 168 +-
docs/reference/api/doxygen/search/classes_4.js | 94 +-
docs/reference/api/doxygen/search/classes_5.js | 96 +-
docs/reference/api/doxygen/search/classes_6.js | 46 +-
docs/reference/api/doxygen/search/classes_7.js | 16 +-
docs/reference/api/doxygen/search/classes_8.js | 182 +-
docs/reference/api/doxygen/search/classes_9.js | 4 +-
docs/reference/api/doxygen/search/classes_a.js | 74 +-
docs/reference/api/doxygen/search/classes_b.js | 184 +-
docs/reference/api/doxygen/search/classes_c.js | 42 +-
docs/reference/api/doxygen/search/classes_d.js | 182 +-
docs/reference/api/doxygen/search/classes_e.js | 242 +-
docs/reference/api/doxygen/search/classes_f.js | 2 +-
docs/reference/api/doxygen/search/defines_0.js | 8 +-
docs/reference/api/doxygen/search/defines_1.js | 4 +-
docs/reference/api/doxygen/search/defines_2.js | 4 +-
docs/reference/api/doxygen/search/defines_3.js | 2 +-
docs/reference/api/doxygen/search/defines_4.js | 4 +-
docs/reference/api/doxygen/search/defines_5.js | 12 +-
docs/reference/api/doxygen/search/defines_6.js | 20 +-
docs/reference/api/doxygen/search/defines_7.js | 8 +-
docs/reference/api/doxygen/search/defines_8.js | 190 +-
docs/reference/api/doxygen/search/defines_9.js | 2 +-
docs/reference/api/doxygen/search/enums_0.js | 10 +-
docs/reference/api/doxygen/search/enums_1.js | 8 +-
docs/reference/api/doxygen/search/enums_2.js | 8 +-
docs/reference/api/doxygen/search/enums_3.js | 10 +-
docs/reference/api/doxygen/search/enums_4.js | 8 +-
docs/reference/api/doxygen/search/enums_5.js | 6 +-
docs/reference/api/doxygen/search/enums_6.js | 8 +-
docs/reference/api/doxygen/search/enums_7.js | 2 +-
docs/reference/api/doxygen/search/enums_8.js | 4 +-
docs/reference/api/doxygen/search/enums_9.js | 12 +-
docs/reference/api/doxygen/search/enums_a.js | 4 +-
docs/reference/api/doxygen/search/enums_b.js | 6 +-
docs/reference/api/doxygen/search/enums_c.js | 2 +-
docs/reference/api/doxygen/search/enums_d.js | 10 +-
docs/reference/api/doxygen/search/enums_e.js | 16 +-
docs/reference/api/doxygen/search/enums_f.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_0.js | 10 +-
docs/reference/api/doxygen/search/enumvalues_1.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_2.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_3.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_4.js | 36 +-
docs/reference/api/doxygen/search/enumvalues_5.js | 6 +-
docs/reference/api/doxygen/search/enumvalues_6.js | 10 +-
docs/reference/api/doxygen/search/enumvalues_7.js | 632 +-
docs/reference/api/doxygen/search/enumvalues_8.js | 4 +-
docs/reference/api/doxygen/search/enumvalues_9.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_a.js | 4 +-
docs/reference/api/doxygen/search/enumvalues_b.js | 6 +-
docs/reference/api/doxygen/search/enumvalues_c.js | 4 +-
docs/reference/api/doxygen/search/enumvalues_d.js | 2 +-
docs/reference/api/doxygen/search/files_0.js | 34 +-
docs/reference/api/doxygen/search/files_1.js | 32 +-
docs/reference/api/doxygen/search/files_10.js | 42 +-
docs/reference/api/doxygen/search/files_11.js | 2 +-
docs/reference/api/doxygen/search/files_12.js | 10 +-
docs/reference/api/doxygen/search/files_13.js | 6 +-
docs/reference/api/doxygen/search/files_2.js | 26 +-
docs/reference/api/doxygen/search/files_3.js | 38 +-
docs/reference/api/doxygen/search/files_4.js | 26 +-
docs/reference/api/doxygen/search/files_5.js | 20 +-
docs/reference/api/doxygen/search/files_6.js | 14 +-
docs/reference/api/doxygen/search/files_7.js | 28 +-
docs/reference/api/doxygen/search/files_8.js | 10 +-
docs/reference/api/doxygen/search/files_9.js | 34 +-
docs/reference/api/doxygen/search/files_a.js | 16 +-
docs/reference/api/doxygen/search/files_b.js | 16 +-
docs/reference/api/doxygen/search/files_c.js | 26 +-
docs/reference/api/doxygen/search/files_d.js | 2 +-
docs/reference/api/doxygen/search/files_e.js | 26 +-
docs/reference/api/doxygen/search/files_f.js | 58 +-
docs/reference/api/doxygen/search/functions_0.js | 12 +-
docs/reference/api/doxygen/search/functions_1.js | 346 +-
docs/reference/api/doxygen/search/functions_10.js | 296 +-
docs/reference/api/doxygen/search/functions_11.js | 8 +-
docs/reference/api/doxygen/search/functions_12.js | 332 +-
docs/reference/api/doxygen/search/functions_13.js | 532 +-
docs/reference/api/doxygen/search/functions_14.js | 532 +-
docs/reference/api/doxygen/search/functions_15.js | 132 +-
docs/reference/api/doxygen/search/functions_16.js | 176 +-
docs/reference/api/doxygen/search/functions_17.js | 76 +-
docs/reference/api/doxygen/search/functions_18.js | 2 +-
docs/reference/api/doxygen/search/functions_19.js | 136 +-
docs/reference/api/doxygen/search/functions_2.js | 156 +-
docs/reference/api/doxygen/search/functions_3.js | 394 +-
docs/reference/api/doxygen/search/functions_4.js | 268 +-
docs/reference/api/doxygen/search/functions_5.js | 174 +-
docs/reference/api/doxygen/search/functions_6.js | 310 +-
docs/reference/api/doxygen/search/functions_7.js | 334 +-
docs/reference/api/doxygen/search/functions_8.js | 58 +-
docs/reference/api/doxygen/search/functions_9.js | 432 +-
docs/reference/api/doxygen/search/functions_a.js | 10 +-
docs/reference/api/doxygen/search/functions_b.js | 8 +-
docs/reference/api/doxygen/search/functions_c.js | 198 +-
docs/reference/api/doxygen/search/functions_d.js | 242 +-
docs/reference/api/doxygen/search/functions_e.js | 118 +-
docs/reference/api/doxygen/search/functions_f.js | 156 +-
docs/reference/api/doxygen/search/namespaces_0.js | 4 +-
docs/reference/api/doxygen/search/namespaces_1.js | 86 +-
docs/reference/api/doxygen/search/related_0.js | 2 +-
docs/reference/api/doxygen/search/related_1.js | 10 +-
docs/reference/api/doxygen/search/related_10.js | 2 +-
docs/reference/api/doxygen/search/related_11.js | 8 +-
docs/reference/api/doxygen/search/related_12.js | 12 +-
docs/reference/api/doxygen/search/related_2.js | 2 +-
docs/reference/api/doxygen/search/related_3.js | 12 +-
docs/reference/api/doxygen/search/related_4.js | 14 +-
docs/reference/api/doxygen/search/related_5.js | 2 +-
docs/reference/api/doxygen/search/related_6.js | 6 +-
docs/reference/api/doxygen/search/related_7.js | 8 +-
docs/reference/api/doxygen/search/related_8.js | 2 +-
docs/reference/api/doxygen/search/related_9.js | 14 +-
docs/reference/api/doxygen/search/related_a.js | 2 +-
docs/reference/api/doxygen/search/related_b.js | 24 +-
docs/reference/api/doxygen/search/related_c.js | 2 +-
docs/reference/api/doxygen/search/related_d.js | 10 +-
docs/reference/api/doxygen/search/related_e.js | 10 +-
docs/reference/api/doxygen/search/related_f.js | 24 +-
docs/reference/api/doxygen/search/typedefs_0.js | 8 +-
docs/reference/api/doxygen/search/typedefs_1.js | 8 +-
docs/reference/api/doxygen/search/typedefs_10.js | 4 +-
docs/reference/api/doxygen/search/typedefs_11.js | 2 +-
docs/reference/api/doxygen/search/typedefs_2.js | 10 +-
docs/reference/api/doxygen/search/typedefs_3.js | 10 +-
docs/reference/api/doxygen/search/typedefs_4.js | 14 +-
docs/reference/api/doxygen/search/typedefs_5.js | 150 +-
docs/reference/api/doxygen/search/typedefs_6.js | 8 +-
docs/reference/api/doxygen/search/typedefs_7.js | 22 +-
docs/reference/api/doxygen/search/typedefs_8.js | 6 +-
docs/reference/api/doxygen/search/typedefs_9.js | 4 +-
docs/reference/api/doxygen/search/typedefs_a.js | 14 +-
docs/reference/api/doxygen/search/typedefs_b.js | 6 +-
docs/reference/api/doxygen/search/typedefs_c.js | 22 +-
docs/reference/api/doxygen/search/typedefs_d.js | 18 +-
docs/reference/api/doxygen/search/typedefs_e.js | 24 +-
docs/reference/api/doxygen/search/typedefs_f.js | 124 +-
docs/reference/api/doxygen/search/variables_0.js | 18 +-
docs/reference/api/doxygen/search/variables_1.js | 124 +-
docs/reference/api/doxygen/search/variables_10.js | 2 +-
docs/reference/api/doxygen/search/variables_11.js | 152 +-
docs/reference/api/doxygen/search/variables_12.js | 238 +-
docs/reference/api/doxygen/search/variables_13.js | 164 +-
docs/reference/api/doxygen/search/variables_14.js | 14 +-
docs/reference/api/doxygen/search/variables_15.js | 86 +-
docs/reference/api/doxygen/search/variables_16.js | 36 +-
docs/reference/api/doxygen/search/variables_17.js | 2 +-
docs/reference/api/doxygen/search/variables_2.js | 96 +-
docs/reference/api/doxygen/search/variables_3.js | 172 +-
docs/reference/api/doxygen/search/variables_4.js | 154 +-
docs/reference/api/doxygen/search/variables_5.js | 76 +-
docs/reference/api/doxygen/search/variables_6.js | 164 +-
docs/reference/api/doxygen/search/variables_7.js | 26 +-
docs/reference/api/doxygen/search/variables_8.js | 24 +-
docs/reference/api/doxygen/search/variables_9.js | 160 +-
docs/reference/api/doxygen/search/variables_a.js | 184 +-
docs/reference/api/doxygen/search/variables_b.js | 56 +-
docs/reference/api/doxygen/search/variables_c.js | 138 +-
docs/reference/api/doxygen/search/variables_d.js | 86 +-
docs/reference/api/doxygen/search/variables_e.js | 72 +-
docs/reference/api/doxygen/search/variables_f.js | 140 +-
...vm_1_1relax_1_1AdaptivePool1DAttrs-members.html | 128 +
.../structtvm_1_1relax_1_1AdaptivePool1DAttrs.html | 323 +
..._1relax_1_1AdaptivePool1DAttrs__coll__graph.svg | 276 +
...elax_1_1AdaptivePool1DAttrs__inherit__graph.svg | 135 +
...vm_1_1relax_1_1AdaptivePool3DAttrs-members.html | 128 +
.../structtvm_1_1relax_1_1AdaptivePool3DAttrs.html | 323 +
..._1relax_1_1AdaptivePool3DAttrs__coll__graph.svg | 276 +
...elax_1_1AdaptivePool3DAttrs__inherit__graph.svg | 135 +
docs/reference/api/python/auto_scheduler.html | 4 +-
docs/reference/api/python/topi.html | 274 +-
.../api/typedoc/classes/ArtifactCache.html | 10 +-
docs/reference/api/typedoc/classes/DLDataType.html | 14 +-
docs/reference/api/typedoc/classes/DLDevice.html | 12 +-
docs/reference/api/typedoc/classes/Instance.html | 110 +-
docs/reference/api/typedoc/classes/Module.html | 12 +-
docs/reference/api/typedoc/classes/NDArray.html | 30 +-
docs/reference/api/typedoc/classes/RPCServer.html | 16 +-
docs/reference/api/typedoc/classes/Scalar.html | 8 +-
docs/reference/api/typedoc/classes/TVMArray.html | 16 +-
docs/reference/api/typedoc/classes/TVMObject.html | 12 +-
.../api/typedoc/classes/VirtualMachine.html | 10 +-
.../classes/_internal_.AsyncifyHandler.html | 12 +-
.../classes/_internal_.CachedCallStack.html | 36 +-
.../classes/_internal_.CanvasRenderManager.html | 10 +-
.../typedoc/classes/_internal_.Environment.html | 14 +-
.../api/typedoc/classes/_internal_.FFILibrary.html | 22 +-
.../api/typedoc/classes/_internal_.Memory.html | 36 +-
.../typedoc/classes/_internal_.PackedFuncCell.html | 8 +-
.../typedoc/classes/_internal_.RuntimeContext.html | 54 +-
.../api/typedoc/classes/_internal_.TVMString.html | 14 +-
.../typedoc/classes/_internal_.WebGPUContext.html | 28 +-
.../enums/_internal_.AsyncifyStateKind.html | 8 +-
.../typedoc/enums/_internal_.RPCServerState.html | 14 +-
docs/reference/api/typedoc/functions/assert.html | 2 +-
.../api/typedoc/functions/createPolyfillWASI.html | 2 +-
.../api/typedoc/functions/deleteNDArrayCache.html | 2 +-
.../api/typedoc/functions/detectGPUDevice.html | 2 +-
.../api/typedoc/functions/hasNDArrayInCache.html | 2 +-
.../api/typedoc/functions/instantiate.html | 2 +-
docs/reference/api/typedoc/functions/wasmPath.html | 2 +-
.../api/typedoc/interfaces/Disposable.html | 4 +-
.../typedoc/interfaces/GPUDeviceDetectOutput.html | 8 +-
.../api/typedoc/interfaces/InitProgressReport.html | 10 +-
.../api/typedoc/interfaces/LibraryProvider.html | 6 +-
.../_internal_.ArtifactCacheTemplate.html | 8 +-
.../interfaces/_internal_.FunctionInfo.html | 8 +-
.../interfaces/_internal_.NDArrayCacheEntry.html | 14 +-
.../interfaces/_internal_.NDArrayShardEntry.html | 10 +-
.../api/typedoc/types/InitProgressCallback.html | 2 +-
docs/reference/api/typedoc/types/PackedFunc.html | 2 +-
.../typedoc/types/_internal_.AsyncPackedFunc.html | 2 +-
.../types/_internal_.FObjectConstructor.html | 2 +-
.../types/_internal_.FTVMWasmAllocSpace.html | 2 +-
.../types/_internal_.FTVMWasmFreeSpace.html | 2 +-
.../types/_internal_.FTVMWasmPackedCFunc.html | 2 +-
.../api/typedoc/types/_internal_.Pointer.html | 2 +-
.../typedoc/types/_internal_.TVMObjectBase.html | 2 +-
docs/searchindex.js | 2 +-
.../vta/tutorials/frontend/deploy_detection.html | 4 +-
.../vta/tutorials/frontend/sg_execution_times.html | 4 +-
.../vta/tutorials/optimize/sg_execution_times.html | 6 +-
docs/topic/vta/tutorials/sg_execution_times.html | 6 +-
docs/tutorial/auto_scheduler_matmul_x86.html | 5 +-
docs/tutorial/autotvm_matmul_x86.html | 20 +-
docs/tutorial/autotvm_relay_x86.html | 264 +-
docs/tutorial/cross_compilation_and_rpc.html | 2 +-
docs/tutorial/intro_topi.html | 2 +-
docs/tutorial/sg_execution_times.html | 22 +-
docs/tutorial/tensor_expr_get_started.html | 47 +-
365 files changed, 31674 insertions(+), 29836 deletions(-)
diff --git a/docs/_sources/how_to/compile_models/from_darknet.rst.txt b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
index 301348c942..e12af9e804 100644
--- a/docs/_sources/how_to/compile_models/from_darknet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
@@ -318,7 +318,7 @@ The process is no different from other examples.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 41.531 seconds)
+ **Total running time of the script:** ( 1 minutes 32.914 seconds)
.. _sphx_glr_download_how_to_compile_models_from_darknet.py:
diff --git a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
index 34e4f7aa00..f0b8bb93a7 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -121,7 +121,7 @@ Load a pretrained OneFlow model and save model
.. code-block:: none
Downloading: "https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip" to /workspace/.oneflow/flowvision_cache/resnet18.zip
- 0%| | 0.00/41.5M [00:00<?, ?B/s] 0%| | 128k/41.5M [00:00<00:41, 1.05MB/s] 15%|#5 | 6.33M/41.5M [00:00<00:01, 24.9MB/s] 20%|## | 8.43M/41.5M [00:00<00:01, 19.8MB/s] 35%|###4 | 14.3M/41.5M [00:00<00:01, 27.3MB/s] 41%|#### | 16.8M/41.5M [00:00<00:01, 25.6MB/s] 54%|#####3 | 22.3M/41.5M [00:00<00:00, 27.2MB/s] 60%|#####9 | 24.8M/41.5M [00:01<00:00, 25.4MB/s] 77%|#######7 | 32.0M/41.5M [00:01<00:00, 33.4MB/s] 96%|#########6| 40.0M/41.5M [00:01<00:00, 40.7MB/s] 100%|##########| 41.5M/41.5M [00:01<00:00, 31.9MB/s]
+ 0%| | 0.00/41.5M [00:00<?, ?B/s] 19%|#9 | 7.99M/41.5M [00:00<00:00, 62.1MB/s] 39%|###8 | 16.0M/41.5M [00:00<00:00, 59.1MB/s] 58%|#####7 | 24.0M/41.5M [00:00<00:00, 48.9MB/s] 77%|#######7 | 32.0M/41.5M [00:00<00:00, 53.6MB/s] 92%|#########2| 38.3M/41.5M [00:00<00:00, 51.7MB/s] 100%|##########| 41.5M/41.5M [00:00<00:00, 53.1MB/s]
diff --git a/docs/_sources/how_to/compile_models/from_paddle.rst.txt b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
index 5ab3b8a6b9..144df5e0cd 100644
--- a/docs/_sources/how_to/compile_models/from_paddle.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
@@ -209,7 +209,7 @@ Look up prediction top 1 index in 1000 class synset.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 3.858 seconds)
+ **Total running time of the script:** ( 1 minutes 3.224 seconds)
.. _sphx_glr_download_how_to_compile_models_from_paddle.py:
diff --git a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
index 5a7c9ec18e..f161bf66ce 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -101,7 +101,7 @@ Load a pretrained PyTorch model
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.
warnings.warn(msg)
Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
- 0%| | 0.00/44.7M [00:00<?, ?B/s] 14%|#4 | 6.30M/44.7M [00:00<00:00, 45.0MB/s] 24%|##3 | 10.6M/44.7M [00:00<00:01, 35.1MB/s] 36%|###5 | 16.0M/44.7M [00:00<00:00, 37.8MB/s] 54%|#####3 | 24.0M/44.7M [00:00<00:00, 46.8MB/s] 64%|######3 | 28.5M/44.7M [00:00<00:00, 33.1MB/s] 72%|#######1 | 32.1M/44.7M [00:01<00:00, 20.0MB/s] 86%|########5 | 38.3M/44.7M [00:01<00:00, 26.1MB/s] 93%|#########3| 41.7M/44.7M [00:01<00:00, 24.2MB/s] 100%|##########| 44.7M/44.7M [00:01<00:00, 30.1MB/s]
+ 0%| | 0.00/44.7M [00:00<?, ?B/s] 14%|#4 | 6.30M/44.7M [00:00<00:00, 53.4MB/s] 26%|##5 | 11.4M/44.7M [00:00<00:00, 47.4MB/s] 36%|###5 | 16.0M/44.7M [00:00<00:00, 38.2MB/s] 54%|#####3 | 24.0M/44.7M [00:00<00:00, 52.4MB/s] 68%|######7 | 30.3M/44.7M [00:00<00:00, 54.4MB/s] 80%|######## | 35.8M/44.7M [00:00<00:00, 52.7MB/s] 92%|#########1| 41.0M/44.7M [00:00<00:00, 37.5MB/s] 100%|##########| 44.7M/44.7M [00:01<00:00, 46.8MB/s]
diff --git a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
index 0adf059e2b..0a66b6a929 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -430,7 +430,7 @@ Run the corresponding model on tensorflow
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 37.126 seconds)
+ **Total running time of the script:** ( 1 minutes 31.159 seconds)
.. _sphx_glr_download_how_to_compile_models_from_tensorflow.py:
diff --git a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
index 6267b31537..1d810d417c 100644
--- a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
@@ -5,24 +5,24 @@
Computation times
=================
-**07:02.031** total execution time for **how_to_compile_models** files:
+**06:41.424** total execution time for **how_to_compile_models** files:
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``) | 01:41.531 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``) | 01:32.914 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:37.126 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:31.159 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``) | 01:03.858 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``) | 01:03.224 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``) | 00:44.921 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``) | 00:45.174 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``) | 00:40.875 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``) | 00:38.095 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``) | 00:30.536 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``) | 00:29.489 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``) | 00:27.289 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``) | 00:27.106 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``) | 00:12.912 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``) | 00:11.395 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``) | 00:02.984 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``) | 00:02.867 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
index f04c248e31..49e3f7711c 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
@@ -673,7 +673,7 @@ well as provides information about the model's performance
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 4127.3528 4124.3637 4152.5013 4122.5321 8.5324
+ 4121.9538 4121.4991 4125.1751 4119.2295 2.0687
@@ -681,7 +681,7 @@ well as provides information about the model's performance
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 21.078 seconds)
+ **Total running time of the script:** ( 1 minutes 20.068 seconds)
.. _sphx_glr_download_how_to_deploy_models_deploy_model_on_adreno.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno_tvmc.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno_tvmc.rst.txt
index 2079c87f84..a3583d4947 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno_tvmc.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno_tvmc.rst.txt
@@ -127,7 +127,7 @@ Make a Keras Resnet50 Model
.. code-block:: none
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels.h5
- 8192/102967424 [..............................] - ETA: 0s 2187264/102967424 [..............................] - ETA: 7s 8380416/102967424 [=>............................] - ETA: 2s 15024128/102967424 [===>..........................] - ETA: 1s 16769024/102967424 [===>..........................] - ETA: 2s 25157632/102967424 [======>.......................] - ETA: 1s 32153600/102967424 [========>.....................] - ETA: 1s 33546240/102967424 [========>.....................] - ETA: 1s
41934848/102967424 [===========>..................] - ETA: 1s 50323456/102967424 [=============>................] - ETA: 0s 58712064/102967424 [================>.............] - ETA: 0s 65355776/102967424 [==================>...........] - ETA: 0s 67100672/102967424 [==================>...........] - ETA: 0s 69296128/102967424 [===================>..........] - ETA: 0s 72540160/102967424 [====================>.........] - ETA: 0s 75489280/102967424 [====================>.........] -
ETA: 0s 83877888/102967424 [=======================>......] - ETA: 0s 92266496/102967424 [=========================>....] - ETA: 0s 98910208/102967424 [===========================>..] - ETA: 0s 100794368/102967424 [============================>.] - ETA: 0s 102967424/102967424 [==============================] - 2s 0us/step
+ 8192/102967424 [..............................] - ETA: 0s 8380416/102967424 [=>............................] - ETA: 1s 16769024/102967424 [===>..........................] - ETA: 1s 23412736/102967424 [=====>........................] - ETA: 0s 25157632/102967424 [======>.......................] - ETA: 1s 33546240/102967424 [========>.....................] - ETA: 0s 41934848/102967424 [===========>..................] - ETA: 0s 50323456/102967424 [=============>................] - ETA: 0s
56967168/102967424 [===============>..............] - ETA: 0s 58712064/102967424 [================>.............] - ETA: 0s 66043904/102967424 [==================>...........] - ETA: 0s 67100672/102967424 [==================>...........] - ETA: 0s 69296128/102967424 [===================>..........] - ETA: 0s 72540160/102967424 [====================>.........] - ETA: 0s 75489280/102967424 [====================>.........] - ETA: 0s 77799424/102967424 [=====================>........] -
ETA: 0s 83877888/102967424 [=======================>......] - ETA: 0s 92266496/102967424 [=========================>....] - ETA: 0s 98910208/102967424 [===========================>..] - ETA: 0s 100646912/102967424 [============================>.] - ETA: 0s 102967424/102967424 [==============================] - 2s 0us/step
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
index d6b7d828f0..afeddb8992 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
@@ -437,7 +437,7 @@ Execute on TVM
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 15.5487 15.2961 16.2873 15.1336 0.4237
+ 15.5800 15.6096 16.1783 15.0886 0.3410
diff --git a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
index 9e19ba7a4f..f6cd0bec1b 100644
--- a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
@@ -130,7 +130,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=MaskRCNN_ResNet50_FPN_Weights.COCO_V1`. You can also use `weights=MaskRCNN_ResNet50_FPN_Weights.DEFAULT` to get the most up-to-date weights.
warnings.warn(msg)
Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
- 0%| | 0.00/170M [00:00<?, ?B/s] 4%|3 | 6.30M/170M [00:00<00:03, 55.3MB/s] 7%|6 | 11.6M/170M [00:00<00:04, 37.0MB/s] 9%|9 | 16.0M/170M [00:00<00:05, 30.9MB/s] 14%|#4 | 24.0M/170M [00:00<00:04, 37.2MB/s] 19%|#8 | 32.0M/170M [00:00<00:03, 42.6MB/s] 24%|##3 | 40.0M/170M [00:00<00:02, 46.2MB/s] 28%|##8 | 48.0M/170M [00:01<00:02, 47.1MB/s] 33%|###2 | 56.0M/170M [00:01<00:02, 46.8MB/s] 37%|###6 | 62.3M/170M [00:01<00:02, 48.3MB/s] 39%|###9 | 67.0M/170M [00:01<00:02, 47.4MB/s] 42%|####2 | 72.0M/170M [00:01<00:02, 39.4MB/s] 46%|####6 | 78.3M/170M [00:01<00:02, 36.9MB/s] 48%|####8 | 82.0M/170M [00:02<00:02, 37.2MB/s] 51%|##### | 86.3M/170M [00:02<00:02, 29.3MB/s] 53%|#####2 | 89.4M/170M [00:02<00:03, 27.4MB/s] 56%|#####5 | 94.3M/170M [00:02<00:02, 27.6MB/s] 57%|#####7 | 97.1M/170M [00:02<00:02, 27.1MB/
s] 61%|######1 | 104M/170M [00:02<00:02, 30.4MB/s] 66%|######5 | 112M/170M [00:03<00:01, 37.4MB/s] 71%|####### | 120M/170M [00:03<00:01, 45.8MB/s] 75%|#######5 | 128M/170M [00:03<00:00, 46.2MB/s] 80%|######## | 136M/170M [00:03<00:00, 50.7MB/s] 85%|########4 | 144M/170M [00:03<00:00, 45.5MB/s] 89%|########9 | 151M/170M [00:03<00:00, 51.7MB/s] 92%|#########2| 157M/170M [00:04<00:00, 43.6MB/s] 95%|#########5| 161M/170M [00:04<00:00, 38.8MB/s] 98%|#########8| 167M/170M [00:04<00:00, 43.6MB/s] 100%|##########| 170M/170M [00:04<00:00, 40.1MB/s]
+ 0%| | 0.00/170M [00:00<?, ?B/s] 5%|4 | 7.99M/170M [00:00<00:03, 47.1MB/s] 9%|9 | 16.0M/170M [00:00<00:02, 56.2MB/s] 18%|#7 | 30.5M/170M [00:00<00:01, 90.9MB/s] 24%|##3 | 40.2M/170M [00:00<00:01, 72.3MB/s] 28%|##8 | 48.0M/170M [00:00<00:02, 48.7MB/s] 33%|###2 | 56.0M/170M [00:01<00:02, 53.3MB/s] 38%|###7 | 64.0M/170M [00:01<00:01, 59.0MB/s] 42%|####2 | 72.0M/170M [00:01<00:01, 62.0MB/s] 47%|####7 | 80.0M/170M [00:01<00:01, 63.7MB/s] 51%|##### | 86.6M/170M [00:01<00:01, 59.7MB/s] 55%|#####4 | 92.6M/170M [00:01<00:01, 58.4MB/s] 60%|#####9 | 102M/170M [00:01<00:01, 68.0MB/s] 64%|######3 | 109M/170M [00:01<00:01, 59.3MB/s] 68%|######7 | 115M/170M [00:01<00:01, 57.8MB/s] 71%|####### | 120M/170M [00:02<00:01, 46.8MB/s] 75%|#######5 | 128M/170M [00:02<00:00, 52.6MB/s] 80%|######## | 136M/170M [00:02<00:00, 49.3MB/s]
85%|########4 | 144M/170M [00:02<00:00, 55.2MB/s] 89%|########9 | 152M/170M [00:02<00:00, 49.7MB/s] 94%|#########4| 160M/170M [00:02<00:00, 56.6MB/s] 98%|#########7| 166M/170M [00:03<00:00, 30.9MB/s] 100%|##########| 170M/170M [00:03<00:00, 51.1MB/s]
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torch/nn/functional.py:3912: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
(torch.floor((input.size(i + 2).float() * torch.tensor(scale_factors[i], dtype=torch.float32)).float()))
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torchvision/ops/boxes.py:157: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
@@ -292,7 +292,7 @@ Get boxes with score larger than 0.9
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 3 minutes 42.885 seconds)
+ **Total running time of the script:** ( 3 minutes 33.135 seconds)
.. _sphx_glr_download_how_to_deploy_models_deploy_object_detection_pytorch.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
index 06f002f920..424e37acf9 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -227,7 +227,7 @@ training. Other models require a full post training calibration.
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=MobileNet_V2_Weights.IMAGENET1K_V1`. You can also use `weights=MobileNet_V2_Weights.DEFAULT` to get the most up-to-date weights.
warnings.warn(msg)
Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
- 0%| | 0.00/13.6M [00:00<?, ?B/s] 59%|#####8 | 7.99M/13.6M [00:00<00:00, 53.5MB/s] 97%|#########6| 13.1M/13.6M [00:00<00:00, 48.7MB/s] 100%|##########| 13.6M/13.6M [00:00<00:00, 50.9MB/s]
+ 0%| | 0.00/13.6M [00:00<?, ?B/s] 47%|####6 | 6.30M/13.6M [00:00<00:00, 40.9MB/s] 75%|#######5 | 10.2M/13.6M [00:00<00:00, 34.2MB/s] 100%|##########| 13.6M/13.6M [00:00<00:00, 38.8MB/s]
@@ -409,7 +409,7 @@ Here we give an example of how to measure performance of TVM compiled models.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 89.0208 88.9637 89.8928 88.7143 0.2377
+ 87.6617 87.6377 88.5357 87.1560 0.2499
@@ -457,7 +457,7 @@ TODO
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 32.154 seconds)
+ **Total running time of the script:** ( 1 minutes 28.240 seconds)
.. _sphx_glr_download_how_to_deploy_models_deploy_prequantized.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
index ff21189801..3cf3dcfe99 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
@@ -423,7 +423,7 @@ Here we give an example of how to measure performance of TVM compiled models.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 110.5613 110.5427 112.4560 109.2868 0.3769
+ 107.9552 108.1162 112.8794 105.2531 0.9459
diff --git a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
index f18255a27f..691b93531b 100644
--- a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
@@ -5,24 +5,24 @@
Computation times
=================
-**10:12.755** total execution time for **how_to_deploy_models** files:
+**09:50.883** total execution time for **how_to_deploy_models** files:
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:42.885 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:33.135 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``) | 01:32.154 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``) | 01:28.240 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``) | 01:21.078 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``) | 01:20.068 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``) | 00:53.205 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``) | 00:51.610 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``) | 00:52.871 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``) | 00:51.017 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno_tvmc.py` (``deploy_model_on_adreno_tvmc.py``) | 00:48.834 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno_tvmc.py` (``deploy_model_on_adreno_tvmc.py``) | 00:47.305 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``) | 00:30.885 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``) | 00:29.961 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``) | 00:30.834 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``) | 00:29.538 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``) | 00:00.010 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``) | 00:00.008 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
index 0b71348f95..00b14bcbac 100644
--- a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
Computation times
=================
-**00:04.237** total execution time for **how_to_extend_tvm** files:
+**00:04.131** total execution time for **how_to_extend_tvm** files:
+-------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``) | 00:02.952 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``) | 00:02.874 | 0.0 MB |
+-------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``) | 00:01.278 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``) | 00:01.247 | 0.0 MB |
+-------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``) | 00:00.008 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``) | 00:00.009 | 0.0 MB |
+-------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
index b4afdea9ea..9abef44bd0 100644
--- a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
@@ -220,10 +220,10 @@ profile the execution time of each passes.
.. code-block:: none
Printing results of timing profile...
- InferType: 25609us [25609us] (48.41%; 48.41%)
- FoldScaleAxis: 27294us [9us] (51.59%; 51.59%)
- FoldConstant: 27285us [1888us] (51.58%; 99.97%)
- InferType: 25397us [25397us] (48.01%; 93.08%)
+ InferType: 25920us [25920us] (48.50%; 48.50%)
+ FoldScaleAxis: 27528us [8us] (51.50%; 51.50%)
+ FoldConstant: 27520us [1840us] (51.49%; 99.97%)
+ InferType: 25680us [25680us] (48.05%; 93.31%)
@@ -262,10 +262,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
.. code-block:: none
Printing results of timing profile...
- InferType: 26182us [26182us] (49.16%; 49.16%)
- FoldScaleAxis: 27080us [9us] (50.84%; 50.84%)
- FoldConstant: 27071us [1902us] (50.83%; 99.97%)
- InferType: 25170us [25170us] (47.26%; 92.98%)
+ InferType: 25689us [25689us] (48.34%; 48.34%)
+ FoldScaleAxis: 27453us [8us] (51.66%; 51.66%)
+ FoldConstant: 27445us [1865us] (51.64%; 99.97%)
+ InferType: 25581us [25581us] (48.14%; 93.21%)
diff --git a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
index 6f6d697168..d92c0abddf 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
@@ -331,7 +331,7 @@ latency of convolution.
.. code-block:: none
- Convolution: 53.523071 ms
+ Convolution: 53.517055 ms
diff --git a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
index 49162f2551..650589b167 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
@@ -598,7 +598,7 @@ be able to run on our build server
.. code-block:: none
- conv2d with tensor core: 12.263834 ms
+ conv2d with tensor core: 12.274087 ms
diff --git a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
index ab7271c339..244a46ab40 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -134,8 +134,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
.. code-block:: none
- Numpy running time: 0.019813
- Baseline: 3.481242
+ Numpy running time: 0.017465
+ Baseline: 3.126014
@@ -227,7 +227,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
.. code-block:: none
- Opt1: 0.339423
+ Opt1: 0.288423
@@ -318,7 +318,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
.. code-block:: none
- Opt2: 0.307871
+ Opt2: 0.276281
@@ -406,7 +406,7 @@ the access pattern for A matrix is more cache friendly.
.. code-block:: none
- Opt3: 0.121810
+ Opt3: 0.115293
@@ -523,7 +523,7 @@ flattening.
.. code-block:: none
- Opt4: 0.108149
+ Opt4: 0.104790
@@ -635,7 +635,7 @@ write to C when all the block results are ready.
.. code-block:: none
- Opt5: 0.114367
+ Opt5: 0.110085
@@ -748,7 +748,7 @@ Furthermore, we can also utilize multi-core processors to do the thread-level pa
.. code-block:: none
- Opt6: 0.135896
+ Opt6: 0.130009
diff --git a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
index 1fcf5bf4c7..c803d0b9f0 100644
--- a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
Computation times
=================
-**00:35.656** total execution time for **how_to_optimize_operators** files:
+**00:32.741** total execution time for **how_to_optimize_operators** files:
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``) | 00:32.350 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``) | 00:29.748 | 0.0 MB |
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:02.011 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.804 | 0.0 MB |
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``) | 00:01.296 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``) | 00:01.188 | 0.0 MB |
+-----------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
index fe08748bab..9202251a9d 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
@@ -5,18 +5,18 @@
Computation times
=================
-**03:48.645** total execution time for **how_to_tune_with_autoscheduler** files:
+**03:36.029** total execution time for **how_to_tune_with_autoscheduler** files:
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``) | 01:40.108 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``) | 01:33.446 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``) | 01:15.734 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``) | 01:12.267 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``) | 00:19.143 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``) | 00:17.931 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``) | 00:17.269 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``) | 00:16.533 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 00:16.289 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 00:15.750 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``) | 00:00.103 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``) | 00:00.102 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
index 9c9a8becf0..f18292da85 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
@@ -633,7 +633,7 @@ so we can read the log file and load the best schedules.
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 3.2135 3.2136 3.2138 3.2132 0.0003
+ 3.2060 3.2059 3.2063 3.2058 0.0002
@@ -660,7 +660,7 @@ Other Tips
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 15.734 seconds)
+ **Total running time of the script:** ( 1 minutes 12.267 seconds)
.. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_network_cuda.py:
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
index bb3aea009b..1fbae57b0e 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
@@ -655,7 +655,7 @@ so we can read the log file and load the best schedules.
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 757.9969 757.9974 758.5408 757.4526 0.4443
+ 746.5680 746.9437 747.2791 745.4812 0.7806
@@ -682,7 +682,7 @@ Other Tips
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 40.108 seconds)
+ **Total running time of the script:** ( 1 minutes 33.446 seconds)
.. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_network_x86.py:
diff --git a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
index 7b4a28ec69..de31bd6f92 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,14 +5,14 @@
Computation times
=================
-**00:23.921** total execution time for **how_to_tune_with_autotvm** files:
+**00:24.114** total execution time for **how_to_tune_with_autotvm** files:
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``) | 00:23.881 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``) | 00:24.076 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``) | 00:00.023 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``) | 00:00.006 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``) | 00:00.005 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``) | 00:00.005 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
index f06fe31157..93b3e8e3b0 100644
--- a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
@@ -326,7 +326,7 @@ and measure running time.
Best config:
,None
- Time cost of this operator: 0.037282
+ Time cost of this operator: 0.037256
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
index f13a59d08a..9ed2fc6060 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
@@ -360,10 +360,10 @@ Timing the untuned program
########## Build without Autotuning ##########
Node Name Ops Time(us) Time(%) Shape Inputs Outputs Measurements(us)
--------- --- -------- ------- ----- ------ ------- ----------------
- tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 303.1 98.733 (1, 2, 10, 10, 3) 2 1 [303.1]
- tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 2.913 0.949 (1, 6, 10, 10) 1 1 [2.913]
- tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.977 0.318 (1, 1, 10, 10, 3) 1 1 [0.977]
- Total_time - 306.989 - - - - -
+ tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 305.2 98.747 (1, 2, 10, 10, 3) 2 1 [305.2]
+ tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 2.903 0.939 (1, 6, 10, 10) 1 1 [2.903]
+ tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.969 0.314 (1, 1, 10, 10, 3) 1 1 [0.969]
+ Total_time - 309.073 - - - - -
@@ -428,10 +428,10 @@ Timing the tuned program
########## Build with Autotuning ##########
Node Name Ops Time(us) Time(%) Shape Inputs Outputs Measurements(us)
--------- --- -------- ------- ----- ------ ------- ----------------
- tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 103.2 97.485 (1, 6, 10, 10, 1) 2 1 [103.2]
- tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.818 1.717 (1, 6, 10, 10) 1 1 [1.818]
- tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.845 0.798 (1, 3, 10, 10, 1) 1 1 [0.845]
- Total_time - 105.863 - - - - -
+ tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 101.0 97.34 (1, 6, 10, 10, 1) 2 1 [101.0]
+ tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.788 1.723 (1, 6, 10, 10) 1 1 [1.788]
+ tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.972 0.937 (1, 1, 10, 10, 3) 1 1 [0.972]
+ Total_time - 103.76 - - - - -
@@ -439,7 +439,7 @@ Timing the tuned program
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 29.889 seconds)
+ **Total running time of the script:** ( 1 minutes 27.305 seconds)
.. _sphx_glr_download_how_to_work_with_microtvm_micro_autotune.py:
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
index fa1e32664c..b5f8eb5f45 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
@@ -118,7 +118,7 @@ download a cat image and preprocess it to use as the model input.
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torch/ao/quantization/utils.py:310: UserWarning: must run observer before calling calculate_qparams. Returning default values.
warnings.warn(
Downloading: "https://download.pytorch.org/models/quantized/mobilenet_v2_qnnpack_37f702c5.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2_qnnpack_37f702c5.pth
- 0%| | 0.00/3.42M [00:00<?, ?B/s] 61%|###### | 2.09M/3.42M [00:00<00:00, 18.0MB/s] 100%|##########| 3.42M/3.42M [00:00<00:00, 28.4MB/s]
+ 0%| | 0.00/3.42M [00:00<?, ?B/s] 100%|##########| 3.42M/3.42M [00:00<00:00, 189MB/s]
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torch/_utils.py:314: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
device=storage.device,
/workspace/python/tvm/relay/frontend/pytorch_utils.py:47: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
@@ -326,7 +326,7 @@ Look up prediction top 1 index in 1000 class synset.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 34.832 seconds)
+ **Total running time of the script:** ( 1 minutes 28.831 seconds)
.. _sphx_glr_download_how_to_work_with_microtvm_micro_pytorch.py:
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
index 938a4256fc..6d3242fe6c 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
@@ -217,7 +217,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
.. code-block:: none
- '/tmp/tmpcwux15ym/images/random'
+ '/tmp/tmppqwohwxs/images/random'
@@ -317,8 +317,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
.. code-block:: none
- /tmp/tmpcwux15ym/images/target contains 8144 images
- /tmp/tmpcwux15ym/images/random contains 5000 images
+ /tmp/tmppqwohwxs/images/target contains 8144 images
+ /tmp/tmppqwohwxs/images/random contains 5000 images
@@ -493,13 +493,13 @@ the time on our validation set).
.. code-block:: none
Epoch 1/3
- 328/328 - 39s - loss: 0.2187 - accuracy: 0.9260 - val_loss: 0.1092 - val_accuracy: 0.9619 - 39s/epoch - 119ms/step
+ 328/328 - 40s - loss: 0.2229 - accuracy: 0.9233 - val_loss: 0.1172 - val_accuracy: 0.9543 - 40s/epoch - 121ms/step
Epoch 2/3
- 328/328 - 36s - loss: 0.0969 - accuracy: 0.9650 - val_loss: 0.1172 - val_accuracy: 0.9585 - 36s/epoch - 109ms/step
+ 328/328 - 35s - loss: 0.1054 - accuracy: 0.9610 - val_loss: 0.0970 - val_accuracy: 0.9664 - 35s/epoch - 108ms/step
Epoch 3/3
- 328/328 - 36s - loss: 0.0664 - accuracy: 0.9747 - val_loss: 0.1062 - val_accuracy: 0.9611 - 36s/epoch - 109ms/step
+ 328/328 - 35s - loss: 0.0655 - accuracy: 0.9765 - val_loss: 0.1028 - val_accuracy: 0.9641 - 35s/epoch - 108ms/step
- <keras.callbacks.History object at 0x7ef8b251fc70>
+ <keras.callbacks.History object at 0x7f249c53f730>
@@ -860,7 +860,7 @@ Arduino tutorial for how to do that `on GitHub <https://github.com/guberti/tvm-a
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 4 minutes 34.770 seconds)
+ **Total running time of the script:** ( 4 minutes 14.222 seconds)
.. _sphx_glr_download_how_to_work_with_microtvm_micro_train.py:
diff --git a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
index 5fcb3c3829..cd8c77ceef 100644
--- a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
@@ -5,20 +5,20 @@
Computation times
=================
-**08:09.830** total execution time for **how_to_work_with_microtvm** files:
+**07:40.394** total execution time for **how_to_work_with_microtvm** files:
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``) | 04:34.770 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``) | 04:14.222 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``) | 01:34.832 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``) | 01:28.831 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``) | 01:29.889 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``) | 01:27.305 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``) | 00:12.932 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``) | 00:12.145 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_custom_ide.py` (``micro_custom_ide.py``) | 00:09.253 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_custom_ide.py` (``micro_custom_ide.py``) | 00:09.124 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``) | 00:08.154 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``) | 00:08.766 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``) | 00:00.000 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
index 08981e0797..37e33d3bd2 100644
--- a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
@@ -5,14 +5,14 @@
Computation times
=================
-**00:39.563** total execution time for **how_to_work_with_relay** files:
+**00:38.490** total execution time for **how_to_work_with_relay** files:
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:34.158 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:33.350 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:03.270 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:03.184 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``) | 00:02.128 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``) | 00:01.949 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``) | 00:00.007 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``) | 00:00.006 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
index 695cd130c3..e693fe88a6 100644
--- a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
@@ -281,7 +281,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
.. code-block:: none
- <function my_cuda_math_rule at 0x7ef8b44aad30>
+ <function my_cuda_math_rule at 0x7f295e49b8b0>
diff --git a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
index 9087f61317..26fa62e738 100644
--- a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
@@ -5,22 +5,22 @@
Computation times
=================
-**00:05.780** total execution time for **how_to_work_with_schedules** files:
+**00:06.018** total execution time for **how_to_work_with_schedules** files:
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``) | 00:02.737 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``) | 00:02.531 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``) | 00:01.178 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``) | 00:01.763 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``) | 00:00.782 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``) | 00:00.727 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``) | 00:00.767 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``) | 00:00.709 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``) | 00:00.134 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``) | 00:00.121 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.080 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.070 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``) | 00:00.070 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``) | 00:00.065 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``) | 00:00.033 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``) | 00:00.032 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
index b54f1817eb..fef1f41a17 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -337,7 +337,7 @@ The compilation steps are:
/workspace/python/tvm/relay/build_module.py:345: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
warnings.warn(
- yolov3-tiny inference graph built in 28.38s!
+ yolov3-tiny inference graph built in 26.73s!
@@ -447,7 +447,7 @@ Download test image
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 2.476 seconds)
+ **Total running time of the script:** ( 1 minutes 0.030 seconds)
.. _sphx_glr_download_topic_vta_tutorials_frontend_deploy_detection.py:
diff --git a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
index 502f3da147..06d2095618 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
@@ -5,8 +5,8 @@
Computation times
=================
-**01:02.476** total execution time for **topic_vta_tutorials_frontend** files:
+**01:00.030** total execution time for **topic_vta_tutorials_frontend** files:
+--------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``) | 01:02.476 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``) | 01:00.030 | 0.0 MB |
+--------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
index 7c53eeed30..7207175c4f 100644
--- a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
Computation times
=================
-**00:03.355** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.283** total execution time for **topic_vta_tutorials_optimize** files:
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``) | 00:02.819 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``) | 00:02.792 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.535 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.491 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
index a6c95e7303..1401744243 100644
--- a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
Computation times
=================
-**00:00.919** total execution time for **topic_vta_tutorials** files:
+**00:00.816** total execution time for **topic_vta_tutorials** files:
+---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.473 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.425 | 0.0 MB |
+---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.446 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.391 | 0.0 MB |
+---------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
index 11f330d6d5..0a01a92b51 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -318,7 +318,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 95.818 ms
+ Execution time of this operator: 94.146 ms
@@ -416,7 +416,7 @@ resume the status and do more 5 trials.
.. code-block:: none
Resume search:
- *E
+
@@ -434,7 +434,7 @@ operations.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 40.802 seconds)
+ **Total running time of the script:** ( 1 minutes 33.303 seconds)
.. _sphx_glr_download_tutorial_auto_scheduler_matmul_x86.py:
diff --git a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
index a0eaea80c4..77158d1d5f 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -454,16 +454,16 @@ reduce variance, we take 5 measurements and average them.
waiting for device...
device available
Get devices for measurement successfully!
- No: 1 GFLOPS: 11.00/11.00 result: MeasureResult(costs=(0.024410572999999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6698207855224609, timestamp=1710224997.9725215) [('tile_y', [-1, 4]), ('tile_x', [-1, 512])],None,92
- No: 2 GFLOPS: 3.34/11.00 result: MeasureResult(costs=(0.0803084446,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5484650135040283, timestamp=1710224999.5236921) [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
- No: 3 GFLOPS: 1.30/11.00 result: MeasureResult(costs=(0.2061953662,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.560211181640625, timestamp=1710225003.085833) [('tile_y', [-1, 2]), ('tile_x', [-1, 1])],None,1
- No: 4 GFLOPS: 8.72/11.00 result: MeasureResult(costs=(0.0307769882,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7284297943115234, timestamp=1710225003.8391109) [('tile_y', [-1, 1]), ('tile_x', [-1, 32])],None,50
- No: 5 GFLOPS: 8.03/11.00 result: MeasureResult(costs=(0.0334104468,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.8535709381103516, timestamp=1710225004.8042839) [('tile_y', [-1, 512]), ('tile_x', [-1, 128])],None,79
- No: 6 GFLOPS: 11.14/11.14 result: MeasureResult(costs=(0.0240957356,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6704189777374268, timestamp=1710225005.458507) [('tile_y', [-1, 8]), ('tile_x', [-1, 512])],None,93
- No: 7 GFLOPS: 5.75/11.14 result: MeasureResult(costs=(0.0466475906,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.0069293975830078, timestamp=1710225006.4711072) [('tile_y', [-1, 1]), ('tile_x', [-1, 4])],None,20
- No: 8 GFLOPS: 0.51/11.14 result: MeasureResult(costs=(0.5281196041999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.722817182540894, timestamp=1710225015.182751) [('tile_y', [-1, 128]), ('tile_x', [-1, 1])],None,7
- No: 9 GFLOPS: 14.64/14.64 result: MeasureResult(costs=(0.018337396,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.8101341724395752, timestamp=1710225016.104435) [('tile_y', [-1, 64]), ('tile_x', [-1, 64])],None,66
- No: 10 GFLOPS: 10.26/14.64 result: MeasureResult(costs=(0.026151375799999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.713925838470459, timestamp=1710225016.7835574) [('tile_y', [-1, 8]), ('tile_x', [-1, 64])],None,63
+ No: 1 GFLOPS: 12.77/12.77 result: MeasureResult(costs=(0.021027225599999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6264426708221436, timestamp=1710237640.7686765) [('tile_y', [-1, 32]), ('tile_x', [-1, 128])],None,75
+ No: 2 GFLOPS: 10.03/12.77 result: MeasureResult(costs=(0.0267549624,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6815102100372314, timestamp=1710237641.4606419) [('tile_y', [-1, 1]), ('tile_x', [-1, 512])],None,90
+ No: 3 GFLOPS: 8.94/12.77 result: MeasureResult(costs=(0.030032289400000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7212390899658203, timestamp=1710237642.2042518) [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
+ No: 4 GFLOPS: 8.91/12.77 result: MeasureResult(costs=(0.030131593800000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.724053144454956, timestamp=1710237642.9422734) [('tile_y', [-1, 512]), ('tile_x', [-1, 32])],None,59
+ No: 5 GFLOPS: 5.48/12.77 result: MeasureResult(costs=(0.0489533792,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.0304360389709473, timestamp=1710237644.101762) [('tile_y', [-1, 1]), ('tile_x', [-1, 4])],None,20
+ No: 6 GFLOPS: 11.49/12.77 result: MeasureResult(costs=(0.0233601898,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6337227821350098, timestamp=1710237644.7304049) [('tile_y', [-1, 256]), ('tile_x', [-1, 32])],None,58
+ No: 7 GFLOPS: 11.63/12.77 result: MeasureResult(costs=(0.0230779536,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6373467445373535, timestamp=1710237645.3612506) [('tile_y', [-1, 256]), ('tile_x', [-1, 256])],None,88
+ No: 8 GFLOPS: 1.34/12.77 result: MeasureResult(costs=(0.20067835939999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.4600956439971924, timestamp=1710237648.829782) [('tile_y', [-1, 2]), ('tile_x', [-1, 1])],None,1
+ No: 9 GFLOPS: 1.68/12.77 result: MeasureResult(costs=(0.1601558812,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.7974910736083984, timestamp=1710237651.7361536) [('tile_y', [-1, 16]), ('tile_x', [-1, 1])],None,4
+ No: 10 GFLOPS: 1.07/12.77 result: MeasureResult(costs=(0.2511487554,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.244277000427246, timestamp=1710237656.0126195) [('tile_y', [-1, 32]), ('tile_x', [-1, 2])],None,15
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index cd5e52ce0b..b8ec8e7c60 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -311,7 +311,7 @@ standard deviation.
.. code-block:: none
- {'mean': 500.2163601600296, 'median': 500.40413960005026, 'std': 3.451607073710918}
+ {'mean': 477.53137412999985, 'median': 478.0349082500038, 'std': 1.4295240449268622}
@@ -582,31 +582,30 @@ the tuning data to.
.. code-block:: none
- [Task 1/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 1/25] Current/Best: 13.31/ 19.51 GFLOPS | Progress: (4/20) | 9.54 s [Task 1/25] Current/Best: 19.96/ 19.96 GFLOPS | Progress: (8/20) | 12.37 s [Task 1/25] Current/Best: 22.56/ 22.56 GFLOPS | Progress: (12/20) | 14.77 s [Task 1/25] Current/Best: 9.41/ 22.56 GFLOPS | Progress: (16/20) | 17.30 s [Task 1/25] Current/Best: 12.26/ 22.56 GFLOPS | Progress: (20/20) | 19.87 s Done.
- [Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 2/25] Current/Best: 9.44/ 15.31 GFLOPS | Progress: (4/20) | 4.23 s [Task 2/25] Current/Best: 15.51/ 15.51 GFLOPS | Progress: (8/20) | 5.95 s [Task 2/25] Current/Best: 14.37/ 19.72 GFLOPS | Progress: (12/20) | 7.48 s [Task 2/25] Current/Best: 8.36/ 19.72 GFLOPS | Progress: (16/20) | 9.06 s [Task 2/25] Current/Best: 16.23/ 19.72 GFLOPS | Progress: (20/20) | 11.08 s Done.
- [Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 3/25] Current/Best: 22.26/ 23.82 GFLOPS | Progress: (4/20) | 6.31 s [Task 3/25] Current/Best: 21.83/ 23.82 GFLOPS | Progress: (8/20) | 8.35 s [Task 3/25] Current/Best: 12.20/ 23.82 GFLOPS | Progress: (12/20) | 11.09 s [Task 3/25] Current/Best: 8.91/ 23.82 GFLOPS | Progress: (16/20) | 13.65 s [Task 3/25] Current/Best: 12.45/ 23.82 GFLOPS | Progress: (20/20) | 15.92 s Done.
- [Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 4/25] Current/Best: 5.16/ 16.13 GFLOPS | Progress: (4/20) | 5.80 s [Task 4/25] Current/Best: 16.57/ 19.42 GFLOPS | Progress: (8/20) | 9.09 s [Task 4/25] Current/Best: 11.85/ 19.42 GFLOPS | Progress: (12/20) | 11.86 s [Task 4/25] Current/Best: 11.12/ 19.88 GFLOPS | Progress: (16/20) | 13.48 s [Task 4/25] Current/Best: 18.48/ 19.88 GFLOPS | Progress: (20/20) | 15.48 s Done.
- [Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 5/25] Current/Best: 4.18/ 13.18 GFLOPS | Progress: (4/20) | 5.07 s [Task 5/25] Current/Best: 22.68/ 22.68 GFLOPS | Progress: (8/20) | 7.22 s [Task 5/25] Current/Best: 10.19/ 22.68 GFLOPS | Progress: (12/20) | 10.24 s [Task 5/25] Current/Best: 14.73/ 22.68 GFLOPS | Progress: (16/20) | 12.29 s [Task 5/25] Current/Best: 15.86/ 22.68 GFLOPS | Progress: (20/20) | 14.29 s Done.
- [Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 6/25] Current/Best: 12.22/ 14.87 GFLOPS | Progress: (4/20) | 5.44 s [Task 6/25] Current/Best: 10.22/ 17.08 GFLOPS | Progress: (8/20) | 8.30 s [Task 6/25] Current/Best: 4.77/ 21.05 GFLOPS | Progress: (12/20) | 10.82 s [Task 6/25] Current/Best: 15.84/ 21.05 GFLOPS | Progress: (16/20) | 13.20 s [Task 6/25] Current/Best: 13.10/ 22.70 GFLOPS | Progress: (20/20) | 16.25 s Done.
- [Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 7/25] Current/Best: 18.09/ 18.09 GFLOPS | Progress: (4/20) | 5.04 s [Task 7/25] Current/Best: 10.76/ 18.09 GFLOPS | Progress: (8/20) | 7.88 s [Task 7/25] Current/Best: 13.53/ 20.60 GFLOPS | Progress: (12/20) | 10.60 s [Task 7/25] Current/Best: 7.10/ 20.60 GFLOPS | Progress: (16/20) | 13.31 s [Task 7/25] Current/Best: 15.80/ 20.60 GFLOPS | Progress: (20/20) | 16.85 s Done.
- [Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 8/25] Current/Best: 9.39/ 12.37 GFLOPS | Progress: (4/20) | 12.16 s [Task 8/25] Current/Best: 13.57/ 14.57 GFLOPS | Progress: (8/20) | 17.61 s [Task 8/25] Current/Best: 14.74/ 19.45 GFLOPS | Progress: (12/20) | 29.37 s [Task 8/25] Current/Best: 13.72/ 19.45 GFLOPS | Progress: (16/20) | 35.89 s [Task 8/25] Current/Best: 12.04/ 19.45 GFLOPS | Progress: (20/20) | 45.11 s Done.
- [Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 9/25] Current/Best: 19.42/ 19.42 GFLOPS | Progress: (4/20) | 7.92 s [Task 9/25] Current/Best: 7.06/ 20.40 GFLOPS | Progress: (8/20) | 9.87 s [Task 9/25] Current/Best: 14.70/ 20.40 GFLOPS | Progress: (12/20) | 11.97 s [Task 9/25] Current/Best: 20.58/ 20.58 GFLOPS | Progress: (16/20) | 17.51 s [Task 9/25] Current/Best: 13.23/ 20.58 GFLOPS | Progress: (20/20) | 20.22 s Done.
- [Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 10/25] Current/Best: 4.57/ 22.07 GFLOPS | Progress: (4/20) | 5.14 s [Task 10/25] Current/Best: 14.86/ 22.07 GFLOPS | Progress: (8/20) | 7.67 s [Task 10/25] Current/Best: 14.44/ 22.07 GFLOPS | Progress: (12/20) | 9.68 s [Task 10/25] Current/Best: 16.63/ 22.07 GFLOPS | Progress: (16/20) | 12.82 s [Task 10/25] Current/Best: 14.09/ 22.07 GFLOPS | Progress: (20/20) | 15.64 s Done.
- [Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 11/25] Current/Best: 9.93/ 12.43 GFLOPS | Progress: (4/20) | 5.45 s [Task 11/25] Current/Best: 9.33/ 20.45 GFLOPS | Progress: (8/20) | 8.25 s [Task 11/25] Current/Best: 22.42/ 22.42 GFLOPS | Progress: (12/20) | 10.48 s [Task 11/25] Current/Best: 12.55/ 22.42 GFLOPS | Progress: (16/20) | 12.81 s [Task 11/25] Current/Best: 7.02/ 22.42 GFLOPS | Progress: (20/20) | 16.29 s Done.
- [Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 12/25] Current/Best: 12.12/ 15.63 GFLOPS | Progress: (4/20) | 6.11 s [Task 12/25] Current/Best: 10.32/ 20.92 GFLOPS | Progress: (8/20) | 9.72 s [Task 12/25] Current/Best: 3.61/ 20.92 GFLOPS | Progress: (12/20) | 12.46 s [Task 12/25] Current/Best: 3.30/ 20.92 GFLOPS | Progress: (16/20) | 15.08 s [Task 12/25] Current/Best: 6.98/ 20.92 GFLOPS | Progress: (20/20) | 17.63 s Done.
- [Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 13/25] Current/Best: 22.59/ 22.59 GFLOPS | Progress: (4/20) | 5.07 s [Task 13/25] Current/Best: 10.62/ 22.59 GFLOPS | Progress: (8/20) | 8.65 s [Task 13/25] Current/Best: 9.49/ 22.59 GFLOPS | Progress: (12/20) | 12.72 s [Task 13/25] Current/Best: 16.02/ 22.59 GFLOPS | Progress: (16/20) | 16.04 s [Task 13/25] Current/Best: 11.53/ 22.59 GFLOPS | Progress: (20/20) | 19.12 s Done.
- [Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 14/25] Current/Best: 11.86/ 11.86 GFLOPS | Progress: (4/20) | 13.86 s [Task 14/25] Current/Best: 10.52/ 18.77 GFLOPS | Progress: (8/20) | 16.27 s [Task 14/25] Current/Best: 6.09/ 18.77 GFLOPS | Progress: (12/20) | 18.50 s [Task 14/25] Current/Best: 1.61/ 18.77 GFLOPS | Progress: (16/20) | 22.07 s [Task 14/25] Current/Best: 6.70/ 18.77 GFLOPS | Progress: (20/20) | 25.79 s Done.
- [Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 15/25] Current/Best: 14.75/ 20.00 GFLOPS | Progress: (4/20) | 13.73 s [Task 15/25] Current/Best: 22.74/ 22.74 GFLOPS | Progress: (8/20) | 24.83 s [Task 15/25] Current/Best: 7.31/ 22.74 GFLOPS | Progress: (12/20) | 32.83 s [Task 15/25] Current/Best: 9.92/ 22.74 GFLOPS | Progress: (16/20) | 38.45 s [Task 15/25] Current/Best: 6.13/ 22.74 GFLOPS | Progress: (20/20) | 46.48 s [Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 16/25] Current/Best: 17.28/ 17.28 GFLOPS | Progress: (4/20) | 4.43 s [Task 16/25] Current/Best: 16.77/ 17.28 GFLOPS | Progress: (8/20) | 7.00 s [Task 16/25] Current/Best: 10.61/ 17.28 GFLOPS | Progress: (12/20) | 10.58 s [Task 16/25] Current/Best: 13.11/ 17.28 GFLOPS | Progress: (16/20) | 13.54 s [Task 16/25] Current/Best: 5.86/ 17.28 GFLOPS | Progress: (20/
20) | 15.48 s Done.
- [Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 17/25] Current/Best: 20.08/ 20.08 GFLOPS | Progress: (4/20) | 5.71 s [Task 17/25] Current/Best: 21.28/ 21.55 GFLOPS | Progress: (8/20) | 8.29 s [Task 17/25] Current/Best: 12.21/ 21.55 GFLOPS | Progress: (12/20) | 12.37 s [Task 17/25] Current/Best: 12.24/ 21.55 GFLOPS | Progress: (16/20) | 16.59 s [Task 17/25] Current/Best: 11.62/ 21.55 GFLOPS | Progress: (20/20) | 19.87 s Done.
- [Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 18/25] Current/Best: 12.16/ 17.30 GFLOPS | Progress: (4/20) | 5.01 s [Task 18/25] Current/Best: 18.67/ 18.67 GFLOPS | Progress: (8/20) | 7.08 s [Task 18/25] Current/Best: 15.83/ 18.67 GFLOPS | Progress: (12/20) | 8.99 s [Task 18/25] Current/Best: 14.34/ 18.67 GFLOPS | Progress: (16/20) | 11.21 s [Task 18/25] Current/Best: 14.27/ 18.67 GFLOPS | Progress: (20/20) | 13.97 s Done.
- [Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 19/25] Current/Best: 22.01/ 22.01 GFLOPS | Progress: (4/20) | 6.06 s [Task 19/25] Current/Best: 9.50/ 22.01 GFLOPS | Progress: (8/20) | 11.36 s [Task 19/25] Current/Best: 12.67/ 22.01 GFLOPS | Progress: (12/20) | 14.62 s [Task 19/25] Current/Best: 6.60/ 22.01 GFLOPS | Progress: (16/20) | 18.19 s [Task 19/25] Current/Best: 18.25/ 22.01 GFLOPS | Progress: (20/20) | 21.85 s Done.
- [Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 20/25] Current/Best: 15.11/ 15.11 GFLOPS | Progress: (4/20) | 5.47 s [Task 20/25] Current/Best: 9.19/ 18.44 GFLOPS | Progress: (8/20) | 8.47 s [Task 20/25] Current/Best: 20.81/ 20.81 GFLOPS | Progress: (12/20) | 10.64 s [Task 20/25] Current/Best: 6.91/ 20.81 GFLOPS | Progress: (16/20) | 22.86 s Done.
- [Task 20/25] Current/Best: 19.57/ 20.81 GFLOPS | Progress: (20/20) | 26.26 s Done.
- [Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 21/25] Current/Best: 20.56/ 20.56 GFLOPS | Progress: (4/20) | 7.37 s [Task 21/25] Current/Best: 6.14/ 20.56 GFLOPS | Progress: (8/20) | 18.61 s [Task 21/25] Current/Best: 14.19/ 20.56 GFLOPS | Progress: (12/20) | 21.94 s [Task 21/25] Current/Best: 11.74/ 20.56 GFLOPS | Progress: (16/20) | 32.71 s [Task 21/25] Current/Best: 6.54/ 20.56 GFLOPS | Progress: (20/20) | 41.34 s [Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 22/25] Current/Best: 9.40/ 16.69 GFLOPS | Progress: (4/20) | 4.85 s [Task 22/25] Current/Best: 6.34/ 18.49 GFLOPS | Progress: (8/20) | 6.78 s [Task 22/25] Current/Best: 7.06/ 18.49 GFLOPS | Progress: (12/20) | 11.71 s [Task 22/25] Current/Best: 20.01/ 20.97 GFLOPS | Progress: (16/20) | 13.69 s [Task 22/25] Current/Best: 8.47/ 20.97 GFLOPS | Progress: (20/2
0) | 16.43 s Done.
- [Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 23/25] Current/Best: 12.25/ 22.56 GFLOPS | Progress: (4/20) | 5.65 s [Task 23/25] Current/Best: 2.70/ 23.91 GFLOPS | Progress: (8/20) | 10.25 s [Task 23/25] Current/Best: 18.06/ 23.91 GFLOPS | Progress: (12/20) | 13.53 s [Task 23/25] Current/Best: 22.80/ 23.91 GFLOPS | Progress: (16/20) | 20.12 s [Task 23/25] Current/Best: 11.43/ 23.91 GFLOPS | Progress: (20/20) | 23.28 s Done.
- [Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 24/25] Current/Best: 7.21/ 8.42 GFLOPS | Progress: (4/20) | 9.17 s [Task 24/25] Current/Best: 5.63/ 8.42 GFLOPS | Progress: (8/20) | 20.17 s [Task 24/25] Current/Best: 8.75/ 8.75 GFLOPS | Progress: (12/20) | 30.88 s [Task 24/25] Current/Best: 3.23/ 8.75 GFLOPS | Progress: (16/20) | 43.18 s Done.
- [Task 24/25] Current/Best: 7.34/ 9.13 GFLOPS | Progress: (20/20) | 46.51 s Done.
- [Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 25/25] Current/Best: 8.40/ 8.40 GFLOPS | Progress: (4/20) | 4.93 s [Task 25/25] Current/Best: 2.97/ 8.61 GFLOPS | Progress: (8/20) | 6.58 s [Task 25/25] Current/Best: 7.65/ 8.61 GFLOPS | Progress: (12/20) | 9.80 s [Task 25/25] Current/Best: 5.59/ 8.61 GFLOPS | Progress: (16/20) | 20.75 s [Task 25/25] Current/Best: 1.53/ 8.61 GFLOPS | Progress: (20/20) | 24.06 s
+ [Task 1/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 1/25] Current/Best: 8.84/ 20.94 GFLOPS | Progress: (4/20) | 9.95 s [Task 1/25] Current/Best: 12.41/ 23.46 GFLOPS | Progress: (8/20) | 12.45 s [Task 1/25] Current/Best: 19.37/ 23.46 GFLOPS | Progress: (12/20) | 15.86 s [Task 1/25] Current/Best: 9.69/ 23.46 GFLOPS | Progress: (16/20) | 23.69 s [Task 1/25] Current/Best: 18.54/ 23.46 GFLOPS | Progress: (20/20) | 26.80 s Done.
+ [Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 2/25] Current/Best: 11.06/ 15.12 GFLOPS | Progress: (4/20) | 4.04 s [Task 2/25] Current/Best: 18.57/ 18.57 GFLOPS | Progress: (8/20) | 5.63 s [Task 2/25] Current/Best: 19.72/ 19.72 GFLOPS | Progress: (12/20) | 7.21 s [Task 2/25] Current/Best: 19.50/ 19.75 GFLOPS | Progress: (16/20) | 8.57 s [Task 2/25] Current/Best: 13.72/ 19.75 GFLOPS | Progress: (20/20) | 10.13 s Done.
+ [Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 3/25] Current/Best: 23.76/ 23.76 GFLOPS | Progress: (4/20) | 4.97 s [Task 3/25] Current/Best: 6.17/ 23.76 GFLOPS | Progress: (8/20) | 7.65 s [Task 3/25] Current/Best: 12.09/ 23.76 GFLOPS | Progress: (12/20) | 9.85 s [Task 3/25] Current/Best: 8.69/ 23.76 GFLOPS | Progress: (16/20) | 11.90 s [Task 3/25] Current/Best: 11.07/ 23.97 GFLOPS | Progress: (20/20) | 13.99 s Done.
+ [Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 4/25] Current/Best: 17.43/ 17.43 GFLOPS | Progress: (4/20) | 4.76 s [Task 4/25] Current/Best: 11.48/ 17.43 GFLOPS | Progress: (8/20) | 7.13 s [Task 4/25] Current/Best: 17.75/ 17.75 GFLOPS | Progress: (12/20) | 8.67 s [Task 4/25] Current/Best: 22.97/ 22.97 GFLOPS | Progress: (16/20) | 13.29 s [Task 4/25] Current/Best: 12.88/ 22.97 GFLOPS | Progress: (20/20) | 15.20 s Done.
+ [Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 5/25] Current/Best: 17.67/ 18.13 GFLOPS | Progress: (4/20) | 4.28 s [Task 5/25] Current/Best: 19.93/ 19.93 GFLOPS | Progress: (8/20) | 6.22 s [Task 5/25] Current/Best: 13.61/ 19.93 GFLOPS | Progress: (12/20) | 8.40 s [Task 5/25] Current/Best: 11.97/ 20.24 GFLOPS | Progress: (16/20) | 10.78 s [Task 5/25] Current/Best: 16.41/ 22.52 GFLOPS | Progress: (20/20) | 12.41 s Done.
+ [Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 6/25] Current/Best: 14.82/ 16.08 GFLOPS | Progress: (4/20) | 5.56 s [Task 6/25] Current/Best: 5.31/ 21.07 GFLOPS | Progress: (8/20) | 8.73 s [Task 6/25] Current/Best: 9.45/ 23.65 GFLOPS | Progress: (12/20) | 13.32 s [Task 6/25] Current/Best: 16.80/ 23.65 GFLOPS | Progress: (16/20) | 15.58 s [Task 6/25] Current/Best: 15.16/ 23.65 GFLOPS | Progress: (20/20) | 18.39 s Done.
+ [Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 7/25] Current/Best: 11.70/ 20.17 GFLOPS | Progress: (4/20) | 4.80 s [Task 7/25] Current/Best: 9.55/ 20.17 GFLOPS | Progress: (8/20) | 7.70 s [Task 7/25] Current/Best: 18.97/ 20.17 GFLOPS | Progress: (12/20) | 10.37 s [Task 7/25] Current/Best: 13.38/ 20.17 GFLOPS | Progress: (16/20) | 12.84 s [Task 7/25] Current/Best: 3.23/ 20.38 GFLOPS | Progress: (20/20) | 16.20 s Done.
+ [Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 8/25] Current/Best: 11.53/ 15.36 GFLOPS | Progress: (4/20) | 11.35 s [Task 8/25] Current/Best: 19.59/ 19.59 GFLOPS | Progress: (8/20) | 14.91 s [Task 8/25] Current/Best: 14.48/ 19.59 GFLOPS | Progress: (12/20) | 17.18 s [Task 8/25] Current/Best: 20.77/ 20.77 GFLOPS | Progress: (16/20) | 20.98 s [Task 8/25] Current/Best: 19.81/ 20.77 GFLOPS | Progress: (20/20) | 25.98 s Done.
+ [Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 9/25] Current/Best: 6.69/ 19.89 GFLOPS | Progress: (4/20) | 10.90 s [Task 9/25] Current/Best: 14.49/ 19.89 GFLOPS | Progress: (8/20) | 13.44 s [Task 9/25] Current/Best: 10.02/ 19.89 GFLOPS | Progress: (12/20) | 15.26 s [Task 9/25] Current/Best: 13.15/ 19.89 GFLOPS | Progress: (16/20) | 17.55 s [Task 9/25] Current/Best: 21.18/ 23.05 GFLOPS | Progress: (20/20) | 19.41 s Done.
+ [Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 10/25] Current/Best: 6.20/ 18.50 GFLOPS | Progress: (4/20) | 4.34 s [Task 10/25] Current/Best: 13.39/ 18.50 GFLOPS | Progress: (8/20) | 6.92 s [Task 10/25] Current/Best: 19.08/ 22.95 GFLOPS | Progress: (12/20) | 8.55 s [Task 10/25] Current/Best: 7.00/ 22.95 GFLOPS | Progress: (16/20) | 10.25 s [Task 10/25] Current/Best: 9.62/ 22.95 GFLOPS | Progress: (20/20) | 12.33 s Done.
+ [Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 11/25] Current/Best: 20.35/ 20.35 GFLOPS | Progress: (4/20) | 5.38 s [Task 11/25] Current/Best: 15.58/ 21.00 GFLOPS | Progress: (8/20) | 7.35 s [Task 11/25] Current/Best: 11.23/ 23.40 GFLOPS | Progress: (12/20) | 9.99 s [Task 11/25] Current/Best: 12.43/ 23.40 GFLOPS | Progress: (16/20) | 14.10 s [Task 11/25] Current/Best: 18.55/ 23.40 GFLOPS | Progress: (20/20) | 15.99 s Done.
+ [Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 12/25] Current/Best: 1.62/ 14.34 GFLOPS | Progress: (4/20) | 8.07 s [Task 12/25] Current/Best: 6.60/ 21.46 GFLOPS | Progress: (8/20) | 10.34 s [Task 12/25] Current/Best: 11.52/ 21.46 GFLOPS | Progress: (12/20) | 16.23 s [Task 12/25] Current/Best: 19.44/ 21.46 GFLOPS | Progress: (16/20) | 21.89 s [Task 12/25] Current/Best: 15.00/ 21.46 GFLOPS | Progress: (20/20) | 25.01 s Done.
+ [Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 13/25] Current/Best: 18.25/ 18.25 GFLOPS | Progress: (4/20) | 4.80 s [Task 13/25] Current/Best: 22.62/ 22.62 GFLOPS | Progress: (8/20) | 7.65 s [Task 13/25] Current/Best: 10.53/ 22.62 GFLOPS | Progress: (12/20) | 10.36 s [Task 13/25] Current/Best: 11.53/ 22.62 GFLOPS | Progress: (16/20) | 13.37 s [Task 13/25] Current/Best: 15.17/ 22.62 GFLOPS | Progress: (20/20) | 15.79 s Done.
+ [Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 14/25] Current/Best: 10.18/ 15.39 GFLOPS | Progress: (4/20) | 8.90 s [Task 14/25] Current/Best: 13.46/ 15.39 GFLOPS | Progress: (8/20) | 11.76 s [Task 14/25] Current/Best: 15.24/ 15.39 GFLOPS | Progress: (12/20) | 16.42 s [Task 14/25] Current/Best: 12.70/ 18.35 GFLOPS | Progress: (16/20) | 23.28 s [Task 14/25] Current/Best: 13.90/ 18.64 GFLOPS | Progress: (20/20) | 27.41 s Done.
+ [Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 15/25] Current/Best: 7.94/ 19.18 GFLOPS | Progress: (4/20) | 8.87 s [Task 15/25] Current/Best: 10.32/ 19.18 GFLOPS | Progress: (8/20) | 10.59 s [Task 15/25] Current/Best: 7.02/ 19.18 GFLOPS | Progress: (12/20) | 17.41 s [Task 15/25] Current/Best: 17.45/ 24.19 GFLOPS | Progress: (16/20) | 19.27 s [Task 15/25] Current/Best: 8.49/ 24.19 GFLOPS | Progress: (20/20) | 30.59 s Done.
+ [Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 16/25] Current/Best: 5.49/ 21.66 GFLOPS | Progress: (4/20) | 4.49 s [Task 16/25] Current/Best: 19.66/ 21.66 GFLOPS | Progress: (8/20) | 6.46 s [Task 16/25] Current/Best: 14.19/ 21.66 GFLOPS | Progress: (12/20) | 8.75 s [Task 16/25] Current/Best: 19.84/ 21.66 GFLOPS | Progress: (16/20) | 10.34 s [Task 16/25] Current/Best: 10.63/ 21.66 GFLOPS | Progress: (20/20) | 13.27 s Done.
+ [Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 17/25] Current/Best: 7.65/ 19.44 GFLOPS | Progress: (4/20) | 5.76 s [Task 17/25] Current/Best: 9.23/ 22.78 GFLOPS | Progress: (8/20) | 8.69 s [Task 17/25] Current/Best: 13.19/ 22.78 GFLOPS | Progress: (12/20) | 11.20 s [Task 17/25] Current/Best: 21.90/ 22.78 GFLOPS | Progress: (16/20) | 13.89 s [Task 17/25] Current/Best: 9.64/ 22.78 GFLOPS | Progress: (20/20) | 17.52 s Done.
+ [Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 18/25] Current/Best: 9.21/ 19.15 GFLOPS | Progress: (4/20) | 4.76 s [Task 18/25] Current/Best: 13.94/ 19.15 GFLOPS | Progress: (8/20) | 7.13 s [Task 18/25] Current/Best: 16.05/ 19.15 GFLOPS | Progress: (12/20) | 9.20 s [Task 18/25] Current/Best: 7.94/ 19.79 GFLOPS | Progress: (16/20) | 13.91 s [Task 18/25] Current/Best: 7.84/ 19.79 GFLOPS | Progress: (20/20) | 16.73 s Done.
+ [Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 19/25] Current/Best: 19.24/ 19.24 GFLOPS | Progress: (4/20) | 6.21 s [Task 19/25] Current/Best: 4.58/ 19.24 GFLOPS | Progress: (8/20) | 9.44 s [Task 19/25] Current/Best: 1.60/ 19.24 GFLOPS | Progress: (12/20) | 13.51 s [Task 19/25] Current/Best: 15.52/ 19.33 GFLOPS | Progress: (16/20) | 17.52 s [Task 19/25] Current/Best: 8.85/ 21.16 GFLOPS | Progress: (20/20) | 21.43 s Done.
+ [Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 20/25] Current/Best: 9.91/ 20.37 GFLOPS | Progress: (4/20) | 10.94 s [Task 20/25] Current/Best: 1.63/ 20.37 GFLOPS | Progress: (8/20) | 23.97 s [Task 20/25] Current/Best: 7.71/ 20.37 GFLOPS | Progress: (12/20) | 33.55 s [Task 20/25] Current/Best: 8.27/ 20.37 GFLOPS | Progress: (16/20) | 44.22 s [Task 20/25] Current/Best: 12.96/ 20.37 GFLOPS | Progress: (20/20) | 47.99 s [Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 21/25] Current/Best: 19.62/ 19.62 GFLOPS | Progress: (4/20) | 4.39 s [Task 21/25] Current/Best: 9.45/ 19.62 GFLOPS | Progress: (8/20) | 15.68 s [Task 21/25] Current/Best: 6.38/ 19.62 GFLOPS | Progress: (12/20) | 18.65 s Done.
+ [Task 21/25] Current/Best: 2.66/ 19.62 GFLOPS | Progress: (16/20) | 27.81 s [Task 21/25] Current/Best: 6.49/ 20.09 GFLOPS | Progress: (20/20) | 30.31 s Done.
+ [Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 22/25] Current/Best: 22.66/ 22.66 GFLOPS | Progress: (4/20) | 4.20 s [Task 22/25] Current/Best: 2.61/ 22.66 GFLOPS | Progress: (8/20) | 6.35 s [Task 22/25] Current/Best: 18.79/ 22.66 GFLOPS | Progress: (12/20) | 8.11 s [Task 22/25] Current/Best: 20.37/ 22.66 GFLOPS | Progress: (16/20) | 10.95 s [Task 22/25] Current/Best: 20.34/ 22.66 GFLOPS | Progress: (20/20) | 12.55 s Done.
+ [Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 23/25] Current/Best: 20.37/ 20.45 GFLOPS | Progress: (4/20) | 4.91 s [Task 23/25] Current/Best: 12.17/ 20.45 GFLOPS | Progress: (8/20) | 7.85 s [Task 23/25] Current/Best: 19.05/ 20.45 GFLOPS | Progress: (12/20) | 12.30 s [Task 23/25] Current/Best: 19.92/ 20.45 GFLOPS | Progress: (16/20) | 14.69 s [Task 23/25] Current/Best: 12.03/ 20.45 GFLOPS | Progress: (20/20) | 18.60 s Done.
+ [Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 24/25] Current/Best: 3.74/ 7.79 GFLOPS | Progress: (4/20) | 4.16 s [Task 24/25] Current/Best: 9.15/ 10.39 GFLOPS | Progress: (8/20) | 7.86 s [Task 24/25] Current/Best: 4.88/ 10.39 GFLOPS | Progress: (12/20) | 18.85 s [Task 24/25] Current/Best: 3.42/ 10.39 GFLOPS | Progress: (16/20) | 22.33 s [Task 24/25] Current/Best: 4.39/ 10.39 GFLOPS | Progress: (20/20) | 25.57 s [Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s [Task 25/25] Current/Best: 1.60/ 4.30 GFLOPS | Progress: (4/20) | 5.37 s [Task 25/25] Current/Best: 9.84/ 9.84 GFLOPS | Progress: (8/20) | 16.30 s [Task 25/25] Current/Best: 3.11/ 9.84 GFLOPS | Progress: (12/20) | 20.91 s [Task 25/25] Current/Best: 5.53/ 9.84 GFLOPS | Progress: (16/20) | 22.81 s [Task 25/25] Current/Best: 1.55/ 9.84 GFLOPS | Progress: (20/2
0) | 33.79 s
@@ -675,6 +674,7 @@ model using optimized operators to speed up our computations.
.. code-block:: none
Done.
+ Done.
@@ -766,8 +766,8 @@ improvement in comparing the optimized model to the unoptimized model.
.. code-block:: none
- optimized: {'mean': 424.539103990046, 'median': 425.389065050058, 'std': 2.733734726026686}
- unoptimized: {'mean': 500.2163601600296, 'median': 500.40413960005026, 'std': 3.451607073710918}
+ optimized: {'mean': 395.37286000999984, 'median': 393.8785123499997, 'std': 3.6008534111740786}
+ unoptimized: {'mean': 477.53137412999985, 'median': 478.0349082500038, 'std': 1.4295240449268622}
@@ -790,7 +790,7 @@ profiling/benchmarking.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 13 minutes 49.229 seconds)
+ **Total running time of the script:** ( 12 minutes 50.873 seconds)
.. _sphx_glr_download_tutorial_autotvm_relay_x86.py:
diff --git a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
index 45dc5147ac..8c27e9adb8 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -274,7 +274,7 @@ device and returns the measured cost. Network overhead is excluded.
.. code-block:: none
- 1.171e-07 secs/op
+ 1.176e-07 secs/op
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index d09cab6831..860ea81061 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -270,7 +270,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
.. code-block:: none
- [stage(a, placeholder(a, 0x155afb50)), stage(b, placeholder(b, 0x2e0ed9f0)), stage(T_add, compute(T_add, body=[a[ax0, ax1, ax2] + b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T.Range(0, 10), "DataPar", ""), T.iter_var(ax2, T.Range(0, 10), "DataPar", "")], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[a[ax0, ax1, ax2] * b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T [...]
+ [stage(a, placeholder(a, 0x9c8eae0)), stage(b, placeholder(b, 0x278a0ab0)), stage(T_add, compute(T_add, body=[a[ax0, ax1, ax2] + b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T.Range(0, 10), "DataPar", ""), T.iter_var(ax2, T.Range(0, 10), "DataPar", "")], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[a[ax0, ax1, ax2] * b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T. [...]
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index 8fb725d019..964fceb097 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,32 +5,32 @@
Computation times
=================
-**17:44.299** total execution time for **tutorial** files:
+**16:31.280** total execution time for **tutorial** files:
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``) | 13:49.229 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``) | 12:50.873 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:40.802 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:33.303 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``) | 01:01.106 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``) | 00:58.674 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``) | 00:45.043 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``) | 00:43.326 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``) | 00:26.031 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``) | 00:21.824 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``) | 00:00.941 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``) | 00:02.194 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``) | 00:00.924 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``) | 00:00.887 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.222 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.201 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_uma.py` (``uma.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``) | 00:00.000 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``) | 00:00.000 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_install.py` (``install.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index 8a20646bdb..e7782b88b1 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -285,8 +285,8 @@ helper function to run a profile of the TVM generated code.
.. code-block:: none
- Numpy running time: 0.000007
- naive: 0.000006
+ Numpy running time: 0.000008
+ naive: 0.000008
@@ -389,7 +389,7 @@ compile and run this new schedule with the parallel operation applied:
.. code-block:: none
- parallel: 0.000008
+ parallel: 0.000007
@@ -444,7 +444,7 @@ factor to be the number of threads on your CPU.
.. code-block:: none
- vector: 0.000039
+ vector: 0.000038
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -498,10 +498,10 @@ We can now compare the different schedules
.. code-block:: none
Operator Timing Performance
- numpy 7.309980010177241e-06 1.0
- naive 5.8688e-06 0.8028476126924049
- parallel 8.1659e-06 1.117089238086987
- vector 3.9272e-05 5.372381312305093
+ numpy 7.93811999983518e-06 1.0
+ naive 7.5658e-06 0.9530972069151247
+ parallel 6.8028e-06 0.8569787304980584
+ vector 3.8032500000000006e-05 4.791121827433911
@@ -922,7 +922,7 @@ matrix multiplication.
.. code-block:: none
- Numpy running time: 0.018699
+ Numpy running time: 0.018891
@@ -980,7 +980,7 @@ optimizations.
.. code-block:: none
- none: 3.411954
+ none: 3.305843
@@ -1080,7 +1080,7 @@ schedule.
.. code-block:: none
- blocking: 0.318888
+ blocking: 0.297051
@@ -1164,7 +1164,7 @@ already cache friendly from our previous optimizations.
.. code-block:: none
- vectorization: 0.313369
+ vectorization: 0.276046
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1230,7 +1230,7 @@ more cache friendly.
.. code-block:: none
- loop permutation: 0.121064
+ loop permutation: 0.111589
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1321,7 +1321,7 @@ optimized schedule.
.. code-block:: none
- array packing: 0.107327
+ array packing: 0.102898
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1404,7 +1404,7 @@ to `C` when all the block results are ready.
.. code-block:: none
- block caching: 0.113125
+ block caching: 0.108724
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1478,7 +1478,7 @@ of thread-level parallelization.
.. code-block:: none
- parallelization: 0.133146
+ parallelization: 0.129321
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1548,13 +1548,13 @@ working, we can compare the results.
.. code-block:: none
Operator Timing Performance
- none 3.4119536355999998 1.0
- blocking 0.3188880733 0.09346201835005968
- vectorization 0.31336879419999997 0.09184438819166232
- loop permutation 0.12106384430000001 0.03548226536164835
- array packing 0.1073266584 0.031456071759054356
- block caching 0.1131248034 0.03315543394835925
- parallelization 0.1331460921 0.03902341776006753
+ none 3.3058432236999997 1.0
+ blocking 0.29705072209999994 0.08985626419619856
+ vectorization 0.2760455849 0.08350232186481046
+ loop permutation 0.11158928860000002 0.03375516654873485
+ array packing 0.10289824659999999 0.031126172548749352
+ block caching 0.10872369559999999 0.03288833990085989
+ parallelization 0.1293207859 0.03911885021433662
@@ -1594,11 +1594,6 @@ operations with tunable parameters that allows you to automatically optimize
the computation for specific platforms.
-.. rst-class:: sphx-glr-timing
-
- **Total running time of the script:** ( 1 minutes 1.106 seconds)
-
-
.. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
.. only:: html
diff --git a/docs/commit_hash b/docs/commit_hash
index 6195f90065..94bd4a3d2a 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-cae1af62f98efc8ec8a54b986619552fea85154e
+ca12cb6d47c72f5d878f7215c905c17c2b8375e8
diff --git a/docs/genindex.html b/docs/genindex.html
index 730537924d..907e87546e 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -420,6 +420,8 @@
<li><a href="reference/api/python/relay/nn.html#tvm.relay.nn.adaptive_max_pool3d">adaptive_max_pool3d() (in module tvm.relay.nn)</a>
</li>
<li><a href="reference/api/python/topi.html#tvm.topi.nn.adaptive_pool">adaptive_pool() (in module tvm.topi.nn)</a>
+</li>
+ <li><a href="reference/api/python/topi.html#tvm.topi.nn.adaptive_pool1d">adaptive_pool1d() (in module tvm.topi.nn)</a>
</li>
<li><a href="reference/api/python/topi.html#tvm.topi.nn.adaptive_pool3d">adaptive_pool3d() (in module tvm.topi.nn)</a>
</li>
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index 2d60f44473..2daa28eb6e 100644
--- a/docs/how_to/compile_models/from_darknet.html
+++ b/docs/how_to/compile_models/from_darknet.html
@@ -604,7 +604,7 @@ class:['truck 0.9266'] left:471 top:83 right:689 bottom:169
class:['bicycle 0.9984'] left:111 top:113 right:577 bottom:447
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 41.531 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 32.914 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-darknet-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/7716f96385bd5abb6e822041e285be54/from_darknet.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_darknet.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_oneflow.html b/docs/how_to/compile_models/from_oneflow.html
index 26abad2009..f4aa50750b 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -468,16 +468,12 @@ Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdo
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: "https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip" to /workspace/.oneflow/flowvision_cache/resnet18.zip
0%| | 0.00/41.5M [00:00<?, ?B/s]
- 0%| | 128k/41.5M [00:00<00:41, 1.05MB/s]
- 15%|#5 | 6.33M/41.5M [00:00<00:01, 24.9MB/s]
- 20%|## | 8.43M/41.5M [00:00<00:01, 19.8MB/s]
- 35%|###4 | 14.3M/41.5M [00:00<00:01, 27.3MB/s]
- 41%|#### | 16.8M/41.5M [00:00<00:01, 25.6MB/s]
- 54%|#####3 | 22.3M/41.5M [00:00<00:00, 27.2MB/s]
- 60%|#####9 | 24.8M/41.5M [00:01<00:00, 25.4MB/s]
- 77%|#######7 | 32.0M/41.5M [00:01<00:00, 33.4MB/s]
- 96%|#########6| 40.0M/41.5M [00:01<00:00, 40.7MB/s]
-100%|##########| 41.5M/41.5M [00:01<00:00, 31.9MB/s]
+ 19%|#9 | 7.99M/41.5M [00:00<00:00, 62.1MB/s]
+ 39%|###8 | 16.0M/41.5M [00:00<00:00, 59.1MB/s]
+ 58%|#####7 | 24.0M/41.5M [00:00<00:00, 48.9MB/s]
+ 77%|#######7 | 32.0M/41.5M [00:00<00:00, 53.6MB/s]
+ 92%|#########2| 38.3M/41.5M [00:00<00:00, 51.7MB/s]
+100%|##########| 41.5M/41.5M [00:00<00:00, 53.1MB/s]
</pre></div>
</div>
</div>
diff --git a/docs/how_to/compile_models/from_paddle.html b/docs/how_to/compile_models/from_paddle.html
index 4c171482f6..bf94098e03 100644
--- a/docs/how_to/compile_models/from_paddle.html
+++ b/docs/how_to/compile_models/from_paddle.html
@@ -503,7 +503,7 @@ To begin, we’ll install PaddlePaddle>=2.1.3:</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>TVM prediction top-1 id: 282, class name: 282: 'tiger cat',
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 3.858 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 3.224 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-paddle-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/16269b77359771348d507395692524cf/from_paddle.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_paddle.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index c58fed5b3d..bb6c969c23 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -451,15 +451,14 @@ be unstable.</p>
Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
0%| | 0.00/44.7M [00:00<?, ?B/s]
- 14%|#4 | 6.30M/44.7M [00:00<00:00, 45.0MB/s]
- 24%|##3 | 10.6M/44.7M [00:00<00:01, 35.1MB/s]
- 36%|###5 | 16.0M/44.7M [00:00<00:00, 37.8MB/s]
- 54%|#####3 | 24.0M/44.7M [00:00<00:00, 46.8MB/s]
- 64%|######3 | 28.5M/44.7M [00:00<00:00, 33.1MB/s]
- 72%|#######1 | 32.1M/44.7M [00:01<00:00, 20.0MB/s]
- 86%|########5 | 38.3M/44.7M [00:01<00:00, 26.1MB/s]
- 93%|#########3| 41.7M/44.7M [00:01<00:00, 24.2MB/s]
-100%|##########| 44.7M/44.7M [00:01<00:00, 30.1MB/s]
+ 14%|#4 | 6.30M/44.7M [00:00<00:00, 53.4MB/s]
+ 26%|##5 | 11.4M/44.7M [00:00<00:00, 47.4MB/s]
+ 36%|###5 | 16.0M/44.7M [00:00<00:00, 38.2MB/s]
+ 54%|#####3 | 24.0M/44.7M [00:00<00:00, 52.4MB/s]
+ 68%|######7 | 30.3M/44.7M [00:00<00:00, 54.4MB/s]
+ 80%|######## | 35.8M/44.7M [00:00<00:00, 52.7MB/s]
+ 92%|#########1| 41.0M/44.7M [00:00<00:00, 37.5MB/s]
+100%|##########| 44.7M/44.7M [00:01<00:00, 46.8MB/s]
</pre></div>
</div>
</div>
diff --git a/docs/how_to/compile_models/from_tensorflow.html b/docs/how_to/compile_models/from_tensorflow.html
index 6bd33c9e66..78e58af6db 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -671,7 +671,7 @@ banana (score = 0.00022)
desk (score = 0.00019)
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 37.126 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 31.159 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-tensorflow-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/7f1d3d1b878694c201c614c807cdebc8/from_tensorflow.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_tensorflow.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/sg_execution_times.html b/docs/how_to/compile_models/sg_execution_times.html
index 478bac5333..4abe33e9b9 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-compile-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>07:02.031</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>06:41.424</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 81%" />
@@ -369,39 +369,39 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></td>
-<td><p>01:41.531</p></td>
+<td><p>01:32.914</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
-<td><p>01:37.126</p></td>
+<td><p>01:31.159</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="from_paddle.html#sphx-glr-how-to-compile-models-from-paddle-py"><span class="std std-ref">Compile PaddlePaddle Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_paddle.py</span></code>)</p></td>
-<td><p>01:03.858</p></td>
+<td><p>01:03.224</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></td>
-<td><p>00:44.921</p></td>
+<td><p>00:45.174</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="from_coreml.html#sphx-glr-how-to-compile-models-from-coreml-py"><span class="std std-ref">Compile CoreML Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_coreml.py</span></code>)</p></td>
-<td><p>00:40.875</p></td>
+<td><p>00:38.095</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_pytorch.html#sphx-glr-how-to-compile-models-from-pytorch-py"><span class="std std-ref">Compile PyTorch Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_pytorch.py</span></code>)</p></td>
-<td><p>00:30.536</p></td>
+<td><p>00:29.489</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="from_keras.html#sphx-glr-how-to-compile-models-from-keras-py"><span class="std std-ref">Compile Keras Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_keras.py</span></code>)</p></td>
-<td><p>00:27.289</p></td>
+<td><p>00:27.106</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></td>
-<td><p>00:12.912</p></td>
+<td><p>00:11.395</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="from_onnx.html#sphx-glr-how-to-compile-models-from-onnx-py"><span class="std std-ref">Compile ONNX Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_onnx.py</span></code>)</p></td>
-<td><p>00:02.984</p></td>
+<td><p>00:02.867</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/how_to/deploy_models/deploy_model_on_adreno.html b/docs/how_to/deploy_models/deploy_model_on_adreno.html
index 9de80443ca..18afe2aaab 100644
--- a/docs/how_to/deploy_models/deploy_model_on_adreno.html
+++ b/docs/how_to/deploy_models/deploy_model_on_adreno.html
@@ -850,10 +850,10 @@ Top5 predictions:
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 4127.3528 4124.3637 4152.5013 4122.5321 8.5324
+ 4121.9538 4121.4991 4125.1751 4119.2295 2.0687
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 21.078 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 20.068 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-model-on-adreno-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/2387d8448da213eb625e6b3d916327d4/deploy_model_on_adreno.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_model_on_adreno.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_model_on_adreno_tvmc.html b/docs/how_to/deploy_models/deploy_model_on_adreno_tvmc.html
index 60e9b4b0f7..26ca743431 100644
--- a/docs/how_to/deploy_models/deploy_model_on_adreno_tvmc.html
+++ b/docs/how_to/deploy_models/deploy_model_on_adreno_tvmc.html
@@ -458,25 +458,25 @@ to run this tutorial with a real device over rpc.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels.h5
8192/102967424 [..............................] - ETA: 0s
- 2187264/102967424 [..............................] - ETA: 7s
- 8380416/102967424 [=>............................] - ETA: 2s
- 15024128/102967424 [===>..........................] - ETA: 1s
- 16769024/102967424 [===>..........................] - ETA: 2s
+ 8380416/102967424 [=>............................] - ETA: 1s
+ 16769024/102967424 [===>..........................] - ETA: 1s
+ 23412736/102967424 [=====>........................] - ETA: 0s
25157632/102967424 [======>.......................] - ETA: 1s
- 32153600/102967424 [========>.....................] - ETA: 1s
- 33546240/102967424 [========>.....................] - ETA: 1s
- 41934848/102967424 [===========>..................] - ETA: 1s
+ 33546240/102967424 [========>.....................] - ETA: 0s
+ 41934848/102967424 [===========>..................] - ETA: 0s
50323456/102967424 [=============>................] - ETA: 0s
+ 56967168/102967424 [===============>..............] - ETA: 0s
58712064/102967424 [================>.............] - ETA: 0s
- 65355776/102967424 [==================>...........] - ETA: 0s
+ 66043904/102967424 [==================>...........] - ETA: 0s
67100672/102967424 [==================>...........] - ETA: 0s
69296128/102967424 [===================>..........] - ETA: 0s
72540160/102967424 [====================>.........] - ETA: 0s
75489280/102967424 [====================>.........] - ETA: 0s
+ 77799424/102967424 [=====================>........] - ETA: 0s
83877888/102967424 [=======================>......] - ETA: 0s
92266496/102967424 [=========================>....] - ETA: 0s
98910208/102967424 [===========================>..] - ETA: 0s
-100794368/102967424 [============================>.] - ETA: 0s
+100646912/102967424 [============================>.] - ETA: 0s
102967424/102967424 [==============================] - 2s 0us/step
</pre></div>
</div>
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index 8457ec3fbc..0a2119e3d8 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -682,7 +682,7 @@ to the remote android device.</p>
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 15.5487 15.2961 16.2873 15.1336 0.4237
+ 15.5800 15.6096 16.1783 15.0886 0.3410
</pre></div>
</div>
</div>
diff --git a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
index fe55e76ffd..958e16a09a 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -474,34 +474,28 @@ be unstable.</p>
Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
0%| | 0.00/170M [00:00<?, ?B/s]
- 4%|3 | 6.30M/170M [00:00<00:03, 55.3MB/s]
- 7%|6 | 11.6M/170M [00:00<00:04, 37.0MB/s]
- 9%|9 | 16.0M/170M [00:00<00:05, 30.9MB/s]
- 14%|#4 | 24.0M/170M [00:00<00:04, 37.2MB/s]
- 19%|#8 | 32.0M/170M [00:00<00:03, 42.6MB/s]
- 24%|##3 | 40.0M/170M [00:00<00:02, 46.2MB/s]
- 28%|##8 | 48.0M/170M [00:01<00:02, 47.1MB/s]
- 33%|###2 | 56.0M/170M [00:01<00:02, 46.8MB/s]
- 37%|###6 | 62.3M/170M [00:01<00:02, 48.3MB/s]
- 39%|###9 | 67.0M/170M [00:01<00:02, 47.4MB/s]
- 42%|####2 | 72.0M/170M [00:01<00:02, 39.4MB/s]
- 46%|####6 | 78.3M/170M [00:01<00:02, 36.9MB/s]
- 48%|####8 | 82.0M/170M [00:02<00:02, 37.2MB/s]
- 51%|##### | 86.3M/170M [00:02<00:02, 29.3MB/s]
- 53%|#####2 | 89.4M/170M [00:02<00:03, 27.4MB/s]
- 56%|#####5 | 94.3M/170M [00:02<00:02, 27.6MB/s]
- 57%|#####7 | 97.1M/170M [00:02<00:02, 27.1MB/s]
- 61%|######1 | 104M/170M [00:02<00:02, 30.4MB/s]
- 66%|######5 | 112M/170M [00:03<00:01, 37.4MB/s]
- 71%|####### | 120M/170M [00:03<00:01, 45.8MB/s]
- 75%|#######5 | 128M/170M [00:03<00:00, 46.2MB/s]
- 80%|######## | 136M/170M [00:03<00:00, 50.7MB/s]
- 85%|########4 | 144M/170M [00:03<00:00, 45.5MB/s]
- 89%|########9 | 151M/170M [00:03<00:00, 51.7MB/s]
- 92%|#########2| 157M/170M [00:04<00:00, 43.6MB/s]
- 95%|#########5| 161M/170M [00:04<00:00, 38.8MB/s]
- 98%|#########8| 167M/170M [00:04<00:00, 43.6MB/s]
-100%|##########| 170M/170M [00:04<00:00, 40.1MB/s]
+ 5%|4 | 7.99M/170M [00:00<00:03, 47.1MB/s]
+ 9%|9 | 16.0M/170M [00:00<00:02, 56.2MB/s]
+ 18%|#7 | 30.5M/170M [00:00<00:01, 90.9MB/s]
+ 24%|##3 | 40.2M/170M [00:00<00:01, 72.3MB/s]
+ 28%|##8 | 48.0M/170M [00:00<00:02, 48.7MB/s]
+ 33%|###2 | 56.0M/170M [00:01<00:02, 53.3MB/s]
+ 38%|###7 | 64.0M/170M [00:01<00:01, 59.0MB/s]
+ 42%|####2 | 72.0M/170M [00:01<00:01, 62.0MB/s]
+ 47%|####7 | 80.0M/170M [00:01<00:01, 63.7MB/s]
+ 51%|##### | 86.6M/170M [00:01<00:01, 59.7MB/s]
+ 55%|#####4 | 92.6M/170M [00:01<00:01, 58.4MB/s]
+ 60%|#####9 | 102M/170M [00:01<00:01, 68.0MB/s]
+ 64%|######3 | 109M/170M [00:01<00:01, 59.3MB/s]
+ 68%|######7 | 115M/170M [00:01<00:01, 57.8MB/s]
+ 71%|####### | 120M/170M [00:02<00:01, 46.8MB/s]
+ 75%|#######5 | 128M/170M [00:02<00:00, 52.6MB/s]
+ 80%|######## | 136M/170M [00:02<00:00, 49.3MB/s]
+ 85%|########4 | 144M/170M [00:02<00:00, 55.2MB/s]
+ 89%|########9 | 152M/170M [00:02<00:00, 49.7MB/s]
+ 94%|#########4| 160M/170M [00:02<00:00, 56.6MB/s]
+ 98%|#########7| 166M/170M [00:03<00:00, 30.9MB/s]
+100%|##########| 170M/170M [00:03<00:00, 51.1MB/s]
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torch/nn/functional.py:3912: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
(torch.floor((input.size(i + 2).float() * torch.tensor(scale_factors[i], dtype=torch.float32)).float()))
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torchvision/ops/boxes.py:157: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
@@ -592,7 +586,7 @@ torchvision rcnn models.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Get 9 valid boxes
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes 42.885 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes 33.135 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-object-detection-pytorch-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/7795da4b258c8feff986668b95ef57ad/deploy_object_detection_pytorch.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_object_detection_pytorch.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized.html b/docs/how_to/deploy_models/deploy_prequantized.html
index 5d6c46060a..4788cb5ea9 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -515,9 +515,9 @@ training. Other models require a full post training calibration.</p>
Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
0%| | 0.00/13.6M [00:00<?, ?B/s]
- 59%|#####8 | 7.99M/13.6M [00:00<00:00, 53.5MB/s]
- 97%|#########6| 13.1M/13.6M [00:00<00:00, 48.7MB/s]
-100%|##########| 13.6M/13.6M [00:00<00:00, 50.9MB/s]
+ 47%|####6 | 6.30M/13.6M [00:00<00:00, 40.9MB/s]
+ 75%|#######5 | 10.2M/13.6M [00:00<00:00, 34.2MB/s]
+100%|##########| 13.6M/13.6M [00:00<00:00, 38.8MB/s]
</pre></div>
</div>
</div>
@@ -608,7 +608,7 @@ output values are identical out of 1000 outputs from mobilenet v2.</p>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 89.0208 88.9637 89.8928 88.7143 0.2377
+ 87.6617 87.6377 88.5357 87.1560 0.2499
</pre></div>
</div>
<div class="admonition note">
@@ -647,7 +647,7 @@ This includes support for the VNNI 8 bit dot product instruction (CascadeLake or
<div class="section" id="deploy-a-quantized-tflite-model">
<h2>Deploy a quantized TFLite Model<a class="headerlink" href="#deploy-a-quantized-tflite-model" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 32.154 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 28.240 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/fb8217c13f4351224c6cf3aacf1a87fc/deploy_prequantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized_tflite.html b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
index 9334243c0d..954587902c 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -600,7 +600,7 @@ TFLite Top-5 labels: [387 102 386 341 349]
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 110.5613 110.5427 112.4560 109.2868 0.3769
+ 107.9552 108.1162 112.8794 105.2531 0.9459
</pre></div>
</div>
<div class="admonition note">
diff --git a/docs/how_to/deploy_models/sg_execution_times.html b/docs/how_to/deploy_models/sg_execution_times.html
index 1e3d3a6f85..4d66484c3d 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-deploy-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>10:12.755</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>09:50.883</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 86%" />
@@ -369,39 +369,39 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></td>
-<td><p>03:42.885</p></td>
+<td><p>03:33.135</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_prequantized.html#sphx-glr-how-to-deploy-models-deploy-prequantized-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized.py</span></code>)</p></td>
-<td><p>01:32.154</p></td>
+<td><p>01:28.240</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_adreno.html#sphx-glr-how-to-deploy-models-deploy-model-on-adreno-py"><span class="std std-ref">Deploy the Pretrained Model on Adrenoâ„¢</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_adreno.py</span></code>)</p></td>
-<td><p>01:21.078</p></td>
+<td><p>01:20.068</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-even"><td><p><a class="reference internal" href="deploy_prequantized_tflite.html#sphx-glr-how-to-deploy-models-deploy-prequantized-tflite-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM - Part 3 (TFLite)</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized_tflite.py</span></code>)</p></td>
-<td><p>00:53.205</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></td>
+<td><p>00:51.610</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></td>
-<td><p>00:52.871</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="deploy_prequantized_tflite.html#sphx-glr-how-to-deploy-models-deploy-prequantized-tflite-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM - Part 3 (TFLite)</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized_tflite.py</span></code>)</p></td>
+<td><p>00:51.017</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_adreno_tvmc.html#sphx-glr-how-to-deploy-models-deploy-model-on-adreno-tvmc-py"><span class="std std-ref">Deploy the Pretrained Model on Adrenoâ„¢ with tvmc Interface</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_adreno_tvmc.py</span></code>)</p></td>
-<td><p>00:48.834</p></td>
+<td><p>00:47.305</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></td>
-<td><p>00:30.885</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_nano.html#sphx-glr-how-to-deploy-models-deploy-model-on-nano-py"><span class="std std-ref">Deploy the Pretrained Model on Jetson Nano</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_nano.py</span></code>)</p></td>
+<td><p>00:29.961</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_nano.html#sphx-glr-how-to-deploy-models-deploy-model-on-nano-py"><span class="std std-ref">Deploy the Pretrained Model on Jetson Nano</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_nano.py</span></code>)</p></td>
-<td><p>00:30.834</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></td>
+<td><p>00:29.538</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></td>
-<td><p>00:00.010</p></td>
+<td><p>00:00.008</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/how_to/extend_tvm/sg_execution_times.html b/docs/how_to/extend_tvm/sg_execution_times.html
index a39ea5f0af..def74000c7 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-extend-tvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:04.237</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:04.131</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -369,15 +369,15 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="use_pass_instrument.html#sphx-glr-how-to-extend-tvm-use-pass-instrument-py"><span class="std std-ref">How to Use TVM Pass Instrument</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_instrument.py</span></code>)</p></td>
-<td><p>00:02.952</p></td>
+<td><p>00:02.874</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="use_pass_infra.html#sphx-glr-how-to-extend-tvm-use-pass-infra-py"><span class="std std-ref">How to Use TVM Pass Infra</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_infra.py</span></code>)</p></td>
-<td><p>00:01.278</p></td>
+<td><p>00:01.247</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="low_level_custom_pass.html#sphx-glr-how-to-extend-tvm-low-level-custom-pass-py"><span class="std std-ref">Writing a Customized Pass</span></a> (<code class="docutils literal notranslate"><span class="pre">low_level_custom_pass.py</span></code>)</p></td>
-<td><p>00:00.008</p></td>
+<td><p>00:00.009</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index 4d2996b27e..57be7e6101 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -545,10 +545,10 @@ profile the execution time of each passes.</p>
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 25609us [25609us] (48.41%; 48.41%)
-FoldScaleAxis: 27294us [9us] (51.59%; 51.59%)
- FoldConstant: 27285us [1888us] (51.58%; 99.97%)
- InferType: 25397us [25397us] (48.01%; 93.08%)
+InferType: 25920us [25920us] (48.50%; 48.50%)
+FoldScaleAxis: 27528us [8us] (51.50%; 51.50%)
+ FoldConstant: 27520us [1840us] (51.49%; 99.97%)
+ InferType: 25680us [25680us] (48.05%; 93.31%)
</pre></div>
</div>
</div>
@@ -570,10 +570,10 @@ Refer to following sections and <a class="reference internal" href="../../refere
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 26182us [26182us] (49.16%; 49.16%)
-FoldScaleAxis: 27080us [9us] (50.84%; 50.84%)
- FoldConstant: 27071us [1902us] (50.83%; 99.97%)
- InferType: 25170us [25170us] (47.26%; 92.98%)
+InferType: 25689us [25689us] (48.34%; 48.34%)
+FoldScaleAxis: 27453us [8us] (51.66%; 51.66%)
+ FoldConstant: 27445us [1865us] (51.64%; 99.97%)
+ InferType: 25581us [25581us] (48.14%; 93.21%)
</pre></div>
</div>
<p>Register empty list to clear existing instruments.</p>
diff --git a/docs/how_to/optimize_operators/opt_conv_cuda.html b/docs/how_to/optimize_operators/opt_conv_cuda.html
index c03eadba78..3690901f27 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -595,7 +595,7 @@ latency of convolution.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Convolution: </span><span class="si">%f</span><span class="s2"> ms"</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">*</span> <span cl [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 53.523071 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 53.517055 ms
</pre></div>
</div>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-optimize-operators-opt-conv-cuda-py">
diff --git a/docs/how_to/optimize_operators/opt_conv_tensorcore.html b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
index 9e4b3d7531..3d4aaadc34 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -877,7 +877,7 @@ be able to run on our build server</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"conv2d with tensor core: </span><span class="si">%f</span><span class="s2"> ms"</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">* [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 12.263834 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 12.274087 ms
</pre></div>
</div>
</div>
diff --git a/docs/how_to/optimize_operators/opt_gemm.html b/docs/how_to/optimize_operators/opt_gemm.html
index 1e06568474..efe357a9a3 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -492,8 +492,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
<span class="nb">print</span><span class="p">(</span><span class="s2">"Baseline: </span><span class="si">%f</span><span class="s2">"</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.019813
-Baseline: 3.481242
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.017465
+Baseline: 3.126014
</pre></div>
</div>
<p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -552,7 +552,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt1: </span><span class="si">%f</span><span class="s2">"</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.339423
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.288423
</pre></div>
</div>
<p>Here is the generated IR after blocking.</p>
@@ -609,7 +609,7 @@ vastly.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt2: </span><span class="si">%f</span><span class="s2">"</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.307871
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.276281
</pre></div>
</div>
<p>Here is the generated IR after vectorization.</p>
@@ -664,7 +664,7 @@ the access pattern for A matrix is more cache friendly.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt3: </span><span class="si">%f</span><span class="s2">"</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.121810
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.115293
</pre></div>
</div>
<p>Here is the generated IR after loop permutation.</p>
@@ -741,7 +741,7 @@ flattening.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt4: </span><span class="si">%f</span><span class="s2">"</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.108149
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.104790
</pre></div>
</div>
<p>Here is the generated IR after array packing.</p>
@@ -819,7 +819,7 @@ write to C when all the block results are ready.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt5: </span><span class="si">%f</span><span class="s2">"</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.114367
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.110085
</pre></div>
</div>
<p>Here is the generated IR after blocking.</p>
@@ -899,7 +899,7 @@ class Module:
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt6: </span><span class="si">%f</span><span class="s2">"</span> <span class="o">%</span> <span class="n">opt6_time</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.135896
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.130009
</pre></div>
</div>
<p>Here is the generated IR after parallelization.</p>
diff --git a/docs/how_to/optimize_operators/sg_execution_times.html b/docs/how_to/optimize_operators/sg_execution_times.html
index eebba61be8..3a550ab73e 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-optimize-operators-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:35.656</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:32.741</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -369,15 +369,15 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py"><span class="std std-ref">How to optimize GEMM on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_gemm.py</span></code>)</p></td>
-<td><p>00:32.350</p></td>
+<td><p>00:29.748</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="opt_conv_tensorcore.html#sphx-glr-how-to-optimize-operators-opt-conv-tensorcore-py"><span class="std std-ref">How to optimize convolution using TensorCores</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_tensorcore.py</span></code>)</p></td>
-<td><p>00:02.011</p></td>
+<td><p>00:01.804</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="opt_conv_cuda.html#sphx-glr-how-to-optimize-operators-opt-conv-cuda-py"><span class="std std-ref">How to optimize convolution on GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_cuda.py</span></code>)</p></td>
-<td><p>00:01.296</p></td>
+<td><p>00:01.188</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
index bcd1aa1b8d..7706c0330f 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-tune-with-autoscheduler-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>03:48.645</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>03:36.029</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 85%" />
@@ -369,27 +369,27 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_network_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-x86-py"><span class="std std-ref">Auto-scheduling a Neural Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_x86.py</span></code>)</p></td>
-<td><p>01:40.108</p></td>
+<td><p>01:33.446</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_network_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-cuda-py"><span class="std std-ref">Auto-scheduling a Neural Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_cuda.py</span></code>)</p></td>
-<td><p>01:15.734</p></td>
+<td><p>01:12.267</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_network_arm.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-arm-py"><span class="std std-ref">Auto-scheduling a Neural Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_arm.py</span></code>)</p></td>
-<td><p>00:19.143</p></td>
+<td><p>00:17.931</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_network_mali.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-mali-py"><span class="std std-ref">Auto-scheduling a Neural Network for mali GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_mali.py</span></code>)</p></td>
-<td><p>00:17.269</p></td>
+<td><p>00:16.533</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_conv2d_layer_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py"><span class="std std-ref">Auto-scheduling a Convolution Layer for GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_layer_cuda.py</span></code>)</p></td>
-<td><p>00:16.289</p></td>
+<td><p>00:15.750</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></td>
-<td><p>00:00.103</p></td>
+<td><p>00:00.102</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
index f2d1bfb2a1..13a93a7762 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -923,7 +923,7 @@ so we can read the log file and load the best schedules.</p>
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 3.2135 3.2136 3.2138 3.2132 0.0003
+ 3.2060 3.2059 3.2063 3.2058 0.0002
</pre></div>
</div>
</div>
@@ -945,7 +945,7 @@ to learn how to use the RPC Tracker and RPC Server.
To use the RPC Tracker in auto-scheduler, replace the runner in <code class="code docutils literal notranslate"><span class="pre">TuningOptions</span></code>
with <a class="reference internal" href="../../reference/api/python/auto_scheduler.html#tvm.auto_scheduler.RPCRunner" title="tvm.auto_scheduler.RPCRunner"><code class="xref any py py-class docutils literal notranslate"><span class="pre">auto_scheduler.RPCRunner</span></code></a>.</p></li>
</ol>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 15.734 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 12.267 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-cuda-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/eafe360d52540634c9eea0fa89e804bd/tune_network_cuda.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_network_cuda.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
index 87afd0f7cc..23462cd088 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -945,7 +945,7 @@ so we can read the log file and load the best schedules.</p>
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 757.9969 757.9974 758.5408 757.4526 0.4443
+ 746.5680 746.9437 747.2791 745.4812 0.7806
</pre></div>
</div>
</div>
@@ -967,7 +967,7 @@ to learn how to use the RPC Tracker and RPC Server.
To use the RPC Tracker in auto-scheduler, replace the runner in <code class="code docutils literal notranslate"><span class="pre">TuningOptions</span></code>
with <a class="reference internal" href="../../reference/api/python/auto_scheduler.html#tvm.auto_scheduler.RPCRunner" title="tvm.auto_scheduler.RPCRunner"><code class="xref any py py-class docutils literal notranslate"><span class="pre">auto_scheduler.RPCRunner</span></code></a>.</p></li>
</ol>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 40.108 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 33.446 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-x86-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_network_x86.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autotvm/sg_execution_times.html b/docs/how_to/tune_with_autotvm/sg_execution_times.html
index 5948dc49fd..2b98a53f32 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-tune-with-autotvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:23.921</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:24.114</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -369,7 +369,7 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_conv2d_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-conv2d-cuda-py"><span class="std std-ref">Tuning High Performance Convolution on NVIDIA GPUs</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_cuda.py</span></code>)</p></td>
-<td><p>00:23.881</p></td>
+<td><p>00:24.076</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></td>
@@ -377,7 +377,7 @@
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_relay_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-cuda-py"><span class="std std-ref">Auto-tuning a Convolutional Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_cuda.py</span></code>)</p></td>
-<td><p>00:00.006</p></td>
+<td><p>00:00.005</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></td>
diff --git a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
index 65cd515a86..be84456172 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -630,7 +630,7 @@ and measure running time.</p>
Best config:
,None
-Time cost of this operator: 0.037282
+Time cost of this operator: 0.037256
</pre></div>
</div>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autotvm-tune-conv2d-cuda-py">
diff --git a/docs/how_to/work_with_microtvm/micro_autotune.html b/docs/how_to/work_with_microtvm/micro_autotune.html
index b27d66030a..24a026accd 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -664,10 +664,10 @@ the tuned operator.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build without Autotuning ##########
Node Name Ops Time(us) Time(%) Shape Inputs Outputs Measurements(us)
--------- --- -------- ------- ----- ------ ------- ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 303.1 98.733 (1, 2, 10, 10, 3) 2 1 [303.1]
-tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 2.913 0.949 (1, 6, 10, 10) 1 1 [2.913]
-tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.977 0.318 (1, 1, 10, 10, 3) 1 1 [0.977]
-Total_time - 306.989 - - - - -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 305.2 98.747 (1, 2, 10, 10, 3) 2 1 [305.2]
+tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 2.903 0.939 (1, 6, 10, 10) 1 1 [2.903]
+tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.969 0.314 (1, 1, 10, 10, 3) 1 1 [0.969]
+Total_time - 309.073 - - - - -
</pre></div>
</div>
</div>
@@ -719,13 +719,13 @@ Total_time -
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build with Autotuning ##########
Node Name Ops Time(us) Time(%) Shape Inputs Outputs Measurements(us)
--------- --- -------- ------- ----- ------ ------- ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 103.2 97.485 (1, 6, 10, 10, 1) 2 1 [103.2]
-tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.818 1.717 (1, 6, 10, 10) 1 1 [1.818]
-tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.845 0.798 (1, 3, 10, 10, 1) 1 1 [0.845]
-Total_time - 105.863 - - - - -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 101.0 97.34 (1, 6, 10, 10, 1) 2 1 [101.0]
+tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.788 1.723 (1, 6, 10, 10) 1 1 [1.788]
+tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.972 0.937 (1, 1, 10, 10, 3) 1 1 [0.972]
+Total_time - 103.76 - - - - -
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 29.889 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 27.305 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/9ccca8fd489a1486ac71b55a55c320c5/micro_autotune.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">micro_autotune.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/micro_pytorch.html b/docs/how_to/work_with_microtvm/micro_pytorch.html
index 1d6c7e8155..9b4532e5e0 100644
--- a/docs/how_to/work_with_microtvm/micro_pytorch.html
+++ b/docs/how_to/work_with_microtvm/micro_pytorch.html
@@ -475,8 +475,7 @@ download a cat image and preprocess it to use as the model input.</p>
Downloading: "https://download.pytorch.org/models/quantized/mobilenet_v2_qnnpack_37f702c5.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2_qnnpack_37f702c5.pth
0%| | 0.00/3.42M [00:00<?, ?B/s]
- 61%|###### | 2.09M/3.42M [00:00<00:00, 18.0MB/s]
-100%|##########| 3.42M/3.42M [00:00<00:00, 28.4MB/s]
+100%|##########| 3.42M/3.42M [00:00<00:00, 189MB/s]
/venv/apache-tvm-py3.8/lib/python3.8/site-packages/torch/_utils.py:314: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
device=storage.device,
/workspace/python/tvm/relay/frontend/pytorch_utils.py:47: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
@@ -604,7 +603,7 @@ via the host <cite>main.cc`</cite> or if a Zephyr emulated board is selected as
Torch top-1 id: 282, class name: tiger cat
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 34.832 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 28.831 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-pytorch-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/12b9ecc04c41abaa12022061771821d1/micro_pytorch.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">micro_pytorch.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/micro_train.html b/docs/how_to/work_with_microtvm/micro_train.html
index b1ed2d83da..735efa245e 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -543,7 +543,7 @@ take about <strong>2 minutes</strong> to download the Stanford Cars, while COCO
<a href="https://docs.python.org/3/library/shutil.html#shutil.move" title="shutil.move" class="sphx-glr-backref-module-shutil sphx-glr-backref-type-py-function"><span class="n">shutil</span><span class="o">.</span><span class="n">move</span></a><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><a href="https://docs.python.org/3/library/stdtypes.html#str" title="builtins.str" class="sphx-glr-backref-module-builtins sphx-glr-backref-typ [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>'/tmp/tmpcwux15ym/images/random'
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>'/tmp/tmppqwohwxs/images/random'
</pre></div>
</div>
</div>
@@ -603,8 +603,8 @@ objects to other stuff? We can display some examples from our datasets using <co
<span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">"off"</span><span class="p">)</span>
</pre></div>
</div>
-<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpcwux15ym/images/target contains 8144 images
-/tmp/tmpcwux15ym/images/random contains 5000 images
+<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmppqwohwxs/images/target contains 8144 images
+/tmp/tmppqwohwxs/images/random contains 5000 images
</pre></div>
</div>
</div>
@@ -716,13 +716,13 @@ the time on our validation set).</p>
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Epoch 1/3
-328/328 - 39s - loss: 0.2187 - accuracy: 0.9260 - val_loss: 0.1092 - val_accuracy: 0.9619 - 39s/epoch - 119ms/step
+328/328 - 40s - loss: 0.2229 - accuracy: 0.9233 - val_loss: 0.1172 - val_accuracy: 0.9543 - 40s/epoch - 121ms/step
Epoch 2/3
-328/328 - 36s - loss: 0.0969 - accuracy: 0.9650 - val_loss: 0.1172 - val_accuracy: 0.9585 - 36s/epoch - 109ms/step
+328/328 - 35s - loss: 0.1054 - accuracy: 0.9610 - val_loss: 0.0970 - val_accuracy: 0.9664 - 35s/epoch - 108ms/step
Epoch 3/3
-328/328 - 36s - loss: 0.0664 - accuracy: 0.9747 - val_loss: 0.1062 - val_accuracy: 0.9611 - 36s/epoch - 109ms/step
+328/328 - 35s - loss: 0.0655 - accuracy: 0.9765 - val_loss: 0.1028 - val_accuracy: 0.9641 - 35s/epoch - 108ms/step
-<keras.callbacks.History object at 0x7ef8b251fc70>
+<keras.callbacks.History object at 0x7f249c53f730>
</pre></div>
</div>
</div>
@@ -986,7 +986,7 @@ as intended.</p>
<p>From here, we could modify the model to read live images from the camera - we have another
Arduino tutorial for how to do that <a class="reference external" href="https://github.com/guberti/tvm-arduino-demos/tree/master/examples/person_detection">on GitHub</a>. Alternatively, we could also
<a class="reference external" href="https://tvm.apache.org/docs/how_to/work_with_microtvm/micro_autotune.html">use TVM’s autotuning capabilities</a> to dramatically improve the model’s performance.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes 34.770 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes 14.222 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-train-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/b52cec46baf4f78d6bcd94cbe269c8a6/micro_train.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">micro_train.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/sg_execution_times.html b/docs/how_to/work_with_microtvm/sg_execution_times.html
index 8d5b5440e1..9deef81917 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-work-with-microtvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>08:09.830</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>07:40.394</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 82%" />
@@ -369,27 +369,27 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_train.html#sphx-glr-how-to-work-with-microtvm-micro-train-py"><span class="std std-ref">5. Training Vision Models for microTVM on Arduino</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_train.py</span></code>)</p></td>
-<td><p>04:34.770</p></td>
+<td><p>04:14.222</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_pytorch.html#sphx-glr-how-to-work-with-microtvm-micro-pytorch-py"><span class="std std-ref">4. microTVM PyTorch Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_pytorch.py</span></code>)</p></td>
-<td><p>01:34.832</p></td>
+<td><p>01:28.831</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">6. Model Tuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>01:29.889</p></td>
+<td><p>01:27.305</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_aot.html#sphx-glr-how-to-work-with-microtvm-micro-aot-py"><span class="std std-ref">3. microTVM Ahead-of-Time (AOT) Compilation</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_aot.py</span></code>)</p></td>
-<td><p>00:12.932</p></td>
+<td><p>00:12.145</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_custom_ide.html#sphx-glr-how-to-work-with-microtvm-micro-custom-ide-py"><span class="std std-ref">9. Bring microTVM to your own development environment</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_custom_ide.py</span></code>)</p></td>
-<td><p>00:09.253</p></td>
+<td><p>00:09.124</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">2. microTVM TFLite Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></td>
-<td><p>00:08.154</p></td>
+<td><p>00:08.766</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_ethosu.html#sphx-glr-how-to-work-with-microtvm-micro-ethosu-py"><span class="std std-ref">7. Running TVM on bare metal Arm(R) Cortex(R)-M55 CPU and Ethos(TM)-U55 NPU with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></td>
diff --git a/docs/how_to/work_with_relay/sg_execution_times.html b/docs/how_to/work_with_relay/sg_execution_times.html
index 392c59eda2..a0571b535c 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-work-with-relay-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:39.563</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:38.490</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -369,19 +369,19 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="using_pipeline_executor.html#sphx-glr-how-to-work-with-relay-using-pipeline-executor-py"><span class="std std-ref">Using Pipeline Executor in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_pipeline_executor.py</span></code>)</p></td>
-<td><p>00:34.158</p></td>
+<td><p>00:33.350</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="using_external_lib.html#sphx-glr-how-to-work-with-relay-using-external-lib-py"><span class="std std-ref">Using External Libraries in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_external_lib.py</span></code>)</p></td>
-<td><p>00:03.270</p></td>
+<td><p>00:03.184</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="build_gcn.html#sphx-glr-how-to-work-with-relay-build-gcn-py"><span class="std std-ref">Building a Graph Convolutional Network</span></a> (<code class="docutils literal notranslate"><span class="pre">build_gcn.py</span></code>)</p></td>
-<td><p>00:02.128</p></td>
+<td><p>00:01.949</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="using_relay_viz.html#sphx-glr-how-to-work-with-relay-using-relay-viz-py"><span class="std std-ref">Use Relay Visualizer to Visualize Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_relay_viz.py</span></code>)</p></td>
-<td><p>00:00.007</p></td>
+<td><p>00:00.006</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/how_to/work_with_schedules/intrin_math.html b/docs/how_to/work_with_schedules/intrin_math.html
index 53b32e2170..852481c6e7 100644
--- a/docs/how_to/work_with_schedules/intrin_math.html
+++ b/docs/how_to/work_with_schedules/intrin_math.html
@@ -572,7 +572,7 @@ The following example customizes CUDA lowering rule for <code class="code docuti
<a href="../../reference/api/python/ir.html#tvm.ir.register_intrin_lowering" title="tvm.ir.register_intrin_lowering" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-function"><span class="n">register_intrin_lowering</span></a><span class="p">(</span><span class="s2">"tir.exp"</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s2">"cuda"</span><span class="p">,</span> <span class="n">f</span><span class="o">= [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span><function my_cuda_math_rule at 0x7ef8b44aad30>
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span><function my_cuda_math_rule at 0x7f295e49b8b0>
</pre></div>
</div>
<p>Register the rule to TVM with override option to override existing rule.
diff --git a/docs/how_to/work_with_schedules/sg_execution_times.html b/docs/how_to/work_with_schedules/sg_execution_times.html
index 1f9548330e..9138c35249 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -360,7 +360,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-work-with-schedules-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:05.780</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:06.018</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -369,35 +369,35 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="intrin_math.html#sphx-glr-how-to-work-with-schedules-intrin-math-py"><span class="std std-ref">Intrinsics and Math Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">intrin_math.py</span></code>)</p></td>
-<td><p>00:02.737</p></td>
+<td><p>00:02.531</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tensorize.html#sphx-glr-how-to-work-with-schedules-tensorize-py"><span class="std std-ref">Use Tensorize to Leverage Hardware Intrinsics</span></a> (<code class="docutils literal notranslate"><span class="pre">tensorize.py</span></code>)</p></td>
-<td><p>00:01.178</p></td>
+<td><p>00:01.763</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="reduction.html#sphx-glr-how-to-work-with-schedules-reduction-py"><span class="std std-ref">Reduction</span></a> (<code class="docutils literal notranslate"><span class="pre">reduction.py</span></code>)</p></td>
-<td><p>00:00.782</p></td>
+<td><p>00:00.727</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="scan.html#sphx-glr-how-to-work-with-schedules-scan-py"><span class="std std-ref">Scan and Recurrent Kernel</span></a> (<code class="docutils literal notranslate"><span class="pre">scan.py</span></code>)</p></td>
-<td><p>00:00.767</p></td>
+<td><p>00:00.709</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="extern_op.html#sphx-glr-how-to-work-with-schedules-extern-op-py"><span class="std std-ref">External Tensor Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">extern_op.py</span></code>)</p></td>
-<td><p>00:00.134</p></td>
+<td><p>00:00.121</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="schedule_primitives.html#sphx-glr-how-to-work-with-schedules-schedule-primitives-py"><span class="std std-ref">Schedule Primitives in TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">schedule_primitives.py</span></code>)</p></td>
-<td><p>00:00.080</p></td>
+<td><p>00:00.070</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></td>
-<td><p>00:00.070</p></td>
+<td><p>00:00.065</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></td>
-<td><p>00:00.033</p></td>
+<td><p>00:00.032</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/objects.inv b/docs/objects.inv
index a2c45b1dc2..ecd81fb949 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index 771de6c951..e6a7a947c5 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -353,179 +353,181 @@ $(function() {
<tr id="row_1_5_30_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html" target="_self">Pool1DAttrs</a></td><td class="desc">Attributes used in max_pool1d and avg_pool1d operator </td></tr>
<tr id="row_1_5_31_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html" target="_self">Pool2DAttrs</a></td><td class="desc">Attributes used in max_pool2d and avg_pool2d operator </td></tr>
<tr id="row_1_5_32_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html" target="_self">Pool3DAttrs</a></td><td class="desc">Attributes used in max_pool3d and avg_pool3d operator </td></tr>
-<tr id="row_1_5_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html" target="_self">AdaptivePool2DAttrs</a></td><td class="desc">Attributes for 2d adaptive pool operator </td></tr>
-<tr id="row_1_5_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_1_5_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_1_5_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BatchNormAttrs.html" target="_self">BatchNormAttrs</a></td><td class="desc">Attributes used in batch_norm operator </td></tr>
-<tr id="row_1_5_37_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
-<tr id="row_1_5_38_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
-<tr id="row_1_5_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1RMSNormAttrs.html" target="_self">RMSNormAttrs</a></td><td class="desc">Attributes used in rms_norm operator </td></tr>
-<tr id="row_1_5_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in nll_loss operator </td></tr>
-<tr id="row_1_5_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
-<tr id="row_1_5_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AttentionAttrs.html" target="_self">AttentionAttrs</a></td><td class="desc">Attributes used in Attention operator </td></tr>
-<tr id="row_1_5_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
-<tr id="row_1_5_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallTIRWithGradAttrs.html" target="_self">CallTIRWithGradAttrs</a></td><td class="desc">Attributes used in call_tir_with_grad </td></tr>
-<tr id="row_1_5_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallTIRInplaceAttrs.html" target="_self">CallTIRInplaceAttrs</a></td><td class="desc">Attributes used in call_tir_inplace </td></tr>
-<tr id="row_1_5_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallInplacePackedAttrs.html" target="_self">CallInplacePackedAttrs</a></td><td class="desc">Attributes used in call_inplace_packed </td></tr>
-<tr id="row_1_5_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ToVDeviceAttrs.html" target="_self">ToVDeviceAttrs</a></td><td class="desc">Attributes used in to_vdevice </td></tr>
-<tr id="row_1_5_48_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1HintOnDeviceAttrs.html" target="_self">HintOnDeviceAttrs</a></td><td class="desc">Attributes used in hint_on_device </td></tr>
-<tr id="row_1_5_49_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1QuantizeAttrs.html" target="_self">QuantizeAttrs</a></td><td class="desc">Attributes for relax.quantize/relax.dequantize operator </td></tr>
-<tr id="row_1_5_50_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ArgmaxArgminAttrs.html" target="_self">ArgmaxArgminAttrs</a></td><td class="desc">Attributes for search operators </td></tr>
-<tr id="row_1_5_51_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SortAttrs.html" target="_self">SortAttrs</a></td><td class="desc">Attributes used in sort operator </td></tr>
-<tr id="row_1_5_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ArgsortAttrs.html" target="_self">ArgsortAttrs</a></td><td class="desc">Attributes used in argsort operator </td></tr>
-<tr id="row_1_5_53_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc">Attributes used in topk operator </td></tr>
-<tr id="row_1_5_54_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1StatisticalAttrs.html" target="_self">StatisticalAttrs</a></td><td class="desc">Attributes for statistical operators </td></tr>
-<tr id="row_1_5_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in scan operators like cumsum, cumprod </td></tr>
-<tr id="row_1_5_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_self">DataflowBlockRewriteNode</a></td><td class="desc">Statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
-<tr id="row_1_5_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewrite.html" target="_self">DataflowBlockRewrite</a></td><td class="desc">A statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
-<tr id="row_1_5_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_self">BlockBuilderNode</a></td><td class="desc">A builder to build Relax binding blocks </td></tr>
-<tr id="row_1_5_59_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_5_59_" class="arrow" onclick="toggleFolder('1_5_59_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilder.html" target="_self">BlockBuilder</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_59_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BlockBuilder_1_1DisableOperatorSpecificNormalizationForTVMScript.html" target="_self">DisableOperatorSpecificNormalizationForTVMScript</a></td><td class="desc">A marker struct to disable FNormalize </td></tr>
-<tr id="row_1_5_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
-<tr id="row_1_5_61_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPattern.html" target="_self">DFPattern</a></td><td class="desc">Managed reference to dataflow patterns </td></tr>
-<tr id="row_1_5_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PairCons.html" target="_self">PairCons</a></td><td class="desc">Constraint of a <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> edge (producer -> consumer) in graph-level matching </td></tr>
-<tr id="row_1_5_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_self">DFConstraintNode</a></td><td class="desc">Additional constraints on the graph </td></tr>
-<tr id="row_1_5_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFConstraint.html" target="_self">DFConstraint</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternSeqNode.html" target="_self">PatternSeqNode</a></td><td class="desc">A sequence of DFPatterns that the previous <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> is connected to the next [...]
-<tr id="row_1_5_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternSeq.html" target="_self">PatternSeq</a></td><td class="desc">Managed reference to pattern sequences </td></tr>
-<tr id="row_1_5_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternContextNode.html" target="_self">PatternContextNode</a></td><td class="desc">A context to manage the graph-level pattern matching </td></tr>
-<tr id="row_1_5_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternContext.html" target="_self">PatternContext</a></td><td class="desc">Managed reference to a pattern context </td></tr>
-<tr id="row_1_5_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprPatternNode.html" target="_self">ExprPatternNode</a></td><td class="desc">Pattern for Relax Expression </td></tr>
-<tr id="row_1_5_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">Managed reference to an <a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" title="Managed reference to an ExprPattern.">ExprPattern</a> </td></tr>
-<tr id="row_1_5_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Variable </td></tr>
-<tr id="row_1_5_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1VarPattern.html" title="Managed reference to a VarPattern.">VarPattern</a> </td></tr>
-<tr id="row_1_5_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarPatternNode.html" target="_self">DataflowVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Dataflow Variable </td></tr>
-<tr id="row_1_5_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" target="_self">DataflowVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" title="Managed reference to a DataflowVarPattern.">DataflowVarPattern</a> </td></tr>
-<tr id="row_1_5_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1GlobalVarPatternNode.html" target="_self">GlobalVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Global Variable </td></tr>
-<tr id="row_1_5_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" target="_self">GlobalVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" title="Managed reference to a GlobalVarPattern.">GlobalVarPattern</a> </td></tr>
-<tr id="row_1_5_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantPatternNode.html" target="_self">ConstantPatternNode</a></td><td class="desc">A Pattern to Match a Relax <a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> </td></tr>
-<tr id="row_1_5_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" target="_self">ConstantPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" title="Managed reference to a ConstantPattern.">ConstantPattern</a> </td></tr>
-<tr id="row_1_5_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallPatternNode.html" target="_self">CallPatternNode</a></td><td class="desc">A pattern to match a callable node in Relax </td></tr>
-<tr id="row_1_5_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallPattern.html" target="_self">CallPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimArrPatternNode.html" target="_self">PrimArrPatternNode</a></td><td class="desc">A pattern to match an array of <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
-<tr id="row_1_5_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" target="_self">PrimArrPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" title="Managed reference to a PrimArrPattern.">PrimArrPattern</a> </td></tr>
-<tr id="row_1_5_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" target="_self">FunctionPatternNode</a></td><td class="desc">A pattern to match a Relax <a class="el" href="classtvm_1_1relax_1_1Function.html">Function</a> </td></tr>
-<tr id="row_1_5_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionPattern.html" target="_self">FunctionPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" title="A pattern to match a Relax Function.">FunctionPatternNode</a> </td></tr>
-<tr id="row_1_5_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc">Pattern to match a tuple of ordered expressions </td></tr>
-<tr id="row_1_5_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" title="Pattern to match a tuple of ordered expressions.">TuplePatternNode</a> </td></tr>
-<tr id="row_1_5_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" target="_self">UnorderedTuplePatternNode</a></td><td class="desc">A pattern to match multiple expressions unorderedly </td></tr>
-<tr id="row_1_5_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePattern.html" target="_self">UnorderedTuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" title="A pattern to match multiple expressions unorderedly.">UnorderedTuplePatt [...]
-<tr id="row_1_5_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc">A pattern to match n'th indexing to a tuple </td></tr>
-<tr id="row_1_5_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" title="A pattern to match n'th indexing to a tuple.">TupleGetItemPatternNode</a> [...]
-<tr id="row_1_5_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" target="_self">AndPatternNode</a></td><td class="desc">Match a conjunction of other patterns </td></tr>
-<tr id="row_1_5_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AndPattern.html" target="_self">AndPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" title="Match a conjunction of other patterns.">AndPatternNode</a> </td></tr>
-<tr id="row_1_5_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" target="_self">OrPatternNode</a></td><td class="desc">Match a disjunction of other patterns </td></tr>
-<tr id="row_1_5_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1OrPattern.html" target="_self">OrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" title="Match a disjunction of other patterns.">OrPatternNode</a> </td></tr>
-<tr id="row_1_5_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" target="_self">NotPatternNode</a></td><td class="desc">Pattern for rejecting a certain pattern </td></tr>
-<tr id="row_1_5_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NotPattern.html" target="_self">NotPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" title="Pattern for rejecting a certain pattern.">NotPatternNode</a> </td></tr>
-<tr id="row_1_5_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard Pattern is a pattern that can match anything </td></tr>
-<tr id="row_1_5_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" title="Wildcard Pattern is a pattern that can match anything.">WildcardPatternNode</a> </td></tr>
-<tr id="row_1_5_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TypePatternNode.html" target="_self">TypePatternNode</a></td><td class="desc">Pattern for matching a certain type </td></tr>
-<tr id="row_1_5_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TypePattern.html" target="_self">TypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TypePatternNode.html" title="Pattern for matching a certain type.">TypePatternNode</a> </td></tr>
-<tr id="row_1_5_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoPatternNode.html" target="_self">StructInfoPatternNode</a></td><td class="desc">Pattern for matching a certain struct info </td></tr>
-<tr id="row_1_5_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoPattern.html" target="_self">StructInfoPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain shape </td></tr>
-<tr id="row_1_5_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" title="A pattern that asserting a root pattern has a certain shape.">ShapePatternNode</a> </td></tr>
-<tr id="row_1_5_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraintNode.html" target="_self">SameShapeConstraintNode</a></td><td class="desc">A pattern that asserting multiple root patterns have the same shape </td></tr>
-<tr id="row_1_5_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraint.html" target="_self">SameShapeConstraint</a></td><td class="desc">Managed reference to SameShapePatternNode </td></tr>
-<tr id="row_1_5_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" target="_self">DataTypePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain data type </td></tr>
-<tr id="row_1_5_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypePattern.html" target="_self">DataTypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" title="A pattern that asserting a root pattern has a certain data type.">DataTypePatternNode</a> [...]
-<tr id="row_1_5_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" target="_self">AttrPatternNode</a></td><td class="desc">A pattern that asserting a root pattern has certain attributes </td></tr>
-<tr id="row_1_5_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AttrPattern.html" target="_self">AttrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" title="A pattern that asserting a root pattern has certain attributes.">AttrPatternNode</a> </td></tr>
-<tr id="row_1_5_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" target="_self">ExternFuncPatternNode</a></td><td class="desc">A pattern of external function </td></tr>
-<tr id="row_1_5_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncPattern.html" target="_self">ExternFuncPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" title="A pattern of external function.">ExternFuncPatternNode</a> </td></tr>
-<tr id="row_1_5_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor.html" target="_self">DFPatternFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> argument </ [...]
-<tr id="row_1_5_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">DFPatternFunctor< R(const DFPattern &n, Args...)></a></td><td class="desc"></td></tr>
-<tr id="row_1_5_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternVisitor.html" target="_self">DFPatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor.html" title="A dynamical functor that dispatches on in the first DFPattern argument.">DFPatt [...]
-<tr id="row_1_5_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExecBuilderNode.html" target="_self">ExecBuilderNode</a></td><td class="desc">A builder provides api to build VM executable with instructions </td></tr>
-<tr id="row_1_5_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExecBuilder.html" target="_self">ExecBuilder</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
-<tr id="row_1_5_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" target="_self">StructInfoNode</a></td><td class="desc">Base type of all structure information </td></tr>
-<tr id="row_1_5_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" target="_self">StructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" title="Base type of all structure information.">StructInfoNode</a> </td></tr>
-<tr id="row_1_5_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallNode.html" target="_self">CallNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> corresponds to callable invocation. Corresponds to operation in computational graph terminology </td></tr>
-<tr id="row_1_5_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Call.html" target="_self">Call</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_124_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1IfNode.html" target="_self">IfNode</a></td><td class="desc">Condition expression </td></tr>
-<tr id="row_1_5_125_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_126_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tuple</a> container </td></tr>
-<tr id="row_1_5_127_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_128_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc">Get index-th field out of a tuple </td></tr>
-<tr id="row_1_5_129_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_130_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1LeafExprNode.html" target="_self">LeafExprNode</a></td><td class="desc">Base type of all (non-function) leaf Exprs </td></tr>
-<tr id="row_1_5_131_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1LeafExpr.html" target="_self">LeafExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseExprNode.html" title="Base type of all the expressions.">BaseExprNode</a> </td></tr>
-<tr id="row_1_5_132_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeExprNode.html" target="_self">ShapeExprNode</a></td><td class="desc">A shape expression which allows users to construct a shape containing <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
-<tr id="row_1_5_133_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeExpr.html" target="_self">ShapeExpr</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_134_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">The variable class for all Relax bindings </td></tr>
-<tr id="row_1_5_135_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_136_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarNode.html" target="_self">DataflowVarNode</a></td><td class="desc">A sub-type of the variable node used to mark dataflow variables from normal visible "function local" bindings </td></tr>
-<tr id="row_1_5_137_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVar.html" target="_self">DataflowVar</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_138_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantNode.html" target="_self">ConstantNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> tensor </td></tr>
-<tr id="row_1_5_139_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Constant.html" target="_self">Constant</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_140_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" target="_self">PrimValueNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" title="Managed reference to PrimValueNode.">PrimValue</a> </td></tr>
-<tr id="row_1_5_141_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" target="_self">PrimValue</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" title="PrimValue.">PrimValueNode</a> </td></tr>
-<tr id="row_1_5_142_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StringImmNode.html" target="_self">StringImmNode</a></td><td class="desc">Represent a string literal constant </td></tr>
-<tr id="row_1_5_143_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StringImm.html" target="_self">StringImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StringImm.html" title="Managed reference to StringImm.">StringImm</a> </td></tr>
-<tr id="row_1_5_144_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypeImmNode.html" target="_self">DataTypeImmNode</a></td><td class="desc">Represent a data type constant </td></tr>
-<tr id="row_1_5_145_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" target="_self">DataTypeImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" title="Managed reference to DataTypeImm.">DataTypeImm</a> </td></tr>
-<tr id="row_1_5_146_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingNode.html" target="_self">BindingNode</a></td><td class="desc">The base class of a variable binding in Relax </td></tr>
-<tr id="row_1_5_147_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Binding.html" target="_self">Binding</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_148_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" target="_self">MatchCastNode</a></td><td class="desc">Runtime-match the value to the struct info </td></tr>
-<tr id="row_1_5_149_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchCast.html" target="_self">MatchCast</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" title="Runtime-match the value to the struct info.">MatchCastNode</a> </td></tr>
-<tr id="row_1_5_150_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarBindingNode.html" target="_self">VarBindingNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_151_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarBinding.html" target="_self">VarBinding</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_152_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_self">BindingBlockNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_153_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingBlock.html" target="_self">BindingBlock</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_154_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockNode.html" target="_self">DataflowBlockNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_155_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html" target="_self">DataflowBlock</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_156_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SeqExprNode.html" target="_self">SeqExprNode</a></td><td class="desc">A sequence of blocks followed by an expression </td></tr>
-<tr id="row_1_5_157_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SeqExpr.html" target="_self">SeqExpr</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_158_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionNode.html" target="_self">FunctionNode</a></td><td class="desc">A Relax function </td></tr>
-<tr id="row_1_5_159_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Function.html" target="_self">Function</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_160_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncNode.html" target="_self">ExternFuncNode</a></td><td class="desc">The extern function, which can represent packed function </td></tr>
-<tr id="row_1_5_161_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFunc.html" target="_self">ExternFunc</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_162_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprFunctor.html" target="_self">ExprFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerful Visitor, since it allows you to define function signatures of Visit <a class="el" href="c [...]
-<tr id="row_1_5_163_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html" target="_self">ExprFunctor< R(const Expr &n, Args...)></a></td><td class="desc"></td></tr>
-<tr id="row_1_5_164_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprVisitor.html" target="_self">ExprVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more [...]
-<tr id="row_1_5_165_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprMutatorBase.html" target="_self">ExprMutatorBase</a></td><td class="desc">A mutator works in unnormalized form </td></tr>
-<tr id="row_1_5_166_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprMutator.html" target="_self">ExprMutator</a></td><td class="desc">A mutator works in normal form </td></tr>
-<tr id="row_1_5_167_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NestedMsg.html" target="_self">NestedMsg</a></td><td class="desc">Container that stores possibly nested message with leaf message type T </td></tr>
-<tr id="row_1_5_168_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" target="_self">ObjectStructInfoNode</a></td><td class="desc">Opaque object </td></tr>
-<tr id="row_1_5_169_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfo.html" target="_self">ObjectStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" title="Opaque object.">ObjectStructInfoNode</a> </td></tr>
-<tr id="row_1_5_170_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" target="_self">PrimStructInfoNode</a></td><td class="desc">Primitive value </td></tr>
-<tr id="row_1_5_171_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimStructInfo.html" target="_self">PrimStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" title="Primitive value.">PrimStructInfoNode</a> </td></tr>
-<tr id="row_1_5_172_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" target="_self">ShapeStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of shape value </td></tr>
-<tr id="row_1_5_173_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeStructInfo.html" target="_self">ShapeStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" title="StructInfo of shape value.">ShapeStructInfoNode</a> </td></tr>
-<tr id="row_1_5_174_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" target="_self">TensorStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of Tensor </td></tr>
-<tr id="row_1_5_175_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorStructInfo.html" target="_self">TensorStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" title="StructInfo of Tensor.">TensorStructInfoNode</a> </td></tr>
-<tr id="row_1_5_176_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" target="_self">TupleStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of <a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tu [...]
-<tr id="row_1_5_177_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleStructInfo.html" target="_self">TupleStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" title="StructInfo of Tuple.">TupleStructInfoNode</a> </td></tr>
-<tr id="row_1_5_178_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" target="_self">FuncStructInfoNode</a></td><td class="desc">Structure information about function </td></tr>
-<tr id="row_1_5_179_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FuncStructInfo.html" target="_self">FuncStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" title="Structure information about function.">FuncStructInfoNode</a> </td></tr>
-<tr id="row_1_5_180_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoFunctor.html" target="_self">StructInfoFunctor</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_181_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoFunctor_3_01R_07const_01StructInfo_01_6n_00_01Args_8_8_8_08_4.html" target="_self">StructInfoFunctor< R(const StructInfo &n, Args...)></a></td><td class="desc"></td></tr>
-<tr id="row_1_5_182_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoVisitor.html" target="_self">StructInfoVisitor</a></td><td class="desc">A struct info visitor </td></tr>
-<tr id="row_1_5_183_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" target="_self">StructInfoMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" title="StructInfoMutator that mutates struct info.">StructInfoMutator</a> that mutates struct info </td></tr>
-<tr id="row_1_5_184_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html" target="_self">MatchResultNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_185_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchResult.html" target="_self">MatchResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html">MatchResultNode</a> </td></tr>
-<tr id="row_1_5_186_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ChoiceNode.html" target="_self">ChoiceNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Choice.html" title="Managed reference to ChoiceNode.">Choice</a> manages a set of keys for transformation and constraint functions </td></tr>
-<tr id="row_1_5_187_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Choice.html" target="_self">Choice</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ChoiceNode.html" title="Choice manages a set of keys for transformation and constraint functions.">ChoiceNode</a> </td></tr>
-<tr id="row_1_5_188_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1KnobNode.html" target="_self">KnobNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Knob.html" title="Managed reference to KnobNode.">Knob</a> manages a set of valid choices for an optimization </td></tr>
-<tr id="row_1_5_189_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Knob.html" target="_self">Knob</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1KnobNode.html" title="Knob manages a set of valid choices for an optimization.">KnobNode</a> </td></tr>
-<tr id="row_1_5_190_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TraceNode.html" target="_self">TraceNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Trace.html" title="Managed reference to TraceNode.">Trace</a> manages history of optimization decisions </td></tr>
-<tr id="row_1_5_191_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Trace.html" target="_self">Trace</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TraceNode.html" title="Trace manages history of optimization decisions.">TraceNode</a> </td></tr>
-<tr id="row_1_5_192_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuningRecordNode.html" target="_self">TuningRecordNode</a></td><td class="desc">The class of tuning records </td></tr>
-<tr id="row_1_5_193_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuningRecord.html" target="_self">TuningRecord</a></td><td class="desc">The managed reference of <a class="el" href="classtvm_1_1relax_1_1TuningRecordNode.html" title="The class of tuning records.">TuningRecordNode</a> </td></tr>
-<tr id="row_1_5_194_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1WorkloadEqual.html" target="_self">WorkloadEqual</a></td><td class="desc">The equality check for Workload </td></tr>
-<tr id="row_1_5_195_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DatabaseNode.html" target="_self">DatabaseNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_196_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Database.html" target="_self">Database</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DatabaseNode.html">DatabaseNode</a> </td></tr>
-<tr id="row_1_5_197_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeTypeNode.html" target="_self">ShapeTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_198_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeType.html" target="_self">ShapeType</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_199_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectTypeNode.html" target="_self">ObjectTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_200_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectType.html" target="_self">ObjectType</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_201_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DynTensorTypeNode.html" target="_self">DynTensorTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_202_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DynTensorType.html" target="_self">DynTensorType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DynTensorTypeNode.html">DynTensorTypeNode</a> </td></tr>
-<tr id="row_1_5_203_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PackedFuncTypeNode.html" target="_self">PackedFuncTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_204_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PackedFuncType.html" target="_self">PackedFuncType</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool1DAttrs.html" target="_self">AdaptivePool1DAttrs</a></td><td class="desc">Attributes for 1d adaptive pool operator </td></tr>
+<tr id="row_1_5_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html" target="_self">AdaptivePool2DAttrs</a></td><td class="desc">Attributes for 2d adaptive pool operator </td></tr>
+<tr id="row_1_5_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool3DAttrs.html" target="_self">AdaptivePool3DAttrs</a></td><td class="desc">Attributes for 3d adaptive pool operator </td></tr>
+<tr id="row_1_5_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_1_5_37_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_1_5_38_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BatchNormAttrs.html" target="_self">BatchNormAttrs</a></td><td class="desc">Attributes used in batch_norm operator </td></tr>
+<tr id="row_1_5_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
+<tr id="row_1_5_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
+<tr id="row_1_5_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1RMSNormAttrs.html" target="_self">RMSNormAttrs</a></td><td class="desc">Attributes used in rms_norm operator </td></tr>
+<tr id="row_1_5_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in nll_loss operator </td></tr>
+<tr id="row_1_5_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
+<tr id="row_1_5_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AttentionAttrs.html" target="_self">AttentionAttrs</a></td><td class="desc">Attributes used in Attention operator </td></tr>
+<tr id="row_1_5_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
+<tr id="row_1_5_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallTIRWithGradAttrs.html" target="_self">CallTIRWithGradAttrs</a></td><td class="desc">Attributes used in call_tir_with_grad </td></tr>
+<tr id="row_1_5_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallTIRInplaceAttrs.html" target="_self">CallTIRInplaceAttrs</a></td><td class="desc">Attributes used in call_tir_inplace </td></tr>
+<tr id="row_1_5_48_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallInplacePackedAttrs.html" target="_self">CallInplacePackedAttrs</a></td><td class="desc">Attributes used in call_inplace_packed </td></tr>
+<tr id="row_1_5_49_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ToVDeviceAttrs.html" target="_self">ToVDeviceAttrs</a></td><td class="desc">Attributes used in to_vdevice </td></tr>
+<tr id="row_1_5_50_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1HintOnDeviceAttrs.html" target="_self">HintOnDeviceAttrs</a></td><td class="desc">Attributes used in hint_on_device </td></tr>
+<tr id="row_1_5_51_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1QuantizeAttrs.html" target="_self">QuantizeAttrs</a></td><td class="desc">Attributes for relax.quantize/relax.dequantize operator </td></tr>
+<tr id="row_1_5_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ArgmaxArgminAttrs.html" target="_self">ArgmaxArgminAttrs</a></td><td class="desc">Attributes for search operators </td></tr>
+<tr id="row_1_5_53_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SortAttrs.html" target="_self">SortAttrs</a></td><td class="desc">Attributes used in sort operator </td></tr>
+<tr id="row_1_5_54_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ArgsortAttrs.html" target="_self">ArgsortAttrs</a></td><td class="desc">Attributes used in argsort operator </td></tr>
+<tr id="row_1_5_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc">Attributes used in topk operator </td></tr>
+<tr id="row_1_5_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1StatisticalAttrs.html" target="_self">StatisticalAttrs</a></td><td class="desc">Attributes for statistical operators </td></tr>
+<tr id="row_1_5_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in scan operators like cumsum, cumprod </td></tr>
+<tr id="row_1_5_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_self">DataflowBlockRewriteNode</a></td><td class="desc">Statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
+<tr id="row_1_5_59_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewrite.html" target="_self">DataflowBlockRewrite</a></td><td class="desc">A statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
+<tr id="row_1_5_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_self">BlockBuilderNode</a></td><td class="desc">A builder to build Relax binding blocks </td></tr>
+<tr id="row_1_5_61_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_5_61_" class="arrow" onclick="toggleFolder('1_5_61_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilder.html" target="_self">BlockBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_61_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BlockBuilder_1_1DisableOperatorSpecificNormalizationForTVMScript.html" target="_self">DisableOperatorSpecificNormalizationForTVMScript</a></td><td class="desc">A marker struct to disable FNormalize </td></tr>
+<tr id="row_1_5_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
+<tr id="row_1_5_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPattern.html" target="_self">DFPattern</a></td><td class="desc">Managed reference to dataflow patterns </td></tr>
+<tr id="row_1_5_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PairCons.html" target="_self">PairCons</a></td><td class="desc">Constraint of a <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> edge (producer -> consumer) in graph-level matching </td></tr>
+<tr id="row_1_5_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_self">DFConstraintNode</a></td><td class="desc">Additional constraints on the graph </td></tr>
+<tr id="row_1_5_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFConstraint.html" target="_self">DFConstraint</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternSeqNode.html" target="_self">PatternSeqNode</a></td><td class="desc">A sequence of DFPatterns that the previous <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> is connected to the next [...]
+<tr id="row_1_5_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternSeq.html" target="_self">PatternSeq</a></td><td class="desc">Managed reference to pattern sequences </td></tr>
+<tr id="row_1_5_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternContextNode.html" target="_self">PatternContextNode</a></td><td class="desc">A context to manage the graph-level pattern matching </td></tr>
+<tr id="row_1_5_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternContext.html" target="_self">PatternContext</a></td><td class="desc">Managed reference to a pattern context </td></tr>
+<tr id="row_1_5_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprPatternNode.html" target="_self">ExprPatternNode</a></td><td class="desc">Pattern for Relax Expression </td></tr>
+<tr id="row_1_5_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">Managed reference to an <a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" title="Managed reference to an ExprPattern.">ExprPattern</a> </td></tr>
+<tr id="row_1_5_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Variable </td></tr>
+<tr id="row_1_5_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1VarPattern.html" title="Managed reference to a VarPattern.">VarPattern</a> </td></tr>
+<tr id="row_1_5_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarPatternNode.html" target="_self">DataflowVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Dataflow Variable </td></tr>
+<tr id="row_1_5_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" target="_self">DataflowVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" title="Managed reference to a DataflowVarPattern.">DataflowVarPattern</a> </td></tr>
+<tr id="row_1_5_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1GlobalVarPatternNode.html" target="_self">GlobalVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Global Variable </td></tr>
+<tr id="row_1_5_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" target="_self">GlobalVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" title="Managed reference to a GlobalVarPattern.">GlobalVarPattern</a> </td></tr>
+<tr id="row_1_5_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantPatternNode.html" target="_self">ConstantPatternNode</a></td><td class="desc">A Pattern to Match a Relax <a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> </td></tr>
+<tr id="row_1_5_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" target="_self">ConstantPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" title="Managed reference to a ConstantPattern.">ConstantPattern</a> </td></tr>
+<tr id="row_1_5_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallPatternNode.html" target="_self">CallPatternNode</a></td><td class="desc">A pattern to match a callable node in Relax </td></tr>
+<tr id="row_1_5_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallPattern.html" target="_self">CallPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimArrPatternNode.html" target="_self">PrimArrPatternNode</a></td><td class="desc">A pattern to match an array of <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
+<tr id="row_1_5_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" target="_self">PrimArrPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" title="Managed reference to a PrimArrPattern.">PrimArrPattern</a> </td></tr>
+<tr id="row_1_5_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" target="_self">FunctionPatternNode</a></td><td class="desc">A pattern to match a Relax <a class="el" href="classtvm_1_1relax_1_1Function.html">Function</a> </td></tr>
+<tr id="row_1_5_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionPattern.html" target="_self">FunctionPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" title="A pattern to match a Relax Function.">FunctionPatternNode</a> </td></tr>
+<tr id="row_1_5_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc">Pattern to match a tuple of ordered expressions </td></tr>
+<tr id="row_1_5_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" title="Pattern to match a tuple of ordered expressions.">TuplePatternNode</a> </td></tr>
+<tr id="row_1_5_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" target="_self">UnorderedTuplePatternNode</a></td><td class="desc">A pattern to match multiple expressions unorderedly </td></tr>
+<tr id="row_1_5_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePattern.html" target="_self">UnorderedTuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" title="A pattern to match multiple expressions unorderedly.">UnorderedTuplePatt [...]
+<tr id="row_1_5_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc">A pattern to match n'th indexing to a tuple </td></tr>
+<tr id="row_1_5_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" title="A pattern to match n'th indexing to a tuple.">TupleGetItemPatternNode</a> [...]
+<tr id="row_1_5_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" target="_self">AndPatternNode</a></td><td class="desc">Match a conjunction of other patterns </td></tr>
+<tr id="row_1_5_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AndPattern.html" target="_self">AndPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" title="Match a conjunction of other patterns.">AndPatternNode</a> </td></tr>
+<tr id="row_1_5_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" target="_self">OrPatternNode</a></td><td class="desc">Match a disjunction of other patterns </td></tr>
+<tr id="row_1_5_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1OrPattern.html" target="_self">OrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" title="Match a disjunction of other patterns.">OrPatternNode</a> </td></tr>
+<tr id="row_1_5_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" target="_self">NotPatternNode</a></td><td class="desc">Pattern for rejecting a certain pattern </td></tr>
+<tr id="row_1_5_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NotPattern.html" target="_self">NotPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" title="Pattern for rejecting a certain pattern.">NotPatternNode</a> </td></tr>
+<tr id="row_1_5_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard Pattern is a pattern that can match anything </td></tr>
+<tr id="row_1_5_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" title="Wildcard Pattern is a pattern that can match anything.">WildcardPatternNode</a> </td></tr>
+<tr id="row_1_5_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TypePatternNode.html" target="_self">TypePatternNode</a></td><td class="desc">Pattern for matching a certain type </td></tr>
+<tr id="row_1_5_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TypePattern.html" target="_self">TypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TypePatternNode.html" title="Pattern for matching a certain type.">TypePatternNode</a> </td></tr>
+<tr id="row_1_5_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoPatternNode.html" target="_self">StructInfoPatternNode</a></td><td class="desc">Pattern for matching a certain struct info </td></tr>
+<tr id="row_1_5_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoPattern.html" target="_self">StructInfoPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain shape </td></tr>
+<tr id="row_1_5_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" title="A pattern that asserting a root pattern has a certain shape.">ShapePatternNode</a> </td></tr>
+<tr id="row_1_5_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraintNode.html" target="_self">SameShapeConstraintNode</a></td><td class="desc">A pattern that asserting multiple root patterns have the same shape </td></tr>
+<tr id="row_1_5_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraint.html" target="_self">SameShapeConstraint</a></td><td class="desc">Managed reference to SameShapePatternNode </td></tr>
+<tr id="row_1_5_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" target="_self">DataTypePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain data type </td></tr>
+<tr id="row_1_5_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypePattern.html" target="_self">DataTypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" title="A pattern that asserting a root pattern has a certain data type.">DataTypePatternNode</a> [...]
+<tr id="row_1_5_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" target="_self">AttrPatternNode</a></td><td class="desc">A pattern that asserting a root pattern has certain attributes </td></tr>
+<tr id="row_1_5_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AttrPattern.html" target="_self">AttrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" title="A pattern that asserting a root pattern has certain attributes.">AttrPatternNode</a> </td></tr>
+<tr id="row_1_5_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" target="_self">ExternFuncPatternNode</a></td><td class="desc">A pattern of external function </td></tr>
+<tr id="row_1_5_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncPattern.html" target="_self">ExternFuncPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" title="A pattern of external function.">ExternFuncPatternNode</a> </td></tr>
+<tr id="row_1_5_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor.html" target="_self">DFPatternFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> argument </ [...]
+<tr id="row_1_5_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">DFPatternFunctor< R(const DFPattern &n, Args...)></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternVisitor.html" target="_self">DFPatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor.html" title="A dynamical functor that dispatches on in the first DFPattern argument.">DFPatt [...]
+<tr id="row_1_5_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExecBuilderNode.html" target="_self">ExecBuilderNode</a></td><td class="desc">A builder provides api to build VM executable with instructions </td></tr>
+<tr id="row_1_5_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExecBuilder.html" target="_self">ExecBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
+<tr id="row_1_5_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" target="_self">StructInfoNode</a></td><td class="desc">Base type of all structure information </td></tr>
+<tr id="row_1_5_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" target="_self">StructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" title="Base type of all structure information.">StructInfoNode</a> </td></tr>
+<tr id="row_1_5_124_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallNode.html" target="_self">CallNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> corresponds to callable invocation. Corresponds to operation in computational graph terminology </td></tr>
+<tr id="row_1_5_125_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Call.html" target="_self">Call</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_126_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1IfNode.html" target="_self">IfNode</a></td><td class="desc">Condition expression </td></tr>
+<tr id="row_1_5_127_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_128_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tuple</a> container </td></tr>
+<tr id="row_1_5_129_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_130_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc">Get index-th field out of a tuple </td></tr>
+<tr id="row_1_5_131_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_132_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1LeafExprNode.html" target="_self">LeafExprNode</a></td><td class="desc">Base type of all (non-function) leaf Exprs </td></tr>
+<tr id="row_1_5_133_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1LeafExpr.html" target="_self">LeafExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseExprNode.html" title="Base type of all the expressions.">BaseExprNode</a> </td></tr>
+<tr id="row_1_5_134_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeExprNode.html" target="_self">ShapeExprNode</a></td><td class="desc">A shape expression which allows users to construct a shape containing <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
+<tr id="row_1_5_135_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeExpr.html" target="_self">ShapeExpr</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_136_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">The variable class for all Relax bindings </td></tr>
+<tr id="row_1_5_137_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_138_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarNode.html" target="_self">DataflowVarNode</a></td><td class="desc">A sub-type of the variable node used to mark dataflow variables from normal visible "function local" bindings </td></tr>
+<tr id="row_1_5_139_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVar.html" target="_self">DataflowVar</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_140_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantNode.html" target="_self">ConstantNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> tensor </td></tr>
+<tr id="row_1_5_141_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Constant.html" target="_self">Constant</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_142_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" target="_self">PrimValueNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" title="Managed reference to PrimValueNode.">PrimValue</a> </td></tr>
+<tr id="row_1_5_143_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" target="_self">PrimValue</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" title="PrimValue.">PrimValueNode</a> </td></tr>
+<tr id="row_1_5_144_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StringImmNode.html" target="_self">StringImmNode</a></td><td class="desc">Represent a string literal constant </td></tr>
+<tr id="row_1_5_145_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StringImm.html" target="_self">StringImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StringImm.html" title="Managed reference to StringImm.">StringImm</a> </td></tr>
+<tr id="row_1_5_146_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypeImmNode.html" target="_self">DataTypeImmNode</a></td><td class="desc">Represent a data type constant </td></tr>
+<tr id="row_1_5_147_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" target="_self">DataTypeImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" title="Managed reference to DataTypeImm.">DataTypeImm</a> </td></tr>
+<tr id="row_1_5_148_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingNode.html" target="_self">BindingNode</a></td><td class="desc">The base class of a variable binding in Relax </td></tr>
+<tr id="row_1_5_149_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Binding.html" target="_self">Binding</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_150_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" target="_self">MatchCastNode</a></td><td class="desc">Runtime-match the value to the struct info </td></tr>
+<tr id="row_1_5_151_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchCast.html" target="_self">MatchCast</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" title="Runtime-match the value to the struct info.">MatchCastNode</a> </td></tr>
+<tr id="row_1_5_152_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarBindingNode.html" target="_self">VarBindingNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_153_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarBinding.html" target="_self">VarBinding</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_154_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_self">BindingBlockNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_155_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingBlock.html" target="_self">BindingBlock</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_156_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockNode.html" target="_self">DataflowBlockNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_157_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html" target="_self">DataflowBlock</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_158_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SeqExprNode.html" target="_self">SeqExprNode</a></td><td class="desc">A sequence of blocks followed by an expression </td></tr>
+<tr id="row_1_5_159_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SeqExpr.html" target="_self">SeqExpr</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_160_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionNode.html" target="_self">FunctionNode</a></td><td class="desc">A Relax function </td></tr>
+<tr id="row_1_5_161_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Function.html" target="_self">Function</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_162_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncNode.html" target="_self">ExternFuncNode</a></td><td class="desc">The extern function, which can represent packed function </td></tr>
+<tr id="row_1_5_163_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFunc.html" target="_self">ExternFunc</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_164_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprFunctor.html" target="_self">ExprFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerful Visitor, since it allows you to define function signatures of Visit <a class="el" href="c [...]
+<tr id="row_1_5_165_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html" target="_self">ExprFunctor< R(const Expr &n, Args...)></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_166_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprVisitor.html" target="_self">ExprVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more [...]
+<tr id="row_1_5_167_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprMutatorBase.html" target="_self">ExprMutatorBase</a></td><td class="desc">A mutator works in unnormalized form </td></tr>
+<tr id="row_1_5_168_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprMutator.html" target="_self">ExprMutator</a></td><td class="desc">A mutator works in normal form </td></tr>
+<tr id="row_1_5_169_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NestedMsg.html" target="_self">NestedMsg</a></td><td class="desc">Container that stores possibly nested message with leaf message type T </td></tr>
+<tr id="row_1_5_170_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" target="_self">ObjectStructInfoNode</a></td><td class="desc">Opaque object </td></tr>
+<tr id="row_1_5_171_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfo.html" target="_self">ObjectStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" title="Opaque object.">ObjectStructInfoNode</a> </td></tr>
+<tr id="row_1_5_172_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" target="_self">PrimStructInfoNode</a></td><td class="desc">Primitive value </td></tr>
+<tr id="row_1_5_173_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimStructInfo.html" target="_self">PrimStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" title="Primitive value.">PrimStructInfoNode</a> </td></tr>
+<tr id="row_1_5_174_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" target="_self">ShapeStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of shape value </td></tr>
+<tr id="row_1_5_175_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeStructInfo.html" target="_self">ShapeStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" title="StructInfo of shape value.">ShapeStructInfoNode</a> </td></tr>
+<tr id="row_1_5_176_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" target="_self">TensorStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of Tensor </td></tr>
+<tr id="row_1_5_177_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorStructInfo.html" target="_self">TensorStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" title="StructInfo of Tensor.">TensorStructInfoNode</a> </td></tr>
+<tr id="row_1_5_178_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" target="_self">TupleStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of <a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tu [...]
+<tr id="row_1_5_179_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleStructInfo.html" target="_self">TupleStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" title="StructInfo of Tuple.">TupleStructInfoNode</a> </td></tr>
+<tr id="row_1_5_180_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" target="_self">FuncStructInfoNode</a></td><td class="desc">Structure information about function </td></tr>
+<tr id="row_1_5_181_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FuncStructInfo.html" target="_self">FuncStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" title="Structure information about function.">FuncStructInfoNode</a> </td></tr>
+<tr id="row_1_5_182_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoFunctor.html" target="_self">StructInfoFunctor</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_183_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoFunctor_3_01R_07const_01StructInfo_01_6n_00_01Args_8_8_8_08_4.html" target="_self">StructInfoFunctor< R(const StructInfo &n, Args...)></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_184_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoVisitor.html" target="_self">StructInfoVisitor</a></td><td class="desc">A struct info visitor </td></tr>
+<tr id="row_1_5_185_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" target="_self">StructInfoMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" title="StructInfoMutator that mutates struct info.">StructInfoMutator</a> that mutates struct info </td></tr>
+<tr id="row_1_5_186_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html" target="_self">MatchResultNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_187_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchResult.html" target="_self">MatchResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html">MatchResultNode</a> </td></tr>
+<tr id="row_1_5_188_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ChoiceNode.html" target="_self">ChoiceNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Choice.html" title="Managed reference to ChoiceNode.">Choice</a> manages a set of keys for transformation and constraint functions </td></tr>
+<tr id="row_1_5_189_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Choice.html" target="_self">Choice</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ChoiceNode.html" title="Choice manages a set of keys for transformation and constraint functions.">ChoiceNode</a> </td></tr>
+<tr id="row_1_5_190_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1KnobNode.html" target="_self">KnobNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Knob.html" title="Managed reference to KnobNode.">Knob</a> manages a set of valid choices for an optimization </td></tr>
+<tr id="row_1_5_191_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Knob.html" target="_self">Knob</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1KnobNode.html" title="Knob manages a set of valid choices for an optimization.">KnobNode</a> </td></tr>
+<tr id="row_1_5_192_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TraceNode.html" target="_self">TraceNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Trace.html" title="Managed reference to TraceNode.">Trace</a> manages history of optimization decisions </td></tr>
+<tr id="row_1_5_193_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Trace.html" target="_self">Trace</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TraceNode.html" title="Trace manages history of optimization decisions.">TraceNode</a> </td></tr>
+<tr id="row_1_5_194_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuningRecordNode.html" target="_self">TuningRecordNode</a></td><td class="desc">The class of tuning records </td></tr>
+<tr id="row_1_5_195_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuningRecord.html" target="_self">TuningRecord</a></td><td class="desc">The managed reference of <a class="el" href="classtvm_1_1relax_1_1TuningRecordNode.html" title="The class of tuning records.">TuningRecordNode</a> </td></tr>
+<tr id="row_1_5_196_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1WorkloadEqual.html" target="_self">WorkloadEqual</a></td><td class="desc">The equality check for Workload </td></tr>
+<tr id="row_1_5_197_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DatabaseNode.html" target="_self">DatabaseNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_198_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Database.html" target="_self">Database</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DatabaseNode.html">DatabaseNode</a> </td></tr>
+<tr id="row_1_5_199_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeTypeNode.html" target="_self">ShapeTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_200_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeType.html" target="_self">ShapeType</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_201_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectTypeNode.html" target="_self">ObjectTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_202_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectType.html" target="_self">ObjectType</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_203_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DynTensorTypeNode.html" target="_self">DynTensorTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_204_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DynTensorType.html" target="_self">DynTensorType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DynTensorTypeNode.html">DynTensorTypeNode</a> </td></tr>
+<tr id="row_1_5_205_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PackedFuncTypeNode.html" target="_self">PackedFuncTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_206_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PackedFuncType.html" target="_self">PackedFuncType</a></td><td class="desc"></td></tr>
<tr id="row_1_6_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_6_" class="arrow" onclick="toggleFolder('1_6_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay.html" target="_self">relay</a></td><td class="desc">Relay: a high level functional IR for TVM </td></tr>
<tr id="row_1_6_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_6_0_" class="arrow" onclick="toggleFolder('1_6_0_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1qnn.html" target="_self">qnn</a></td><td class="desc"></td></tr>
<tr id="row_1_6_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1RequantizeAttrs.html" target="_self">RequantizeAttrs</a></td><td class="desc">Attribute for requantize operator </td></tr>
diff --git a/docs/reference/api/doxygen/classes.html b/docs/reference/api/doxygen/classes.html
index 515cccdc2c..12c699ab5f 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -69,7 +69,7 @@ $(function() {
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a name="letter_A">A</a></dt>
-<dd><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzer.html">AccessAnalyzer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)</dd><dd><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html">AccessAnalyzerNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)</dd><dd><a class="el" href="structtvm_1_1relay_1_1AdaptivePool1DAttrs.html">AdaptivePool1DAttrs</a> (<a class="el" href="n [...]
+<dd><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzer.html">AccessAnalyzer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)</dd><dd><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html">AccessAnalyzerNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)</dd><dd><a class="el" href="structtvm_1_1relay_1_1AdaptivePool1DAttrs.html">AdaptivePool1DAttrs</a> (<a class="el" href="n [...]
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_B">B</a></dt>
<dd><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="name [...]
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
index 5ec3017cbd..454adc9a7f 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
@@ -82,7 +82,7 @@ $(function() {
<div class="dynheader">
Inheritance diagram for tvm::BaseAttrsNode:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1BaseAttrsNode__inherit__graph.svg" width="40648" height="1432"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1BaseAttrsNode__inherit__graph.svg" width="41064" height="1432"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div class="dynheader">
@@ -323,7 +323,7 @@ Additional Inherited Members</h2></td></tr>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function throws when the required field is not present. </dd></dl>
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< ReduceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< GridSampleAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< ReduceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< GridSampleAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< [...]
</div>
</div>
@@ -389,7 +389,7 @@ template<typename... Args> </div>
<p>Get the field information. </p>
<dl class="section return"><dt>Returns</dt><dd>The fields in the <a class="el" href="classtvm_1_1Attrs.html" title="Managed reference to BaseAttrsNode.">Attrs</a>. </dd></dl>
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< ReduceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< GridSampleAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< ReduceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< GridSampleAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< [...]
</div>
</div>
@@ -479,7 +479,7 @@ template<typename... Args> </div>
</table>
</div><div class="memdoc">
-<p>Reimplemented in <a class="el" href="classtvm_1_1DictAttrsNode.html#a8866b613e11f531ec6db5834bb1d15ef">tvm::DictAttrsNode</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< ReduceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< GridSampleAttrs [...]
+<p>Reimplemented in <a class="el" href="classtvm_1_1DictAttrsNode.html#a8866b613e11f531ec6db5834bb1d15ef">tvm::DictAttrsNode</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< ReduceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< GridSampleAttrs [...]
</div>
</div>
@@ -516,7 +516,7 @@ template<typename... Args> </div>
</dd>
</dl>
-<p>Implemented in <a class="el" href="classtvm_1_1DictAttrsNode.html#ac096af14759a1d48ecf78fd6545776e0">tvm::DictAttrsNode</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< ReduceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< GridSampleAttrs & [...]
+<p>Implemented in <a class="el" href="classtvm_1_1DictAttrsNode.html#ac096af14759a1d48ecf78fd6545776e0">tvm::DictAttrsNode</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< ReduceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< GridSampleAttrs & [...]
</div>
</div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
index 30706c2b1c..bb57c359bf 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
@@ -4,33 +4,33 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: tvm::BaseAttrsNode Pages: 1 -->
-<svg width="30486pt" height="1074pt"
- viewBox="0.00 0.00 30485.50 1074.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="30798pt" height="1074pt"
+ viewBox="0.00 0.00 30797.50 1074.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1070)">
<title>tvm::BaseAttrsNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-1070 30481.5,-1070 30481.5,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1070 30793.5,-1070 30793.5,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Base class of all attribute class.">
-<polygon fill="#bfbfbf" stroke="black" points="15553,-441.5 15553,-630.5 15726,-630.5 15726,-441.5 15553,-441.5"/>
-<text text-anchor="middle" x="15639.5" y="-618.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
-<polyline fill="none" stroke="black" points="15553,-611.5 15726,-611.5 "/>
-<text text-anchor="start" x="15561" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="15561" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="15561" y="-577.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="15561" y="-566.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="15561" y="-555.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="15553,-548.5 15726,-548.5 "/>
-<text text-anchor="start" x="15561" y="-536.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseAttrsNode()</text>
-<text text-anchor="start" x="15561" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15561" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitBySeq()</text>
-<text text-anchor="start" x="15561" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintDocString()</text>
-<text text-anchor="start" x="15561" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="15561" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-<text text-anchor="start" x="15561" y="-470.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="15561" y="-459.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="15561" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<polygon fill="#bfbfbf" stroke="black" points="15865,-441.5 15865,-630.5 16038,-630.5 16038,-441.5 15865,-441.5"/>
+<text text-anchor="middle" x="15951.5" y="-618.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
+<polyline fill="none" stroke="black" points="15865,-611.5 16038,-611.5 "/>
+<text text-anchor="start" x="15873" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="15873" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="15873" y="-577.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="15873" y="-566.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="15873" y="-555.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="15865,-548.5 16038,-548.5 "/>
+<text text-anchor="start" x="15873" y="-536.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseAttrsNode()</text>
+<text text-anchor="start" x="15873" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15873" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitBySeq()</text>
+<text text-anchor="start" x="15873" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintDocString()</text>
+<text text-anchor="start" x="15873" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="15873" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<text text-anchor="start" x="15873" y="-470.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="15873" y="-459.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="15873" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
@@ -55,8 +55,8 @@
<!-- Node1->Node3 -->
<g id="edge2" class="edge">
<title>Node1->Node3</title>
-<path fill="none" stroke="midnightblue" d="M15542.84,-535.04C14257.01,-535.48 568.84,-537.01 181.5,-405 169.84,-401.03 158.48,-395.01 147.89,-388.12"/>
-<polygon fill="none" stroke="midnightblue" points="15542.96,-538.54 15552.95,-535.04 15542.95,-531.54 15542.96,-538.54"/>
+<path fill="none" stroke="midnightblue" d="M15854.39,-535.06C14551.81,-535.72 576.82,-539.7 181.5,-405 169.84,-401.03 158.48,-395.01 147.89,-388.12"/>
+<polygon fill="none" stroke="midnightblue" points="15854.64,-538.56 15864.64,-535.05 15854.63,-531.56 15854.64,-538.56"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
@@ -80,8 +80,8 @@
<!-- Node1->Node5 -->
<g id="edge4" class="edge">
<title>Node1->Node5</title>
-<path fill="none" stroke="midnightblue" d="M15542.47,-535.07C14262.36,-535.91 740.12,-541.51 359.5,-405 351.46,-402.11 343.6,-398.17 336.1,-393.6"/>
-<polygon fill="none" stroke="midnightblue" points="15542.55,-538.57 15552.54,-535.06 15542.54,-531.57 15542.55,-538.57"/>
+<path fill="none" stroke="midnightblue" d="M15854.48,-535.09C14560.35,-536.16 748.1,-544.33 359.5,-405 351.46,-402.12 343.6,-398.17 336.1,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="15854.67,-538.59 15864.66,-535.08 15854.66,-531.59 15854.67,-538.59"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
@@ -104,8 +104,8 @@
<!-- Node1->Node7 -->
<g id="edge6" class="edge">
<title>Node1->Node7</title>
-<path fill="none" stroke="midnightblue" d="M15542.21,-535.04C14268.95,-535.47 920.46,-536.79 543.5,-405 532.11,-401.02 521.04,-395 510.77,-388.1"/>
-<polygon fill="none" stroke="midnightblue" points="15542.67,-538.54 15552.67,-535.04 15542.67,-531.54 15542.67,-538.54"/>
+<path fill="none" stroke="midnightblue" d="M15854.65,-535.06C14569.9,-535.72 928.51,-539.57 543.5,-405 532.11,-401.02 521.04,-395 510.76,-388.1"/>
+<polygon fill="none" stroke="midnightblue" points="15854.76,-538.56 15864.76,-535.05 15854.76,-531.56 15854.76,-538.56"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
@@ -129,8 +129,8 @@
<!-- Node1->Node9 -->
<g id="edge8" class="edge">
<title>Node1->Node9</title>
-<path fill="none" stroke="midnightblue" d="M15542.38,-535.05C14278.26,-535.61 1092.85,-538.23 721.5,-405 713.46,-402.11 705.6,-398.17 698.1,-393.59"/>
-<polygon fill="none" stroke="midnightblue" points="15542.77,-538.55 15552.77,-535.05 15542.77,-531.55 15542.77,-538.55"/>
+<path fill="none" stroke="midnightblue" d="M15854.79,-535.07C14578.87,-535.87 1100.87,-541.06 721.5,-405 713.46,-402.11 705.6,-398.17 698.1,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="15854.83,-538.57 15864.83,-535.06 15854.83,-531.57 15854.83,-538.57"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
@@ -154,8 +154,8 @@
<!-- Node1->Node11 -->
<g id="edge10" class="edge">
<title>Node1->Node11</title>
-<path fill="none" stroke="midnightblue" d="M15542.31,-534.95C14287.51,-534.19 1297.96,-523.44 927.5,-405 918.56,-402.14 909.72,-398.21 901.2,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15542.63,-538.45 15552.63,-534.95 15542.63,-531.45 15542.63,-538.45"/>
+<path fill="none" stroke="midnightblue" d="M15854.21,-534.97C14584.41,-534.43 1306.02,-525.98 927.5,-405 918.56,-402.14 909.72,-398.22 901.2,-393.66"/>
+<polygon fill="none" stroke="midnightblue" points="15854.64,-538.47 15864.65,-534.97 15854.65,-531.47 15854.64,-538.47"/>
</g>
<!-- Node13 -->
<g id="node13" class="node">
@@ -179,8 +179,8 @@
<!-- Node1->Node13 -->
<g id="edge12" class="edge">
<title>Node1->Node13</title>
-<path fill="none" stroke="midnightblue" d="M15542.53,-535.01C14297.32,-535.09 1471.65,-532.76 1109.5,-405 1101.33,-402.12 1093.34,-398.17 1085.69,-393.6"/>
-<polygon fill="none" stroke="midnightblue" points="15542.78,-538.51 15552.78,-535.01 15542.78,-531.51 15542.78,-538.51"/>
+<path fill="none" stroke="midnightblue" d="M15854.4,-535.03C14593.91,-535.35 1479.62,-535.53 1109.5,-405 1101.33,-402.12 1093.34,-398.17 1085.69,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="15854.76,-538.53 15864.76,-535.03 15854.76,-531.53 15854.76,-538.53"/>
</g>
<!-- Node15 -->
<g id="node15" class="node">
@@ -204,8 +204,8 @@
<!-- Node1->Node15 -->
<g id="edge14" class="edge">
<title>Node1->Node15</title>
-<path fill="none" stroke="midnightblue" d="M15542.44,-534.96C14306.02,-534.29 1665.78,-524.6 1306.5,-405 1297.89,-402.13 1289.4,-398.2 1281.25,-393.63"/>
-<polygon fill="none" stroke="midnightblue" points="15542.61,-538.46 15552.62,-534.96 15542.62,-531.46 15542.61,-538.46"/>
+<path fill="none" stroke="midnightblue" d="M15854.26,-534.97C14602.22,-534.55 1673.8,-527.23 1306.5,-405 1297.89,-402.13 1289.4,-398.2 1281.24,-393.64"/>
+<polygon fill="none" stroke="midnightblue" points="15854.56,-538.47 15864.56,-534.98 15854.56,-531.47 15854.56,-538.47"/>
</g>
<!-- Node17 -->
<g id="node17" class="node">
@@ -229,8 +229,8 @@
<!-- Node1->Node17 -->
<g id="edge16" class="edge">
<title>Node1->Node17</title>
-<path fill="none" stroke="midnightblue" d="M15542.9,-534.92C14318.73,-533.79 1865.68,-519.53 1510.5,-405 1501.63,-402.14 1492.86,-398.21 1484.41,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15542.96,-538.42 15552.97,-534.93 15542.97,-531.42 15542.96,-538.42"/>
+<path fill="none" stroke="midnightblue" d="M15854.68,-534.94C14614.6,-534.05 1873.71,-522.08 1510.5,-405 1501.63,-402.14 1492.86,-398.21 1484.41,-393.65"/>
+<polygon fill="none" stroke="midnightblue" points="15854.87,-538.44 15864.88,-534.95 15854.88,-531.44 15854.87,-538.44"/>
</g>
<!-- Node19 -->
<g id="node19" class="node">
@@ -254,8 +254,8 @@
<!-- Node1->Node19 -->
<g id="edge18" class="edge">
<title>Node1->Node19</title>
-<path fill="none" stroke="midnightblue" d="M15542.77,-534.96C14326.64,-534.31 2046.54,-524.79 1698.5,-405 1690.14,-402.12 1681.94,-398.18 1674.08,-393.61"/>
-<polygon fill="none" stroke="midnightblue" points="15542.77,-538.46 15552.78,-534.96 15542.78,-531.46 15542.77,-538.46"/>
+<path fill="none" stroke="midnightblue" d="M15854.5,-534.98C14622.13,-534.58 2054.52,-527.5 1698.5,-405 1690.14,-402.12 1681.94,-398.18 1674.08,-393.62"/>
+<polygon fill="none" stroke="midnightblue" points="15854.64,-538.48 15864.64,-534.98 15854.65,-531.48 15854.64,-538.48"/>
</g>
<!-- Node21 -->
<g id="node21" class="node">
@@ -279,8 +279,8 @@
<!-- Node1->Node21 -->
<g id="edge20" class="edge">
<title>Node1->Node21</title>
-<path fill="none" stroke="midnightblue" d="M15542.55,-535.02C14333.03,-535.1 2207.8,-532.71 1867.5,-405 1859.77,-402.1 1852.26,-398.14 1845.13,-393.56"/>
-<polygon fill="none" stroke="midnightblue" points="15542.92,-538.52 15552.92,-535.01 15542.92,-531.52 15542.92,-538.52"/>
+<path fill="none" stroke="midnightblue" d="M15854.69,-535.04C14631.19,-535.38 2215.75,-535.65 1867.5,-405 1859.77,-402.1 1852.26,-398.14 1845.13,-393.56"/>
+<polygon fill="none" stroke="midnightblue" points="15854.76,-538.54 15864.76,-535.03 15854.76,-531.54 15854.76,-538.54"/>
</g>
<!-- Node23 -->
<g id="node23" class="node">
@@ -304,8 +304,8 @@
<!-- Node1->Node23 -->
<g id="edge22" class="edge">
<title>Node1->Node23</title>
-<path fill="none" stroke="midnightblue" d="M15542.28,-535.03C14338.94,-535.35 2363.14,-535.25 2028.5,-405 2021.01,-402.09 2013.78,-398.12 2006.94,-393.54"/>
-<polygon fill="none" stroke="midnightblue" points="15542.61,-538.53 15552.61,-535.03 15542.61,-531.53 15542.61,-538.53"/>
+<path fill="none" stroke="midnightblue" d="M15854.41,-535.06C14636.83,-535.65 2371.04,-538.28 2028.5,-405 2021.01,-402.09 2013.78,-398.12 2006.94,-393.54"/>
+<polygon fill="none" stroke="midnightblue" points="15854.86,-538.56 15864.86,-535.05 15854.85,-531.56 15854.86,-538.56"/>
</g>
<!-- Node25 -->
<g id="node25" class="node">
@@ -329,8 +329,8 @@
<!-- Node1->Node25 -->
<g id="edge24" class="edge">
<title>Node1->Node25</title>
-<path fill="none" stroke="midnightblue" d="M15542.53,-535.02C14348.39,-535.1 2521.46,-532.66 2190.5,-405 2182.95,-402.09 2175.65,-398.12 2168.74,-393.54"/>
-<polygon fill="none" stroke="midnightblue" points="15542.78,-538.52 15552.78,-535.01 15542.78,-531.52 15542.78,-538.52"/>
+<path fill="none" stroke="midnightblue" d="M15854.61,-535.04C14645.96,-535.39 2529.37,-535.67 2190.5,-405 2182.95,-402.09 2175.65,-398.12 2168.73,-393.54"/>
+<polygon fill="none" stroke="midnightblue" points="15854.99,-538.54 15864.99,-535.03 15854.98,-531.54 15854.99,-538.54"/>
</g>
<!-- Node27 -->
<g id="node27" class="node">
@@ -354,8 +354,8 @@
<!-- Node1->Node27 -->
<g id="edge26" class="edge">
<title>Node1->Node27</title>
-<path fill="none" stroke="midnightblue" d="M15542.52,-534.92C14357.47,-533.87 2704.58,-520.62 2374.5,-405 2366.27,-402.12 2358.21,-398.17 2350.49,-393.6"/>
-<polygon fill="none" stroke="midnightblue" points="15542.69,-538.42 15552.7,-534.93 15542.7,-531.42 15542.69,-538.42"/>
+<path fill="none" stroke="midnightblue" d="M15854.56,-534.94C14654.62,-534.16 2712.57,-523.38 2374.5,-405 2366.27,-402.12 2358.21,-398.17 2350.49,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="15854.86,-538.44 15864.86,-534.95 15854.86,-531.44 15854.86,-538.44"/>
</g>
<!-- Node29 -->
<g id="node29" class="node">
@@ -378,8 +378,8 @@
<!-- Node1->Node29 -->
<g id="edge28" class="edge">
<title>Node1->Node29</title>
-<path fill="none" stroke="midnightblue" d="M15542.61,-534.87C14367.76,-533.18 2897.26,-513.93 2570.5,-405 2558.58,-401.03 2546.91,-395.01 2536.02,-388.12"/>
-<polygon fill="none" stroke="midnightblue" points="15542.7,-538.37 15552.7,-534.88 15542.71,-531.37 15542.7,-538.37"/>
+<path fill="none" stroke="midnightblue" d="M15854.6,-534.89C14664.47,-533.47 2905.29,-516.57 2570.5,-405 2558.58,-401.03 2546.91,-395.01 2536.01,-388.12"/>
+<polygon fill="none" stroke="midnightblue" points="15854.82,-538.39 15864.82,-534.9 15854.82,-531.39 15854.82,-538.39"/>
</g>
<!-- Node31 -->
<g id="node31" class="node">
@@ -403,8 +403,8 @@
<!-- Node1->Node31 -->
<g id="edge30" class="edge">
<title>Node1->Node31</title>
-<path fill="none" stroke="midnightblue" d="M15542.91,-534.96C14377.62,-534.37 3054.41,-525.5 2736.5,-405 2728.83,-402.09 2721.39,-398.13 2714.33,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15542.92,-538.46 15552.92,-534.96 15542.92,-531.46 15542.92,-538.46"/>
+<path fill="none" stroke="midnightblue" d="M15854.41,-534.98C14671.02,-534.67 3062.27,-528.44 2736.5,-405 2728.83,-402.09 2721.39,-398.13 2714.33,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.57,-538.48 15864.57,-534.99 15854.57,-531.48 15854.57,-538.48"/>
</g>
<!-- Node33 -->
<g id="node33" class="node">
@@ -428,8 +428,8 @@
<!-- Node1->Node33 -->
<g id="edge32" class="edge">
<title>Node1->Node33</title>
-<path fill="none" stroke="midnightblue" d="M15542.59,-534.87C14385.05,-533.18 3241.08,-514.12 2924.5,-405 2916.14,-402.12 2907.94,-398.18 2900.08,-393.61"/>
-<polygon fill="none" stroke="midnightblue" points="15542.94,-538.37 15552.94,-534.88 15542.95,-531.37 15542.94,-538.37"/>
+<path fill="none" stroke="midnightblue" d="M15854.92,-534.89C14683.73,-533.48 3249.11,-516.84 2924.5,-405 2916.14,-402.12 2907.94,-398.18 2900.08,-393.61"/>
+<polygon fill="none" stroke="midnightblue" points="15854.97,-538.39 15864.98,-534.9 15854.98,-531.39 15854.97,-538.39"/>
</g>
<!-- Node35 -->
<g id="node35" class="node">
@@ -453,8 +453,8 @@
<!-- Node1->Node35 -->
<g id="edge34" class="edge">
<title>Node1->Node35</title>
-<path fill="none" stroke="midnightblue" d="M15542.6,-534.89C14393.76,-533.53 3410.8,-517.58 3100.5,-405 3092.52,-402.11 3084.74,-398.15 3077.31,-393.58"/>
-<polygon fill="none" stroke="midnightblue" points="15542.87,-538.39 15552.87,-534.91 15542.87,-531.39 15542.87,-538.39"/>
+<path fill="none" stroke="midnightblue" d="M15854.44,-534.92C14689.23,-533.84 3418.74,-520.42 3100.5,-405 3092.52,-402.11 3084.74,-398.15 3077.31,-393.58"/>
+<polygon fill="none" stroke="midnightblue" points="15854.85,-538.42 15864.86,-534.93 15854.86,-531.42 15854.85,-538.42"/>
</g>
<!-- Node37 -->
<g id="node37" class="node">
@@ -477,8 +477,8 @@
<!-- Node1->Node37 -->
<g id="edge36" class="edge">
<title>Node1->Node37</title>
-<path fill="none" stroke="midnightblue" d="M15542.52,-534.87C14425.85,-533.29 4029.59,-515.59 3395.5,-405 3352.02,-397.42 3305.44,-381.92 3267.5,-367.24"/>
-<polygon fill="none" stroke="midnightblue" points="15542.9,-538.37 15552.91,-534.89 15542.91,-531.37 15542.9,-538.37"/>
+<path fill="none" stroke="midnightblue" d="M15854.66,-534.9C14723.25,-533.61 4046.26,-518.41 3395.5,-405 3352.21,-397.45 3305.84,-382.06 3267.99,-367.44"/>
+<polygon fill="none" stroke="midnightblue" points="15854.78,-538.4 15864.79,-534.91 15854.79,-531.4 15854.78,-538.4"/>
</g>
<!-- Node40 -->
<g id="node40" class="node">
@@ -502,8 +502,8 @@
<!-- Node1->Node40 -->
<g id="edge39" class="edge">
<title>Node1->Node40</title>
-<path fill="none" stroke="midnightblue" d="M15542.64,-534.75C14443.34,-531.81 4345.64,-502.17 3727.5,-405 3680.01,-397.53 3628.81,-382.44 3586.62,-367.99"/>
-<polygon fill="none" stroke="midnightblue" points="15542.85,-538.25 15552.86,-534.78 15542.87,-531.25 15542.85,-538.25"/>
+<path fill="none" stroke="midnightblue" d="M15854.27,-534.78C14737.35,-532.11 4362.25,-504.69 3727.5,-405 3680.01,-397.54 3628.8,-382.45 3586.62,-368"/>
+<polygon fill="none" stroke="midnightblue" points="15854.64,-538.28 15864.65,-534.8 15854.66,-531.28 15854.64,-538.28"/>
</g>
<!-- Node43 -->
<g id="node43" class="node">
@@ -526,8 +526,8 @@
<!-- Node1->Node43 -->
<g id="edge42" class="edge">
<title>Node1->Node43</title>
-<path fill="none" stroke="midnightblue" d="M15542.3,-534.72C14434.24,-531.48 4219.5,-499.04 3926.5,-405 3914.14,-401.03 3901.96,-395.02 3890.55,-388.13"/>
-<polygon fill="none" stroke="midnightblue" points="15542.6,-538.22 15552.61,-534.75 15542.62,-531.22 15542.6,-538.22"/>
+<path fill="none" stroke="midnightblue" d="M15854.74,-534.75C14732.91,-531.8 4227.58,-501.59 3926.5,-405 3914.14,-401.03 3901.96,-395.02 3890.55,-388.13"/>
+<polygon fill="none" stroke="midnightblue" points="15854.77,-538.25 15864.78,-534.78 15854.79,-531.25 15854.77,-538.25"/>
</g>
<!-- Node46 -->
<g id="node46" class="node">
@@ -551,8 +551,8 @@
<!-- Node1->Node46 -->
<g id="edge45" class="edge">
<title>Node1->Node46</title>
-<path fill="none" stroke="midnightblue" d="M15542.85,-535.09C14466.73,-535.92 4755.2,-539.64 4168.5,-405 4143.75,-399.32 4118.26,-389.26 4095.35,-378.42"/>
-<polygon fill="none" stroke="midnightblue" points="15542.87,-538.59 15552.87,-535.08 15542.86,-531.59 15542.87,-538.59"/>
+<path fill="none" stroke="midnightblue" d="M15854.77,-535.12C14762.26,-536.3 4771.64,-543.32 4168.5,-405 4143.75,-399.32 4118.26,-389.26 4095.35,-378.43"/>
+<polygon fill="none" stroke="midnightblue" points="15854.94,-538.62 15864.93,-535.11 15854.93,-531.62 15854.94,-538.62"/>
</g>
<!-- Node48 -->
<g id="node48" class="node">
@@ -576,8 +576,8 @@
<!-- Node1->Node48 -->
<g id="edge47" class="edge">
<title>Node1->Node48</title>
-<path fill="none" stroke="midnightblue" d="M15542.73,-534.6C14460.44,-529.99 4658.81,-486.09 4374.5,-405 4360.68,-401.06 4346.86,-395.06 4333.78,-388.17"/>
-<polygon fill="none" stroke="midnightblue" points="15542.79,-538.1 15552.8,-534.64 15542.82,-531.1 15542.79,-538.1"/>
+<path fill="none" stroke="midnightblue" d="M15854.61,-534.63C14755.36,-530.3 4666.92,-488.35 4374.5,-405 4360.68,-401.06 4346.86,-395.06 4333.78,-388.18"/>
+<polygon fill="none" stroke="midnightblue" points="15854.82,-538.13 15864.84,-534.67 15854.85,-531.13 15854.82,-538.13"/>
</g>
<!-- Node50 -->
<g id="node50" class="node">
@@ -601,8 +601,8 @@
<!-- Node1->Node50 -->
<g id="edge49" class="edge">
<title>Node1->Node50</title>
-<path fill="none" stroke="midnightblue" d="M15542.61,-534.69C14469.14,-531.19 4831.24,-497.2 4555.5,-405 4546.89,-402.12 4538.41,-398.18 4530.25,-393.61"/>
-<polygon fill="none" stroke="midnightblue" points="15542.97,-538.19 15552.98,-534.73 15542.99,-531.19 15542.97,-538.19"/>
+<path fill="none" stroke="midnightblue" d="M15854.83,-534.73C14765.95,-531.53 4839.27,-499.83 4555.5,-405 4546.89,-402.12 4538.41,-398.18 4530.25,-393.61"/>
+<polygon fill="none" stroke="midnightblue" points="15854.95,-538.23 15864.96,-534.75 15854.97,-531.23 15854.95,-538.23"/>
</g>
<!-- Node52 -->
<g id="node52" class="node">
@@ -626,8 +626,8 @@
<!-- Node1->Node52 -->
<g id="edge51" class="edge">
<title>Node1->Node52</title>
-<path fill="none" stroke="midnightblue" d="M15542.52,-534.71C14478.03,-531.37 5003.5,-499.1 4733.5,-405 4725.21,-402.11 4717.08,-398.16 4709.29,-393.59"/>
-<polygon fill="none" stroke="midnightblue" points="15542.79,-538.21 15552.8,-534.74 15542.81,-531.21 15542.79,-538.21"/>
+<path fill="none" stroke="midnightblue" d="M15854.67,-534.74C14774.28,-531.73 5011.49,-501.84 4733.5,-405 4725.21,-402.11 4717.08,-398.16 4709.29,-393.59"/>
+<polygon fill="none" stroke="midnightblue" points="15854.71,-538.24 15864.72,-534.77 15854.73,-531.24 15854.71,-538.24"/>
</g>
<!-- Node54 -->
<g id="node54" class="node">
@@ -651,554 +651,529 @@
<!-- Node1->Node54 -->
<g id="edge53" class="edge">
<title>Node1->Node54</title>
-<path fill="none" stroke="midnightblue" d="M15542.46,-534.68C14487.19,-531.09 5175.24,-496.88 4909.5,-405 4901.15,-402.11 4892.95,-398.16 4885.08,-393.59"/>
-<polygon fill="none" stroke="midnightblue" points="15542.65,-538.18 15552.66,-534.71 15542.67,-531.18 15542.65,-538.18"/>
+<path fill="none" stroke="midnightblue" d="M15854.46,-534.78C14781.77,-532.21 5172.04,-506.37 4900.5,-405 4892.71,-402.09 4885.14,-398.13 4877.93,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.81,-538.28 15864.82,-534.8 15854.83,-531.28 15854.81,-538.28"/>
</g>
<!-- Node57 -->
<g id="node57" class="node">
<title>Node57</title>
<g id="a_node57"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4918.5,-276 4918.5,-388 5104.5,-388 5104.5,-276 4918.5,-276"/>
-<text text-anchor="middle" x="5011.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ScatterNDAttrs ></text>
-<polyline fill="none" stroke="black" points="4918.5,-369 5104.5,-369 "/>
-<text text-anchor="middle" x="5011.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4918.5,-350 5104.5,-350 "/>
-<text text-anchor="start" x="4926.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="4926.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="4926.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="4926.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="4926.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="4926.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="4909.5,-276 4909.5,-388 5095.5,-388 5095.5,-276 4909.5,-276"/>
+<text text-anchor="middle" x="5002.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ScatterNDAttrs ></text>
+<polyline fill="none" stroke="black" points="4909.5,-369 5095.5,-369 "/>
+<text text-anchor="middle" x="5002.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4909.5,-350 5095.5,-350 "/>
+<text text-anchor="start" x="4917.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="4917.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="4917.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="4917.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="4917.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="4917.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node57 -->
<g id="edge56" class="edge">
<title>Node1->Node57</title>
-<path fill="none" stroke="midnightblue" d="M15542.78,-534.57C14500.64,-529.87 5382.71,-486.47 5119.5,-405 5106.69,-401.04 5094,-395.02 5082.07,-388.13"/>
-<polygon fill="none" stroke="midnightblue" points="15542.84,-538.07 15552.85,-534.62 15542.87,-531.07 15542.84,-538.07"/>
+<path fill="none" stroke="midnightblue" d="M15854.81,-535.15C14812.63,-536.65 5686.21,-545.69 5137.5,-405 5122.06,-401.04 5106.44,-394.98 5091.58,-388.03"/>
+<polygon fill="none" stroke="midnightblue" points="15854.88,-538.65 15864.88,-535.14 15854.87,-531.65 15854.88,-538.65"/>
</g>
<!-- Node59 -->
<g id="node59" class="node">
<title>Node59</title>
<g id="a_node59"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5129,-270.5 5129,-393.5 5290,-393.5 5290,-270.5 5129,-270.5"/>
-<text text-anchor="start" x="5137" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NdarraySize</text>
-<text text-anchor="middle" x="5209.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="5129,-363.5 5290,-363.5 "/>
-<text text-anchor="middle" x="5209.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5129,-344.5 5290,-344.5 "/>
-<text text-anchor="start" x="5137" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5137" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5137" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5137" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5137" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5137" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5147,-270.5 5147,-393.5 5308,-393.5 5308,-270.5 5147,-270.5"/>
+<text text-anchor="start" x="5155" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NdarraySize</text>
+<text text-anchor="middle" x="5227.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="5147,-363.5 5308,-363.5 "/>
+<text text-anchor="middle" x="5227.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5147,-344.5 5308,-344.5 "/>
+<text text-anchor="start" x="5155" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5155" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5155" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5155" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5155" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5155" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node59 -->
<g id="edge58" class="edge">
<title>Node1->Node59</title>
-<path fill="none" stroke="midnightblue" d="M15542.46,-534.64C14508.67,-530.71 5557.96,-494.13 5302.5,-405 5294.21,-402.11 5286.08,-398.16 5278.29,-393.58"/>
-<polygon fill="none" stroke="midnightblue" points="15542.8,-538.14 15552.82,-534.68 15542.83,-531.14 15542.8,-538.14"/>
+<path fill="none" stroke="midnightblue" d="M15854.7,-534.59C14806.87,-530.05 5600.03,-487.8 5334.5,-405 5325.31,-402.13 5316.19,-398.2 5307.37,-393.64"/>
+<polygon fill="none" stroke="midnightblue" points="15854.81,-538.09 15864.82,-534.63 15854.84,-531.09 15854.81,-538.09"/>
</g>
<!-- Node61 -->
<g id="node61" class="node">
<title>Node61</title>
<g id="a_node61"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5311.5,-276 5311.5,-388 5481.5,-388 5481.5,-276 5311.5,-276"/>
-<text text-anchor="middle" x="5396.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GatherAttrs ></text>
-<polyline fill="none" stroke="black" points="5311.5,-369 5481.5,-369 "/>
-<text text-anchor="middle" x="5396.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5311.5,-350 5481.5,-350 "/>
-<text text-anchor="start" x="5319.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5319.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5319.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5319.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5319.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5319.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5343.5,-276 5343.5,-388 5513.5,-388 5513.5,-276 5343.5,-276"/>
+<text text-anchor="middle" x="5428.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GatherAttrs ></text>
+<polyline fill="none" stroke="black" points="5343.5,-369 5513.5,-369 "/>
+<text text-anchor="middle" x="5428.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5343.5,-350 5513.5,-350 "/>
+<text text-anchor="start" x="5351.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5351.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5351.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5351.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5351.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5351.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node61 -->
<g id="edge60" class="edge">
<title>Node1->Node61</title>
-<path fill="none" stroke="midnightblue" d="M15542.67,-534.6C14520.46,-530.26 5743.79,-490.56 5492.5,-405 5480.77,-401 5469.3,-394.98 5458.61,-388.08"/>
-<polygon fill="none" stroke="midnightblue" points="15542.9,-538.1 15552.92,-534.64 15542.93,-531.1 15542.9,-538.1"/>
+<path fill="none" stroke="midnightblue" d="M15854.88,-534.6C14818.57,-530.16 5790.06,-489.17 5530.5,-405 5518.23,-401.02 5506.16,-395 5494.85,-388.11"/>
+<polygon fill="none" stroke="midnightblue" points="15854.88,-538.1 15864.9,-534.64 15854.91,-531.1 15854.88,-538.1"/>
</g>
<!-- Node63 -->
<g id="node63" class="node">
<title>Node63</title>
<g id="a_node63"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5501.5,-270.5 5501.5,-393.5 5647.5,-393.5 5647.5,-270.5 5501.5,-270.5"/>
-<text text-anchor="start" x="5509.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
-<text text-anchor="middle" x="5574.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool3DAttrs ></text>
-<polyline fill="none" stroke="black" points="5501.5,-363.5 5647.5,-363.5 "/>
-<text text-anchor="middle" x="5574.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5501.5,-344.5 5647.5,-344.5 "/>
-<text text-anchor="start" x="5509.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5509.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5509.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5509.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5509.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5509.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5539.5,-276 5539.5,-388 5691.5,-388 5691.5,-276 5539.5,-276"/>
+<text text-anchor="middle" x="5615.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< InitAttrs ></text>
+<polyline fill="none" stroke="black" points="5539.5,-369 5691.5,-369 "/>
+<text text-anchor="middle" x="5615.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5539.5,-350 5691.5,-350 "/>
+<text text-anchor="start" x="5547.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5547.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5547.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5547.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5547.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5547.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node63 -->
<g id="edge62" class="edge">
<title>Node1->Node63</title>
-<path fill="none" stroke="midnightblue" d="M15542.65,-534.67C14529.36,-531.08 5901.42,-497.87 5657.5,-405 5649.83,-402.08 5642.4,-398.11 5635.34,-393.53"/>
-<polygon fill="none" stroke="midnightblue" points="15542.79,-538.17 15552.81,-534.7 15542.82,-531.17 15542.79,-538.17"/>
+<path fill="none" stroke="midnightblue" d="M15854.5,-534.66C14825.82,-530.92 5956.71,-496.05 5704.5,-405 5693.38,-400.98 5682.62,-394.95 5672.65,-388.04"/>
+<polygon fill="none" stroke="midnightblue" points="15854.79,-538.16 15864.81,-534.69 15854.82,-531.16 15854.79,-538.16"/>
</g>
<!-- Node65 -->
<g id="node65" class="node">
<title>Node65</title>
<g id="a_node65"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5666.5,-276 5666.5,-388 5818.5,-388 5818.5,-276 5666.5,-276"/>
-<text text-anchor="middle" x="5742.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< InitAttrs ></text>
-<polyline fill="none" stroke="black" points="5666.5,-369 5818.5,-369 "/>
-<text text-anchor="middle" x="5742.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5666.5,-350 5818.5,-350 "/>
-<text text-anchor="start" x="5674.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5674.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5674.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5674.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5674.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5674.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5714,-276 5714,-388 5869,-388 5869,-276 5714,-276"/>
+<text text-anchor="middle" x="5791.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FlipAttrs ></text>
+<polyline fill="none" stroke="black" points="5714,-369 5869,-369 "/>
+<text text-anchor="middle" x="5791.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5714,-350 5869,-350 "/>
+<text text-anchor="start" x="5722" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5722" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5722" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5722" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5722" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5722" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node65 -->
<g id="edge64" class="edge">
<title>Node1->Node65</title>
-<path fill="none" stroke="midnightblue" d="M15542.75,-534.63C14539.56,-530.7 6067.67,-494.86 5827.5,-405 5816.81,-401 5806.54,-395.02 5797.05,-388.19"/>
-<polygon fill="none" stroke="midnightblue" points="15542.8,-538.13 15552.81,-534.67 15542.82,-531.13 15542.8,-538.13"/>
+<path fill="none" stroke="midnightblue" d="M15854.59,-534.64C14836.15,-530.7 6128.24,-494.47 5880.5,-405 5869.38,-400.98 5858.62,-394.94 5848.65,-388.04"/>
+<polygon fill="none" stroke="midnightblue" points="15854.79,-538.14 15864.8,-534.67 15854.81,-531.14 15854.79,-538.14"/>
</g>
<!-- Node67 -->
<g id="node67" class="node">
<title>Node67</title>
<g id="a_node67"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5837,-276 5837,-388 5992,-388 5992,-276 5837,-276"/>
-<text text-anchor="middle" x="5914.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FlipAttrs ></text>
-<polyline fill="none" stroke="black" points="5837,-369 5992,-369 "/>
-<text text-anchor="middle" x="5914.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5837,-350 5992,-350 "/>
-<text text-anchor="start" x="5845" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5845" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5845" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5845" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5845" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5845" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5889.5,-270.5 5889.5,-393.5 6035.5,-393.5 6035.5,-270.5 5889.5,-270.5"/>
+<text text-anchor="start" x="5897.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
+<text text-anchor="middle" x="5962.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool3DAttrs ></text>
+<polyline fill="none" stroke="black" points="5889.5,-363.5 6035.5,-363.5 "/>
+<text text-anchor="middle" x="5962.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5889.5,-344.5 6035.5,-344.5 "/>
+<text text-anchor="start" x="5897.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5897.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5897.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5897.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5897.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5897.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node67 -->
<g id="edge66" class="edge">
<title>Node1->Node67</title>
-<path fill="none" stroke="midnightblue" d="M15542.56,-534.6C14548.34,-530.39 6236.53,-492.56 6000.5,-405 5989.73,-401 5979.35,-395.03 5969.77,-388.19"/>
-<polygon fill="none" stroke="midnightblue" points="15542.86,-538.1 15552.88,-534.64 15542.89,-531.1 15542.86,-538.1"/>
+<path fill="none" stroke="midnightblue" d="M15854.69,-534.61C14846.38,-530.41 6296.11,-492.26 6052.5,-405 6044.4,-402.1 6036.48,-398.14 6028.91,-393.56"/>
+<polygon fill="none" stroke="midnightblue" points="15854.79,-538.11 15864.8,-534.65 15854.81,-531.11 15854.79,-538.11"/>
</g>
-<!-- Node69 -->
-<g id="node69" class="node">
-<title>Node69</title>
-<g id="a_node69"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6010,-270.5 6010,-393.5 6167,-393.5 6167,-270.5 6010,-270.5"/>
-<text text-anchor="start" x="6018" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Requantize</text>
-<text text-anchor="middle" x="6088.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="6010,-363.5 6167,-363.5 "/>
-<text text-anchor="middle" x="6088.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6010,-344.5 6167,-344.5 "/>
-<text text-anchor="start" x="6018" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6018" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6018" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6018" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6018" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6018" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node69 -->
-<g id="edge68" class="edge">
-<title>Node1->Node69</title>
-<path fill="none" stroke="midnightblue" d="M15542.43,-534.56C14557.77,-529.99 6408.54,-489.63 6176.5,-405 6168.53,-402.09 6160.75,-398.13 6153.32,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15542.64,-538.06 15552.66,-534.61 15542.67,-531.06 15542.64,-538.06"/>
-</g>
-<!-- Node71 -->
-<g id="node71" class="node">
-<title>Node71</title>
-<g id="a_node71"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6185.5,-276 6185.5,-388 6367.5,-388 6367.5,-276 6185.5,-276"/>
-<text text-anchor="middle" x="6276.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Resize1DAttrs ></text>
-<polyline fill="none" stroke="black" points="6185.5,-369 6367.5,-369 "/>
-<text text-anchor="middle" x="6276.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6185.5,-350 6367.5,-350 "/>
-<text text-anchor="start" x="6193.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6193.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6193.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6193.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6193.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6193.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node71 -->
-<g id="edge70" class="edge">
-<title>Node1->Node71</title>
-<path fill="none" stroke="midnightblue" d="M15542.63,-534.45C14570.6,-528.86 6605.92,-480.78 6376.5,-405 6364.41,-401.01 6352.54,-394.98 6341.44,-388.08"/>
-<polygon fill="none" stroke="midnightblue" points="15542.71,-537.95 15552.73,-534.51 15542.75,-530.95 15542.71,-537.95"/>
+<!-- Node70 -->
+<g id="node70" class="node">
+<title>Node70</title>
+<g id="a_node70"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6062,-270.5 6062,-393.5 6219,-393.5 6219,-270.5 6062,-270.5"/>
+<text text-anchor="start" x="6070" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Requantize</text>
+<text text-anchor="middle" x="6140.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="6062,-363.5 6219,-363.5 "/>
+<text text-anchor="middle" x="6140.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6062,-344.5 6219,-344.5 "/>
+<text text-anchor="start" x="6070" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6070" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6070" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6070" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6070" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6070" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node70 -->
+<g id="edge69" class="edge">
+<title>Node1->Node70</title>
+<path fill="none" stroke="midnightblue" d="M15854.56,-534.56C14855.93,-529.94 6473.17,-488.73 6233.5,-405 6225.21,-402.1 6217.08,-398.15 6209.3,-393.57"/>
+<polygon fill="none" stroke="midnightblue" points="15854.91,-538.06 15864.92,-534.61 15854.94,-531.06 15854.91,-538.06"/>
</g>
-<!-- Node73 -->
-<g id="node73" class="node">
-<title>Node73</title>
-<g id="a_node73"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6386,-270.5 6386,-393.5 6535,-393.5 6535,-270.5 6386,-270.5"/>
-<text text-anchor="start" x="6394" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< OnDevice</text>
-<text text-anchor="middle" x="6460.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="6386,-363.5 6535,-363.5 "/>
-<text text-anchor="middle" x="6460.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6386,-344.5 6535,-344.5 "/>
-<text text-anchor="start" x="6394" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6394" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6394" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6394" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6394" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6394" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node73 -->
-<g id="edge72" class="edge">
-<title>Node1->Node73</title>
-<path fill="none" stroke="midnightblue" d="M15542.49,-534.54C14579.41,-529.88 6765.04,-489.51 6543.5,-405 6535.84,-402.08 6528.4,-398.1 6521.34,-393.52"/>
-<polygon fill="none" stroke="midnightblue" points="15542.82,-538.04 15552.83,-534.59 15542.85,-531.04 15542.82,-538.04"/>
+<!-- Node72 -->
+<g id="node72" class="node">
+<title>Node72</title>
+<g id="a_node72"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6242.5,-276 6242.5,-388 6424.5,-388 6424.5,-276 6242.5,-276"/>
+<text text-anchor="middle" x="6333.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Resize1DAttrs ></text>
+<polyline fill="none" stroke="black" points="6242.5,-369 6424.5,-369 "/>
+<text text-anchor="middle" x="6333.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6242.5,-350 6424.5,-350 "/>
+<text text-anchor="start" x="6250.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6250.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6250.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6250.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6250.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6250.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node72 -->
+<g id="edge71" class="edge">
+<title>Node1->Node72</title>
+<path fill="none" stroke="midnightblue" d="M15854.7,-534.47C14868.43,-528.99 6672.93,-481.22 6436.5,-405 6424.14,-401.02 6411.97,-395 6400.56,-388.1"/>
+<polygon fill="none" stroke="midnightblue" points="15854.92,-537.97 15864.94,-534.53 15854.96,-530.97 15854.92,-537.97"/>
</g>
-<!-- Node75 -->
-<g id="node75" class="node">
-<title>Node75</title>
-<g id="a_node75"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6553,-270.5 6553,-393.5 6724,-393.5 6724,-270.5 6553,-270.5"/>
-<text text-anchor="start" x="6561" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NonMaximum</text>
-<text text-anchor="middle" x="6638.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">SuppressionAttrs ></text>
-<polyline fill="none" stroke="black" points="6553,-363.5 6724,-363.5 "/>
-<text text-anchor="middle" x="6638.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6553,-344.5 6724,-344.5 "/>
-<text text-anchor="start" x="6561" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6561" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6561" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6561" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6561" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6561" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node75 -->
-<g id="edge74" class="edge">
-<title>Node1->Node75</title>
-<path fill="none" stroke="midnightblue" d="M15542.71,-534.43C14591.96,-528.72 6952.87,-480.52 6733.5,-405 6725.09,-402.1 6716.82,-398.15 6708.89,-393.57"/>
-<polygon fill="none" stroke="midnightblue" points="15542.9,-537.93 15552.92,-534.49 15542.94,-530.93 15542.9,-537.93"/>
+<!-- Node74 -->
+<g id="node74" class="node">
+<title>Node74</title>
+<g id="a_node74"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6446,-270.5 6446,-393.5 6595,-393.5 6595,-270.5 6446,-270.5"/>
+<text text-anchor="start" x="6454" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< OnDevice</text>
+<text text-anchor="middle" x="6520.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="6446,-363.5 6595,-363.5 "/>
+<text text-anchor="middle" x="6520.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6446,-344.5 6595,-344.5 "/>
+<text text-anchor="start" x="6454" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6454" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6454" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6454" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6454" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6454" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node74 -->
+<g id="edge73" class="edge">
+<title>Node1->Node74</title>
+<path fill="none" stroke="midnightblue" d="M15854.85,-534.57C14878.74,-530.16 6832.66,-491.21 6604.5,-405 6596.77,-402.08 6589.27,-398.11 6582.14,-393.53"/>
+<polygon fill="none" stroke="midnightblue" points="15854.97,-538.07 15864.99,-534.62 15855.01,-531.07 15854.97,-538.07"/>
</g>
-<!-- Node77 -->
-<g id="node77" class="node">
-<title>Node77</title>
-<g id="a_node77"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6742.5,-270.5 6742.5,-393.5 6888.5,-393.5 6888.5,-270.5 6742.5,-270.5"/>
-<text text-anchor="start" x="6750.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MultiBox</text>
-<text text-anchor="middle" x="6815.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">PriorAttrs ></text>
-<polyline fill="none" stroke="black" points="6742.5,-363.5 6888.5,-363.5 "/>
-<text text-anchor="middle" x="6815.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6742.5,-344.5 6888.5,-344.5 "/>
-<text text-anchor="start" x="6750.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6750.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6750.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6750.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6750.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6750.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node77 -->
-<g id="edge76" class="edge">
-<title>Node1->Node77</title>
-<path fill="none" stroke="midnightblue" d="M15542.65,-534.49C14601.33,-529.37 7111.09,-486.17 6898.5,-405 6890.84,-402.07 6883.41,-398.1 6876.35,-393.51"/>
-<polygon fill="none" stroke="midnightblue" points="15542.74,-537.99 15552.76,-534.54 15542.78,-530.99 15542.74,-537.99"/>
+<!-- Node76 -->
+<g id="node76" class="node">
+<title>Node76</title>
+<g id="a_node76"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6614,-270.5 6614,-393.5 6785,-393.5 6785,-270.5 6614,-270.5"/>
+<text text-anchor="start" x="6622" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NonMaximum</text>
+<text text-anchor="middle" x="6699.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">SuppressionAttrs ></text>
+<polyline fill="none" stroke="black" points="6614,-363.5 6785,-363.5 "/>
+<text text-anchor="middle" x="6699.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6614,-344.5 6785,-344.5 "/>
+<text text-anchor="start" x="6622" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6622" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6622" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6622" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6622" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6622" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node76 -->
+<g id="edge75" class="edge">
+<title>Node1->Node76</title>
+<path fill="none" stroke="midnightblue" d="M15854.73,-534.41C14889.98,-528.39 7031.8,-477.22 6804.5,-405 6795.44,-402.12 6786.46,-398.18 6777.8,-393.61"/>
+<polygon fill="none" stroke="midnightblue" points="15854.73,-537.91 15864.75,-534.47 15854.77,-530.91 15854.73,-537.91"/>
</g>
-<!-- Node79 -->
-<g id="node79" class="node">
-<title>Node79</title>
-<g id="a_node79"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6908,-276 6908,-388 7063,-388 7063,-276 6908,-276"/>
-<text text-anchor="middle" x="6985.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DFTAttrs ></text>
-<polyline fill="none" stroke="black" points="6908,-369 7063,-369 "/>
-<text text-anchor="middle" x="6985.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6908,-350 7063,-350 "/>
-<text text-anchor="start" x="6916" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6916" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6916" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6916" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6916" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6916" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node79 -->
-<g id="edge78" class="edge">
-<title>Node1->Node79</title>
-<path fill="none" stroke="midnightblue" d="M15542.44,-534.42C14610.79,-528.8 7281.6,-482.1 7072.5,-405 7061.65,-401 7051.18,-395.02 7041.49,-388.18"/>
-<polygon fill="none" stroke="midnightblue" points="15542.76,-537.93 15552.78,-534.49 15542.8,-530.93 15542.76,-537.93"/>
+<!-- Node78 -->
+<g id="node78" class="node">
+<title>Node78</title>
+<g id="a_node78"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6813.5,-270.5 6813.5,-393.5 6959.5,-393.5 6959.5,-270.5 6813.5,-270.5"/>
+<text text-anchor="start" x="6821.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MultiBox</text>
+<text text-anchor="middle" x="6886.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">PriorAttrs ></text>
+<polyline fill="none" stroke="black" points="6813.5,-363.5 6959.5,-363.5 "/>
+<text text-anchor="middle" x="6886.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6813.5,-344.5 6959.5,-344.5 "/>
+<text text-anchor="start" x="6821.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6821.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6821.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6821.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6821.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6821.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node78 -->
+<g id="edge77" class="edge">
+<title>Node1->Node78</title>
+<path fill="none" stroke="midnightblue" d="M15854.62,-534.51C14898.99,-529.56 7190.61,-487.13 6971.5,-405 6963.71,-402.08 6956.14,-398.11 6948.94,-393.53"/>
+<polygon fill="none" stroke="midnightblue" points="15854.87,-538.01 15864.89,-534.56 15854.91,-531.01 15854.87,-538.01"/>
</g>
-<!-- Node81 -->
-<g id="node81" class="node">
-<title>Node81</title>
-<g id="a_node81"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7081.5,-270.5 7081.5,-393.5 7257.5,-393.5 7257.5,-270.5 7081.5,-270.5"/>
-<text text-anchor="start" x="7089.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CropAndResize</text>
-<text text-anchor="middle" x="7169.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="7081.5,-363.5 7257.5,-363.5 "/>
-<text text-anchor="middle" x="7169.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7081.5,-344.5 7257.5,-344.5 "/>
-<text text-anchor="start" x="7089.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7089.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7089.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7089.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7089.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7089.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node81 -->
-<g id="edge80" class="edge">
-<title>Node1->Node81</title>
-<path fill="none" stroke="midnightblue" d="M15542.62,-535.2C14637.01,-536.82 7678.34,-544.7 7266.5,-405 7257.96,-402.1 7249.55,-398.15 7241.47,-393.57"/>
-<polygon fill="none" stroke="midnightblue" points="15542.69,-538.7 15552.68,-535.18 15542.67,-531.7 15542.69,-538.7"/>
+<!-- Node80 -->
+<g id="node80" class="node">
+<title>Node80</title>
+<g id="a_node80"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6981,-276 6981,-388 7136,-388 7136,-276 6981,-276"/>
+<text text-anchor="middle" x="7058.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DFTAttrs ></text>
+<polyline fill="none" stroke="black" points="6981,-369 7136,-369 "/>
+<text text-anchor="middle" x="7058.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6981,-350 7136,-350 "/>
+<text text-anchor="start" x="6989" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6989" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6989" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6989" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6989" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6989" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node80 -->
+<g id="edge79" class="edge">
+<title>Node1->Node80</title>
+<path fill="none" stroke="midnightblue" d="M15854.66,-534.88C14926.76,-533.55 7633.53,-519.47 7192.5,-405 7173.46,-400.06 7154.15,-391.89 7136.34,-382.8"/>
+<polygon fill="none" stroke="midnightblue" points="15854.96,-538.38 15864.96,-534.89 15854.97,-531.38 15854.96,-538.38"/>
</g>
-<!-- Node83 -->
-<g id="node83" class="node">
-<title>Node83</title>
-<g id="a_node83"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7276,-276 7276,-388 7449,-388 7449,-276 7276,-276"/>
-<text text-anchor="middle" x="7362.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BitPackAttrs ></text>
-<polyline fill="none" stroke="black" points="7276,-369 7449,-369 "/>
-<text text-anchor="middle" x="7362.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7276,-350 7449,-350 "/>
-<text text-anchor="start" x="7284" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7284" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7284" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7284" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7284" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7284" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node83 -->
-<g id="edge82" class="edge">
-<title>Node1->Node83</title>
-<path fill="none" stroke="midnightblue" d="M15542.76,-535.19C14649.28,-536.68 7858.93,-543.49 7457.5,-405 7445.86,-400.98 7434.5,-394.95 7423.92,-388.04"/>
-<polygon fill="none" stroke="midnightblue" points="15543.01,-538.68 15553,-535.17 15542.99,-531.68 15543.01,-538.68"/>
+<!-- Node82 -->
+<g id="node82" class="node">
+<title>Node82</title>
+<g id="a_node82"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="7201.5,-270.5 7201.5,-393.5 7377.5,-393.5 7377.5,-270.5 7201.5,-270.5"/>
+<text text-anchor="start" x="7209.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CropAndResize</text>
+<text text-anchor="middle" x="7289.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="7201.5,-363.5 7377.5,-363.5 "/>
+<text text-anchor="middle" x="7289.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7201.5,-344.5 7377.5,-344.5 "/>
+<text text-anchor="start" x="7209.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7209.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7209.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7209.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7209.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7209.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node82 -->
+<g id="edge81" class="edge">
+<title>Node1->Node82</title>
+<path fill="none" stroke="midnightblue" d="M15854.56,-534.96C14939,-534.38 7837.6,-525.96 7410.5,-405 7399.45,-401.87 7388.37,-397.46 7377.66,-392.35"/>
+<polygon fill="none" stroke="midnightblue" points="15854.72,-538.46 15864.72,-534.96 15854.72,-531.46 15854.72,-538.46"/>
</g>
-<!-- Node85 -->
-<g id="node85" class="node">
-<title>Node85</title>
-<g id="a_node85"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7467,-270.5 7467,-393.5 7620,-393.5 7620,-270.5 7467,-270.5"/>
-<text text-anchor="start" x="7475" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ToVDevice</text>
-<text text-anchor="middle" x="7543.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="7467,-363.5 7620,-363.5 "/>
-<text text-anchor="middle" x="7543.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7467,-344.5 7620,-344.5 "/>
-<text text-anchor="start" x="7475" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7475" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7475" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7475" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7475" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7475" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node85 -->
-<g id="edge84" class="edge">
-<title>Node1->Node85</title>
-<path fill="none" stroke="midnightblue" d="M15542.56,-534.33C14645.74,-528.01 7824.31,-477.58 7629.5,-405 7621.65,-402.08 7614.02,-398.1 7606.74,-393.52"/>
-<polygon fill="none" stroke="midnightblue" points="15542.81,-537.83 15552.84,-534.4 15542.86,-530.83 15542.81,-537.83"/>
+<!-- Node84 -->
+<g id="node84" class="node">
+<title>Node84</title>
+<g id="a_node84"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="7420,-276 7420,-388 7593,-388 7593,-276 7420,-276"/>
+<text text-anchor="middle" x="7506.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BitPackAttrs ></text>
+<polyline fill="none" stroke="black" points="7420,-369 7593,-369 "/>
+<text text-anchor="middle" x="7506.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7420,-350 7593,-350 "/>
+<text text-anchor="start" x="7428" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7428" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7428" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7428" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7428" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7428" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node84 -->
+<g id="edge83" class="edge">
+<title>Node1->Node84</title>
+<path fill="none" stroke="midnightblue" d="M15854.71,-535.07C14951.81,-535.5 8026.67,-534.6 7613.5,-405 7600.79,-401.01 7588.21,-394.99 7576.38,-388.09"/>
+<polygon fill="none" stroke="midnightblue" points="15854.74,-538.57 15864.74,-535.06 15854.74,-531.57 15854.74,-538.57"/>
</g>
-<!-- Node87 -->
-<g id="node87" class="node">
-<title>Node87</title>
-<g id="a_node87"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7638.5,-270.5 7638.5,-393.5 7802.5,-393.5 7802.5,-270.5 7638.5,-270.5"/>
-<text text-anchor="start" x="7646.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ExpandDims</text>
-<text text-anchor="middle" x="7720.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="7638.5,-363.5 7802.5,-363.5 "/>
-<text text-anchor="middle" x="7720.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7638.5,-344.5 7802.5,-344.5 "/>
-<text text-anchor="start" x="7646.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7646.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7646.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7646.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7646.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7646.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node87 -->
-<g id="edge86" class="edge">
-<title>Node1->Node87</title>
-<path fill="none" stroke="midnightblue" d="M15542.59,-535.14C14670.4,-536.18 8196.09,-539.35 7813.5,-405 7805.22,-402.09 7797.09,-398.13 7789.3,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15542.9,-538.64 15552.9,-535.13 15542.9,-531.64 15542.9,-538.64"/>
+<!-- Node86 -->
+<g id="node86" class="node">
+<title>Node86</title>
+<g id="a_node86"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="7623,-270.5 7623,-393.5 7776,-393.5 7776,-270.5 7623,-270.5"/>
+<text text-anchor="start" x="7631" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ToVDevice</text>
+<text text-anchor="middle" x="7699.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="7623,-363.5 7776,-363.5 "/>
+<text text-anchor="middle" x="7699.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7623,-344.5 7776,-344.5 "/>
+<text text-anchor="start" x="7631" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7631" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7631" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7631" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7631" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7631" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node86 -->
+<g id="edge85" class="edge">
+<title>Node1->Node86</title>
+<path fill="none" stroke="midnightblue" d="M15854.87,-534.32C14950.04,-527.83 7991.31,-475.68 7791.5,-405 7783.28,-402.09 7775.22,-398.13 7767.51,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.89,-537.82 15864.92,-534.39 15854.94,-530.82 15854.89,-537.82"/>
</g>
-<!-- Node90 -->
-<g id="node90" class="node">
-<title>Node90</title>
-<g id="a_node90"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7822.5,-276 7822.5,-388 7992.5,-388 7992.5,-276 7822.5,-276"/>
-<text text-anchor="middle" x="7907.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ConcatAttrs ></text>
-<polyline fill="none" stroke="black" points="7822.5,-369 7992.5,-369 "/>
-<text text-anchor="middle" x="7907.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7822.5,-350 7992.5,-350 "/>
-<text text-anchor="start" x="7830.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7830.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7830.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7830.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7830.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7830.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node90 -->
-<g id="edge89" class="edge">
-<title>Node1->Node90</title>
-<path fill="none" stroke="midnightblue" d="M15542.75,-534.54C14687.22,-530.31 8437.21,-496.37 8055.5,-405 8034.38,-399.94 8012.76,-391.54 7992.79,-382.23"/>
-<polygon fill="none" stroke="midnightblue" points="15542.85,-538.04 15552.87,-534.59 15542.89,-531.04 15542.85,-538.04"/>
+<!-- Node88 -->
+<g id="node88" class="node">
+<title>Node88</title>
+<g id="a_node88"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="7800.5,-270.5 7800.5,-393.5 7964.5,-393.5 7964.5,-270.5 7800.5,-270.5"/>
+<text text-anchor="start" x="7808.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ExpandDims</text>
+<text text-anchor="middle" x="7882.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="7800.5,-363.5 7964.5,-363.5 "/>
+<text text-anchor="middle" x="7882.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7800.5,-344.5 7964.5,-344.5 "/>
+<text text-anchor="start" x="7808.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7808.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7808.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7808.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7808.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7808.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node88 -->
+<g id="edge87" class="edge">
+<title>Node1->Node88</title>
+<path fill="none" stroke="midnightblue" d="M15854.82,-535.14C14974.39,-536.24 8368.34,-539.93 7977.5,-405 7969.09,-402.1 7960.82,-398.14 7952.89,-393.56"/>
+<polygon fill="none" stroke="midnightblue" points="15854.92,-538.64 15864.92,-535.13 15854.91,-531.64 15854.92,-538.64"/>
</g>
-<!-- Node92 -->
-<g id="node92" class="node">
-<title>Node92</title>
-<g id="a_node92"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8065,-276 8065,-388 8218,-388 8218,-276 8065,-276"/>
-<text text-anchor="middle" x="8141.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StftAttrs ></text>
-<polyline fill="none" stroke="black" points="8065,-369 8218,-369 "/>
-<text text-anchor="middle" x="8141.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8065,-350 8218,-350 "/>
-<text text-anchor="start" x="8073" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8073" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8073" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8073" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8073" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8073" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node92 -->
-<g id="edge91" class="edge">
-<title>Node1->Node92</title>
-<path fill="none" stroke="midnightblue" d="M15542.6,-534.8C14698.8,-532.86 8620.09,-515.07 8254.5,-405 8241.25,-401.01 8228.05,-394.98 8215.6,-388.09"/>
-<polygon fill="none" stroke="midnightblue" points="15542.87,-538.3 15552.88,-534.82 15542.89,-531.3 15542.87,-538.3"/>
+<!-- Node91 -->
+<g id="node91" class="node">
+<title>Node91</title>
+<g id="a_node91"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="7986.5,-276 7986.5,-388 8156.5,-388 8156.5,-276 7986.5,-276"/>
+<text text-anchor="middle" x="8071.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ConcatAttrs ></text>
+<polyline fill="none" stroke="black" points="7986.5,-369 8156.5,-369 "/>
+<text text-anchor="middle" x="8071.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7986.5,-350 8156.5,-350 "/>
+<text text-anchor="start" x="7994.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7994.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7994.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7994.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7994.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7994.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node91 -->
+<g id="edge90" class="edge">
+<title>Node1->Node91</title>
+<path fill="none" stroke="midnightblue" d="M15854.58,-534.56C14989.09,-530.52 8610,-497.63 8220.5,-405 8198.98,-399.88 8176.92,-391.33 8156.6,-381.87"/>
+<polygon fill="none" stroke="midnightblue" points="15854.79,-538.06 15864.81,-534.61 15854.83,-531.06 15854.79,-538.06"/>
</g>
-<!-- Node94 -->
-<g id="node94" class="node">
-<title>Node94</title>
-<g id="a_node94"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8263.5,-270.5 8263.5,-393.5 8429.5,-393.5 8429.5,-270.5 8263.5,-270.5"/>
-<text text-anchor="start" x="8271.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SparseConv2</text>
-<text text-anchor="middle" x="8346.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="black" points="8263.5,-363.5 8429.5,-363.5 "/>
-<text text-anchor="middle" x="8346.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8263.5,-344.5 8429.5,-344.5 "/>
-<text text-anchor="start" x="8271.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8271.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8271.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8271.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8271.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8271.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node94 -->
-<g id="edge93" class="edge">
-<title>Node1->Node94</title>
-<path fill="none" stroke="midnightblue" d="M15542.58,-534.83C14711.43,-533.15 8806.28,-517.3 8452.5,-405 8443.38,-402.11 8434.34,-398.15 8425.6,-393.58"/>
-<polygon fill="none" stroke="midnightblue" points="15542.7,-538.33 15552.71,-534.85 15542.72,-531.33 15542.7,-538.33"/>
+<!-- Node93 -->
+<g id="node93" class="node">
+<title>Node93</title>
+<g id="a_node93"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="8230,-276 8230,-388 8383,-388 8383,-276 8230,-276"/>
+<text text-anchor="middle" x="8306.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StftAttrs ></text>
+<polyline fill="none" stroke="black" points="8230,-369 8383,-369 "/>
+<text text-anchor="middle" x="8306.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8230,-350 8383,-350 "/>
+<text text-anchor="start" x="8238" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8238" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8238" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8238" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8238" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8238" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node93 -->
+<g id="edge92" class="edge">
+<title>Node1->Node93</title>
+<path fill="none" stroke="midnightblue" d="M15854.68,-534.82C15001.86,-533.07 8793.85,-516.53 8420.5,-405 8407.15,-401.01 8393.85,-394.99 8381.3,-388.09"/>
+<polygon fill="none" stroke="midnightblue" points="15854.76,-538.32 15864.77,-534.84 15854.77,-531.32 15854.76,-538.32"/>
</g>
-<!-- Node96 -->
-<g id="node96" class="node">
-<title>Node96</title>
-<g id="a_node96"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8461.5,-270.5 8461.5,-393.5 8625.5,-393.5 8625.5,-270.5 8461.5,-270.5"/>
-<text text-anchor="start" x="8469.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReshapeLike</text>
-<text text-anchor="middle" x="8543.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="8461.5,-363.5 8625.5,-363.5 "/>
-<text text-anchor="middle" x="8543.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8461.5,-344.5 8625.5,-344.5 "/>
-<text text-anchor="start" x="8469.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8469.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8469.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8469.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8469.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8469.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node96 -->
-<g id="edge95" class="edge">
-<title>Node1->Node96</title>
-<path fill="none" stroke="midnightblue" d="M15542.56,-534.88C14723.61,-533.61 8983.52,-520.66 8641.5,-405 8632.9,-402.09 8624.42,-398.13 8616.27,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15542.83,-538.38 15552.83,-534.89 15542.84,-531.38 15542.83,-538.38"/>
+<!-- Node95 -->
+<g id="node95" class="node">
+<title>Node95</title>
+<g id="a_node95"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="8429.5,-270.5 8429.5,-393.5 8595.5,-393.5 8595.5,-270.5 8429.5,-270.5"/>
+<text text-anchor="start" x="8437.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SparseConv2</text>
+<text text-anchor="middle" x="8512.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="black" points="8429.5,-363.5 8595.5,-363.5 "/>
+<text text-anchor="middle" x="8512.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8429.5,-344.5 8595.5,-344.5 "/>
+<text text-anchor="start" x="8437.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8437.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8437.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8437.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8437.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8437.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node95 -->
+<g id="edge94" class="edge">
+<title>Node1->Node95</title>
+<path fill="none" stroke="midnightblue" d="M15854.6,-534.86C15014.04,-533.48 8979.77,-519.61 8618.5,-405 8609.38,-402.11 8600.34,-398.16 8591.6,-393.58"/>
+<polygon fill="none" stroke="midnightblue" points="15854.83,-538.36 15864.84,-534.88 15854.85,-531.36 15854.83,-538.36"/>
</g>
-<!-- Node98 -->
-<g id="node98" class="node">
-<title>Node98</title>
-<g id="a_node98"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8650.5,-270.5 8650.5,-393.5 8794.5,-393.5 8794.5,-270.5 8650.5,-270.5"/>
-<text text-anchor="start" x="8658.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ROIAlign</text>
-<text text-anchor="middle" x="8722.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="8650.5,-363.5 8794.5,-363.5 "/>
-<text text-anchor="middle" x="8722.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8650.5,-344.5 8794.5,-344.5 "/>
-<text text-anchor="start" x="8658.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8658.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8658.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8658.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8658.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8658.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node98 -->
-<g id="edge97" class="edge">
-<title>Node1->Node98</title>
-<path fill="none" stroke="midnightblue" d="M15542.57,-535.03C14734.28,-535.01 9135.66,-530.34 8806.5,-405 8798.96,-402.13 8791.63,-398.26 8784.65,-393.8"/>
-<polygon fill="none" stroke="midnightblue" points="15542.71,-538.53 15552.71,-535.03 15542.71,-531.53 15542.71,-538.53"/>
+<!-- Node97 -->
+<g id="node97" class="node">
+<title>Node97</title>
+<g id="a_node97"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="8627.5,-270.5 8627.5,-393.5 8791.5,-393.5 8791.5,-270.5 8627.5,-270.5"/>
+<text text-anchor="start" x="8635.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReshapeLike</text>
+<text text-anchor="middle" x="8709.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="8627.5,-363.5 8791.5,-363.5 "/>
+<text text-anchor="middle" x="8709.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8627.5,-344.5 8791.5,-344.5 "/>
+<text text-anchor="start" x="8635.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8635.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8635.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8635.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8635.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8635.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node97 -->
+<g id="edge96" class="edge">
+<title>Node1->Node97</title>
+<path fill="none" stroke="midnightblue" d="M15854.81,-534.91C15027.15,-533.97 9156.99,-523.12 8807.5,-405 8798.9,-402.09 8790.42,-398.13 8782.27,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.89,-538.41 15864.89,-534.93 15854.9,-531.41 15854.89,-538.41"/>
</g>
-<!-- Node100 -->
-<g id="node100" class="node">
-<title>Node100</title>
-<g id="a_node100"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8815.5,-270.5 8815.5,-393.5 8961.5,-393.5 8961.5,-270.5 8815.5,-270.5"/>
-<text text-anchor="start" x="8823.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
-<text text-anchor="middle" x="8888.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool1DAttrs ></text>
-<polyline fill="none" stroke="black" points="8815.5,-363.5 8961.5,-363.5 "/>
+<!-- Node99 -->
+<g id="node99" class="node">
+<title>Node99</title>
+<g id="a_node99"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="8816.5,-270.5 8816.5,-393.5 8960.5,-393.5 8960.5,-270.5 8816.5,-270.5"/>
+<text text-anchor="start" x="8824.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ROIAlign</text>
+<text text-anchor="middle" x="8888.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="8816.5,-363.5 8960.5,-363.5 "/>
<text text-anchor="middle" x="8888.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8815.5,-344.5 8961.5,-344.5 "/>
-<text text-anchor="start" x="8823.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8823.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8823.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8823.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8823.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8823.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polyline fill="none" stroke="black" points="8816.5,-344.5 8960.5,-344.5 "/>
+<text text-anchor="start" x="8824.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8824.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8824.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8824.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8824.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8824.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
-<!-- Node1->Node100 -->
-<g id="edge99" class="edge">
-<title>Node1->Node100</title>
-<path fill="none" stroke="midnightblue" d="M15542.45,-534.98C14744.92,-534.56 9293.3,-527.24 8972.5,-405 8964.96,-402.13 8957.64,-398.26 8950.66,-393.8"/>
-<polygon fill="none" stroke="midnightblue" points="15542.73,-538.48 15552.74,-534.98 15542.74,-531.48 15542.73,-538.48"/>
+<!-- Node1->Node99 -->
+<g id="edge98" class="edge">
+<title>Node1->Node99</title>
+<path fill="none" stroke="midnightblue" d="M15854.44,-535.07C15035.94,-535.39 9308.98,-533.05 8972.5,-405 8964.96,-402.13 8957.63,-398.27 8950.65,-393.81"/>
+<polygon fill="none" stroke="midnightblue" points="15854.7,-538.57 15864.7,-535.06 15854.7,-531.57 15854.7,-538.57"/>
</g>
-<!-- Node102 -->
-<g id="node102" class="node">
-<title>Node102</title>
-<g id="a_node102"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<!-- Node101 -->
+<g id="node101" class="node">
+<title>Node101</title>
+<g id="a_node101"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="8982,-276 8982,-388 9139,-388 9139,-276 8982,-276"/>
<text text-anchor="middle" x="9060.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TriluAttrs ></text>
<polyline fill="none" stroke="black" points="8982,-369 9139,-369 "/>
@@ -1213,16 +1188,16 @@
</a>
</g>
</g>
-<!-- Node1->Node102 -->
-<g id="edge101" class="edge">
-<title>Node1->Node102</title>
-<path fill="none" stroke="midnightblue" d="M15542.71,-534.7C14793.38,-532.16 9929.09,-511.63 9286.5,-405 9236.33,-396.67 9181.97,-379.63 9139.14,-364.21"/>
-<polygon fill="none" stroke="midnightblue" points="15542.91,-538.2 15552.92,-534.73 15542.93,-531.2 15542.91,-538.2"/>
+<!-- Node1->Node101 -->
+<g id="edge100" class="edge">
+<title>Node1->Node101</title>
+<path fill="none" stroke="midnightblue" d="M15854.55,-534.8C15083.93,-532.99 9962.01,-516.76 9286.5,-405 9236.33,-396.7 9181.96,-379.65 9139.13,-364.23"/>
+<polygon fill="none" stroke="midnightblue" points="15854.76,-538.3 15864.77,-534.82 15854.78,-531.3 15854.76,-538.3"/>
</g>
-<!-- Node105 -->
-<g id="node105" class="node">
-<title>Node105</title>
-<g id="a_node105"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<!-- Node104 -->
+<g id="node104" class="node">
+<title>Node104</title>
+<g id="a_node104"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="9296,-276 9296,-388 9473,-388 9473,-276 9296,-276"/>
<text text-anchor="middle" x="9384.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SoftmaxAttrs ></text>
<polyline fill="none" stroke="black" points="9296,-369 9473,-369 "/>
@@ -1237,2897 +1212,2922 @@
</a>
</g>
</g>
-<!-- Node1->Node105 -->
-<g id="edge104" class="edge">
-<title>Node1->Node105</title>
-<path fill="none" stroke="midnightblue" d="M15542.79,-534.49C14782.98,-530.26 9794.63,-498.96 9493.5,-405 9480.62,-400.98 9467.84,-394.94 9455.8,-388.04"/>
-<polygon fill="none" stroke="midnightblue" points="15542.86,-537.99 15552.87,-534.54 15542.89,-530.99 15542.86,-537.99"/>
+<!-- Node1->Node104 -->
+<g id="edge103" class="edge">
+<title>Node1->Node104</title>
+<path fill="none" stroke="midnightblue" d="M15854.57,-534.58C15106.71,-531.12 10267.08,-505 9626.5,-405 9574.64,-396.9 9518.34,-380.63 9473.11,-365.6"/>
+<polygon fill="none" stroke="midnightblue" points="15854.74,-538.08 15864.76,-534.63 15854.77,-531.08 15854.74,-538.08"/>
</g>
-<!-- Node108 -->
-<g id="node108" class="node">
-<title>Node108</title>
-<g id="a_node108"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9502.5,-270.5 9502.5,-393.5 9672.5,-393.5 9672.5,-270.5 9502.5,-270.5"/>
-<text text-anchor="start" x="9510.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SpaceToBatch</text>
-<text text-anchor="middle" x="9587.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">NDAttrs ></text>
-<polyline fill="none" stroke="black" points="9502.5,-363.5 9672.5,-363.5 "/>
-<text text-anchor="middle" x="9587.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9502.5,-344.5 9672.5,-344.5 "/>
-<text text-anchor="start" x="9510.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="9510.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="9510.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="9510.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="9510.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="9510.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node108 -->
-<g id="edge107" class="edge">
-<title>Node1->Node108</title>
-<path fill="none" stroke="midnightblue" d="M15542.73,-534.28C14798.16,-528.6 10000.66,-488.8 9708.5,-405 9696.4,-401.53 9684.27,-396.54 9672.61,-390.79"/>
-<polygon fill="none" stroke="midnightblue" points="15542.85,-537.78 15552.88,-534.36 15542.9,-530.78 15542.85,-537.78"/>
+<!-- Node107 -->
+<g id="node107" class="node">
+<title>Node107</title>
+<g id="a_node107"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="9635.5,-270.5 9635.5,-393.5 9781.5,-393.5 9781.5,-270.5 9635.5,-270.5"/>
+<text text-anchor="start" x="9643.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
+<text text-anchor="middle" x="9708.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool1DAttrs ></text>
+<polyline fill="none" stroke="black" points="9635.5,-363.5 9781.5,-363.5 "/>
+<text text-anchor="middle" x="9708.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9635.5,-344.5 9781.5,-344.5 "/>
+<text text-anchor="start" x="9643.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="9643.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="9643.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="9643.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="9643.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="9643.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node107 -->
+<g id="edge106" class="edge">
+<title>Node1->Node107</title>
+<path fill="none" stroke="midnightblue" d="M15854.84,-534.77C15094.07,-532.74 10091.67,-515.2 9795.5,-405 9787.69,-402.09 9780.08,-398.17 9772.81,-393.64"/>
+<polygon fill="none" stroke="midnightblue" points="15854.92,-538.27 15864.93,-534.8 15854.94,-531.27 15854.92,-538.27"/>
</g>
<!-- Node110 -->
<g id="node110" class="node">
<title>Node110</title>
<g id="a_node110"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9717.5,-270.5 9717.5,-393.5 9891.5,-393.5 9891.5,-270.5 9717.5,-270.5"/>
-<text text-anchor="start" x="9725.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SlidingWindow</text>
-<text text-anchor="middle" x="9804.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="9717.5,-363.5 9891.5,-363.5 "/>
-<text text-anchor="middle" x="9804.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9717.5,-344.5 9891.5,-344.5 "/>
-<text text-anchor="start" x="9725.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="9725.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="9725.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="9725.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="9725.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="9725.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="9804.5,-270.5 9804.5,-393.5 9974.5,-393.5 9974.5,-270.5 9804.5,-270.5"/>
+<text text-anchor="start" x="9812.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SpaceToBatch</text>
+<text text-anchor="middle" x="9889.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">NDAttrs ></text>
+<polyline fill="none" stroke="black" points="9804.5,-363.5 9974.5,-363.5 "/>
+<text text-anchor="middle" x="9889.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9804.5,-344.5 9974.5,-344.5 "/>
+<text text-anchor="start" x="9812.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="9812.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="9812.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="9812.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="9812.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="9812.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node110 -->
<g id="edge109" class="edge">
<title>Node1->Node110</title>
-<path fill="none" stroke="midnightblue" d="M15542.62,-534.33C14812.37,-529.08 10193.11,-492.48 9913.5,-405 9904.19,-402.09 9894.94,-398.12 9885.98,-393.54"/>
-<polygon fill="none" stroke="midnightblue" points="15542.81,-537.83 15552.83,-534.4 15542.86,-530.83 15542.81,-537.83"/>
+<path fill="none" stroke="midnightblue" d="M15854.66,-534.24C15109.56,-528.21 10308.64,-486.29 10015.5,-405 10001.78,-401.2 9987.98,-395.56 9974.81,-389.1"/>
+<polygon fill="none" stroke="midnightblue" points="15854.79,-537.74 15864.81,-534.32 15854.84,-530.74 15854.79,-537.74"/>
</g>
<!-- Node112 -->
<g id="node112" class="node">
<title>Node112</title>
<g id="a_node112"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9922.5,-276 9922.5,-388 10104.5,-388 10104.5,-276 9922.5,-276"/>
-<text text-anchor="middle" x="10013.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Resize3DAttrs ></text>
-<polyline fill="none" stroke="black" points="9922.5,-369 10104.5,-369 "/>
-<text text-anchor="middle" x="10013.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9922.5,-350 10104.5,-350 "/>
-<text text-anchor="start" x="9930.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="9930.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="9930.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="9930.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="9930.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="9930.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10024.5,-270.5 10024.5,-393.5 10198.5,-393.5 10198.5,-270.5 10024.5,-270.5"/>
+<text text-anchor="start" x="10032.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SlidingWindow</text>
+<text text-anchor="middle" x="10111.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="10024.5,-363.5 10198.5,-363.5 "/>
+<text text-anchor="middle" x="10111.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10024.5,-344.5 10198.5,-344.5 "/>
+<text text-anchor="start" x="10032.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10032.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10032.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10032.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10032.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10032.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node112 -->
<g id="edge111" class="edge">
<title>Node1->Node112</title>
-<path fill="none" stroke="midnightblue" d="M15542.48,-534.26C14827.03,-528.65 10389.15,-490.44 10120.5,-405 10107.8,-400.96 10095.23,-394.91 10083.41,-388"/>
-<polygon fill="none" stroke="midnightblue" points="15542.71,-537.77 15552.74,-534.34 15542.77,-530.77 15542.71,-537.77"/>
+<path fill="none" stroke="midnightblue" d="M15854.6,-534.3C15124.17,-528.81 10503.75,-490.78 10223.5,-405 10214,-402.09 10204.52,-398.13 10195.34,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.78,-537.8 15864.81,-534.37 15854.84,-530.8 15854.78,-537.8"/>
</g>
<!-- Node114 -->
<g id="node114" class="node">
<title>Node114</title>
<g id="a_node114"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10129.5,-270.5 10129.5,-393.5 10281.5,-393.5 10281.5,-270.5 10129.5,-270.5"/>
-<text text-anchor="start" x="10137.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FixedPoint</text>
-<text text-anchor="middle" x="10205.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">MultiplyPerAxisAttrs ></text>
-<polyline fill="none" stroke="black" points="10129.5,-363.5 10281.5,-363.5 "/>
-<text text-anchor="middle" x="10205.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10129.5,-344.5 10281.5,-344.5 "/>
-<text text-anchor="start" x="10137.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10137.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10137.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10137.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10137.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10137.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10232.5,-276 10232.5,-388 10414.5,-388 10414.5,-276 10232.5,-276"/>
+<text text-anchor="middle" x="10323.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Resize3DAttrs ></text>
+<polyline fill="none" stroke="black" points="10232.5,-369 10414.5,-369 "/>
+<text text-anchor="middle" x="10323.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10232.5,-350 10414.5,-350 "/>
+<text text-anchor="start" x="10240.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10240.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10240.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10240.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10240.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10240.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node114 -->
<g id="edge113" class="edge">
<title>Node1->Node114</title>
-<path fill="none" stroke="midnightblue" d="M15542.67,-534.43C14840.46,-530.1 10549.21,-499.8 10293.5,-405 10285.63,-402.08 10277.95,-398.15 10270.62,-393.62"/>
-<polygon fill="none" stroke="midnightblue" points="15542.73,-537.93 15552.75,-534.49 15542.77,-530.93 15542.73,-537.93"/>
+<path fill="none" stroke="midnightblue" d="M15854.75,-534.26C15140.09,-528.57 10700.42,-489.89 10431.5,-405 10418.71,-400.96 10406.04,-394.91 10394.11,-388.01"/>
+<polygon fill="none" stroke="midnightblue" points="15854.97,-537.76 15865,-534.34 15855.03,-530.76 15854.97,-537.76"/>
</g>
<!-- Node116 -->
<g id="node116" class="node">
<title>Node116</title>
<g id="a_node116"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10303,-270.5 10303,-393.5 10450,-393.5 10450,-270.5 10303,-270.5"/>
-<text text-anchor="start" x="10311" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AvgPool1</text>
-<text text-anchor="middle" x="10376.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="black" points="10303,-363.5 10450,-363.5 "/>
-<text text-anchor="middle" x="10376.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10303,-344.5 10450,-344.5 "/>
-<text text-anchor="start" x="10311" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10311" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10311" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10311" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10311" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10311" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10440.5,-270.5 10440.5,-393.5 10592.5,-393.5 10592.5,-270.5 10440.5,-270.5"/>
+<text text-anchor="start" x="10448.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FixedPoint</text>
+<text text-anchor="middle" x="10516.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">MultiplyPerAxisAttrs ></text>
+<polyline fill="none" stroke="black" points="10440.5,-363.5 10592.5,-363.5 "/>
+<text text-anchor="middle" x="10516.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10440.5,-344.5 10592.5,-344.5 "/>
+<text text-anchor="start" x="10448.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10448.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10448.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10448.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10448.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10448.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node116 -->
<g id="edge115" class="edge">
<title>Node1->Node116</title>
-<path fill="none" stroke="midnightblue" d="M15542.72,-534.4C14853.43,-529.88 10708,-498.89 10461.5,-405 10453.82,-402.07 10446.35,-398.14 10439.22,-393.6"/>
-<polygon fill="none" stroke="midnightblue" points="15542.84,-537.9 15552.86,-534.46 15542.89,-530.9 15542.84,-537.9"/>
+<path fill="none" stroke="midnightblue" d="M15854.68,-534.42C15152.51,-529.98 10861.48,-499.09 10605.5,-405 10597.57,-402.09 10589.82,-398.15 10582.41,-393.62"/>
+<polygon fill="none" stroke="midnightblue" points="15854.73,-537.92 15864.75,-534.48 15854.77,-530.92 15854.73,-537.92"/>
</g>
<!-- Node118 -->
<g id="node118" class="node">
<title>Node118</title>
<g id="a_node118"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10470.5,-276 10470.5,-388 10644.5,-388 10644.5,-276 10470.5,-276"/>
-<text text-anchor="middle" x="10557.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MatmulAttrs ></text>
-<polyline fill="none" stroke="black" points="10470.5,-369 10644.5,-369 "/>
-<text text-anchor="middle" x="10557.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10470.5,-350 10644.5,-350 "/>
-<text text-anchor="start" x="10478.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10478.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10478.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10478.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10478.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10478.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10615,-270.5 10615,-393.5 10762,-393.5 10762,-270.5 10615,-270.5"/>
+<text text-anchor="start" x="10623" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AvgPool1</text>
+<text text-anchor="middle" x="10688.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="black" points="10615,-363.5 10762,-363.5 "/>
+<text text-anchor="middle" x="10688.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10615,-344.5 10762,-344.5 "/>
+<text text-anchor="start" x="10623" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10623" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10623" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10623" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10623" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10623" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node118 -->
<g id="edge117" class="edge">
<title>Node1->Node118</title>
-<path fill="none" stroke="midnightblue" d="M15542.66,-534.15C14868.29,-528 10892.96,-488.3 10653.5,-405 10641.89,-400.96 10630.53,-394.96 10619.93,-388.12"/>
-<polygon fill="none" stroke="midnightblue" points="15542.79,-537.65 15552.82,-534.24 15542.85,-530.65 15542.79,-537.65"/>
+<path fill="none" stroke="midnightblue" d="M15854.72,-534.4C15165.43,-529.88 11020,-498.89 10773.5,-405 10765.82,-402.07 10758.35,-398.14 10751.22,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="15854.84,-537.9 15864.86,-534.46 15854.89,-530.9 15854.84,-537.9"/>
</g>
-<!-- Node121 -->
-<g id="node121" class="node">
-<title>Node121</title>
-<g id="a_node121"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10662.5,-270.5 10662.5,-393.5 10838.5,-393.5 10838.5,-270.5 10662.5,-270.5"/>
-<text text-anchor="start" x="10670.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgmaxArgmin</text>
-<text text-anchor="middle" x="10750.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="10662.5,-363.5 10838.5,-363.5 "/>
-<text text-anchor="middle" x="10750.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10662.5,-344.5 10838.5,-344.5 "/>
-<text text-anchor="start" x="10670.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10670.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10670.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10670.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10670.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10670.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node121 -->
-<g id="edge120" class="edge">
-<title>Node1->Node121</title>
-<path fill="none" stroke="midnightblue" d="M15542.56,-534.03C14883.28,-527.2 11077.35,-484.46 10847.5,-405 10839.08,-402.09 10830.78,-398.16 10822.79,-393.63"/>
-<polygon fill="none" stroke="midnightblue" points="15542.93,-537.53 15552.97,-534.13 15543,-530.53 15542.93,-537.53"/>
+<!-- Node120 -->
+<g id="node120" class="node">
+<title>Node120</title>
+<g id="a_node120"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="10782.5,-276 10782.5,-388 10956.5,-388 10956.5,-276 10782.5,-276"/>
+<text text-anchor="middle" x="10869.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MatmulAttrs ></text>
+<polyline fill="none" stroke="black" points="10782.5,-369 10956.5,-369 "/>
+<text text-anchor="middle" x="10869.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10782.5,-350 10956.5,-350 "/>
+<text text-anchor="start" x="10790.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10790.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10790.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10790.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10790.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10790.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node120 -->
+<g id="edge119" class="edge">
+<title>Node1->Node120</title>
+<path fill="none" stroke="midnightblue" d="M15854.66,-534.15C15180.29,-528 11204.96,-488.3 10965.5,-405 10953.89,-400.96 10942.53,-394.96 10931.93,-388.12"/>
+<polygon fill="none" stroke="midnightblue" points="15854.79,-537.65 15864.82,-534.24 15854.85,-530.65 15854.79,-537.65"/>
</g>
<!-- Node123 -->
<g id="node123" class="node">
<title>Node123</title>
<g id="a_node123"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10856.5,-270.5 10856.5,-393.5 11014.5,-393.5 11014.5,-270.5 10856.5,-270.5"/>
-<text text-anchor="start" x="10864.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Dequantize</text>
-<text text-anchor="middle" x="10935.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="10856.5,-363.5 11014.5,-363.5 "/>
-<text text-anchor="middle" x="10935.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10856.5,-344.5 11014.5,-344.5 "/>
-<text text-anchor="start" x="10864.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10864.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10864.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10864.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10864.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10864.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10974.5,-270.5 10974.5,-393.5 11150.5,-393.5 11150.5,-270.5 10974.5,-270.5"/>
+<text text-anchor="start" x="10982.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgmaxArgmin</text>
+<text text-anchor="middle" x="11062.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="10974.5,-363.5 11150.5,-363.5 "/>
+<text text-anchor="middle" x="11062.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10974.5,-344.5 11150.5,-344.5 "/>
+<text text-anchor="start" x="10982.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10982.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10982.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10982.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10982.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10982.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node123 -->
<g id="edge122" class="edge">
<title>Node1->Node123</title>
-<path fill="none" stroke="midnightblue" d="M15542.76,-534.05C14898.05,-527.48 11242.62,-486.71 11023.5,-405 11015.64,-402.07 11007.96,-398.13 11000.63,-393.59"/>
-<polygon fill="none" stroke="midnightblue" points="15542.9,-537.55 15552.94,-534.15 15542.98,-530.55 15542.9,-537.55"/>
+<path fill="none" stroke="midnightblue" d="M15854.56,-534.03C15195.28,-527.2 11389.35,-484.46 11159.5,-405 11151.08,-402.09 11142.78,-398.16 11134.79,-393.63"/>
+<polygon fill="none" stroke="midnightblue" points="15854.93,-537.53 15864.97,-534.13 15855,-530.53 15854.93,-537.53"/>
</g>
<!-- Node125 -->
<g id="node125" class="node">
<title>Node125</title>
<g id="a_node125"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11032.5,-270.5 11032.5,-393.5 11182.5,-393.5 11182.5,-270.5 11032.5,-270.5"/>
-<text text-anchor="start" x="11040.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< YoloReorg</text>
-<text text-anchor="middle" x="11107.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11032.5,-363.5 11182.5,-363.5 "/>
-<text text-anchor="middle" x="11107.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11032.5,-344.5 11182.5,-344.5 "/>
-<text text-anchor="start" x="11040.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11040.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11040.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11040.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11040.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11040.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11168.5,-270.5 11168.5,-393.5 11326.5,-393.5 11326.5,-270.5 11168.5,-270.5"/>
+<text text-anchor="start" x="11176.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Dequantize</text>
+<text text-anchor="middle" x="11247.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11168.5,-363.5 11326.5,-363.5 "/>
+<text text-anchor="middle" x="11247.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11168.5,-344.5 11326.5,-344.5 "/>
+<text text-anchor="start" x="11176.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11176.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11176.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11176.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11176.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11176.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node125 -->
<g id="edge124" class="edge">
<title>Node1->Node125</title>
-<path fill="none" stroke="midnightblue" d="M15542.29,-533.99C14910.02,-527.22 11401.25,-486.1 11191.5,-405 11183.98,-402.09 11176.66,-398.2 11169.69,-393.72"/>
-<polygon fill="none" stroke="midnightblue" points="15542.68,-537.5 15552.72,-534.11 15542.76,-530.5 15542.68,-537.5"/>
+<path fill="none" stroke="midnightblue" d="M15854.76,-534.05C15210.05,-527.48 11554.62,-486.71 11335.5,-405 11327.64,-402.07 11319.96,-398.13 11312.63,-393.59"/>
+<polygon fill="none" stroke="midnightblue" points="15854.9,-537.55 15864.94,-534.15 15854.98,-530.55 15854.9,-537.55"/>
</g>
<!-- Node127 -->
<g id="node127" class="node">
<title>Node127</title>
<g id="a_node127"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11200.5,-276 11200.5,-388 11376.5,-388 11376.5,-276 11200.5,-276"/>
-<text text-anchor="middle" x="11288.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< UniformAttrs ></text>
-<polyline fill="none" stroke="black" points="11200.5,-369 11376.5,-369 "/>
-<text text-anchor="middle" x="11288.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11200.5,-350 11376.5,-350 "/>
-<text text-anchor="start" x="11208.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11208.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11208.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11208.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11208.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11208.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11344.5,-270.5 11344.5,-393.5 11494.5,-393.5 11494.5,-270.5 11344.5,-270.5"/>
+<text text-anchor="start" x="11352.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< YoloReorg</text>
+<text text-anchor="middle" x="11419.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11344.5,-363.5 11494.5,-363.5 "/>
+<text text-anchor="middle" x="11419.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11344.5,-344.5 11494.5,-344.5 "/>
+<text text-anchor="start" x="11352.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11352.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11352.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11352.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11352.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11352.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node127 -->
<g id="edge126" class="edge">
<title>Node1->Node127</title>
-<path fill="none" stroke="midnightblue" d="M15542.68,-533.68C14927.99,-525.12 11588.23,-475.47 11385.5,-405 11373.81,-400.94 11362.36,-394.92 11351.65,-388.07"/>
-<polygon fill="none" stroke="midnightblue" points="15542.78,-537.19 15552.83,-533.82 15542.88,-530.19 15542.78,-537.19"/>
+<path fill="none" stroke="midnightblue" d="M15854.29,-533.99C15222.02,-527.22 11713.25,-486.1 11503.5,-405 11495.98,-402.09 11488.66,-398.2 11481.69,-393.72"/>
+<polygon fill="none" stroke="midnightblue" points="15854.68,-537.5 15864.72,-534.11 15854.76,-530.5 15854.68,-537.5"/>
</g>
<!-- Node129 -->
<g id="node129" class="node">
<title>Node129</title>
<g id="a_node129"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11394.5,-270.5 11394.5,-393.5 11570.5,-393.5 11570.5,-270.5 11394.5,-270.5"/>
-<text text-anchor="start" x="11402.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReshapeTensor</text>
-<text text-anchor="middle" x="11482.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11394.5,-363.5 11570.5,-363.5 "/>
-<text text-anchor="middle" x="11482.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11394.5,-344.5 11570.5,-344.5 "/>
-<text text-anchor="start" x="11402.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11402.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11402.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11402.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11402.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11402.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11512.5,-276 11512.5,-388 11688.5,-388 11688.5,-276 11512.5,-276"/>
+<text text-anchor="middle" x="11600.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< UniformAttrs ></text>
+<polyline fill="none" stroke="black" points="11512.5,-369 11688.5,-369 "/>
+<text text-anchor="middle" x="11600.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11512.5,-350 11688.5,-350 "/>
+<text text-anchor="start" x="11520.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11520.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11520.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11520.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11520.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11520.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node129 -->
<g id="edge128" class="edge">
<title>Node1->Node129</title>
-<path fill="none" stroke="midnightblue" d="M15542.52,-535.35C14962.47,-537.02 11964.22,-539.05 11579.5,-405 11571.08,-402.07 11562.79,-398.12 11554.8,-393.59"/>
-<polygon fill="none" stroke="midnightblue" points="15542.94,-538.85 15552.93,-535.32 15542.92,-531.85 15542.94,-538.85"/>
+<path fill="none" stroke="midnightblue" d="M15854.68,-533.68C15239.99,-525.12 11900.23,-475.47 11697.5,-405 11685.81,-400.94 11674.36,-394.92 11663.65,-388.07"/>
+<polygon fill="none" stroke="midnightblue" points="15854.78,-537.19 15864.83,-533.82 15854.88,-530.19 15854.78,-537.19"/>
</g>
<!-- Node131 -->
<g id="node131" class="node">
<title>Node131</title>
<g id="a_node131"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11589,-270.5 11589,-393.5 11750,-393.5 11750,-270.5 11589,-270.5"/>
-<text text-anchor="start" x="11597" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Multinomial</text>
-<text text-anchor="middle" x="11669.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11589,-363.5 11750,-363.5 "/>
-<text text-anchor="middle" x="11669.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11589,-344.5 11750,-344.5 "/>
-<text text-anchor="start" x="11597" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11597" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11597" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11597" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11597" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11597" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11706.5,-270.5 11706.5,-393.5 11882.5,-393.5 11882.5,-270.5 11706.5,-270.5"/>
+<text text-anchor="start" x="11714.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReshapeTensor</text>
+<text text-anchor="middle" x="11794.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11706.5,-363.5 11882.5,-363.5 "/>
+<text text-anchor="middle" x="11794.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11706.5,-344.5 11882.5,-344.5 "/>
+<text text-anchor="start" x="11714.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11714.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11714.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11714.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11714.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11714.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node131 -->
<g id="edge130" class="edge">
<title>Node1->Node131</title>
-<path fill="none" stroke="midnightblue" d="M15542.65,-535.43C14977.9,-537.43 12122.55,-540.72 11758.5,-405 11750.59,-402.05 11742.85,-398.09 11735.44,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15542.8,-538.93 15552.79,-535.39 15542.78,-531.93 15542.8,-538.93"/>
+<path fill="none" stroke="midnightblue" d="M15854.52,-535.35C15274.47,-537.02 12276.22,-539.05 11891.5,-405 11883.08,-402.07 11874.79,-398.12 11866.8,-393.59"/>
+<polygon fill="none" stroke="midnightblue" points="15854.94,-538.85 15864.93,-535.32 15854.92,-531.85 15854.94,-538.85"/>
</g>
<!-- Node133 -->
<g id="node133" class="node">
<title>Node133</title>
<g id="a_node133"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11768,-270.5 11768,-393.5 11939,-393.5 11939,-270.5 11768,-270.5"/>
-<text text-anchor="start" x="11776" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MetaSchedule</text>
-<text text-anchor="middle" x="11853.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">LayoutTransformAttrs ></text>
-<polyline fill="none" stroke="black" points="11768,-363.5 11939,-363.5 "/>
-<text text-anchor="middle" x="11853.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11768,-344.5 11939,-344.5 "/>
-<text text-anchor="start" x="11776" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11776" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11776" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11776" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11776" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11776" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11901,-270.5 11901,-393.5 12062,-393.5 12062,-270.5 11901,-270.5"/>
+<text text-anchor="start" x="11909" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Multinomial</text>
+<text text-anchor="middle" x="11981.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11901,-363.5 12062,-363.5 "/>
+<text text-anchor="middle" x="11981.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11901,-344.5 12062,-344.5 "/>
+<text text-anchor="start" x="11909" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11909" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11909" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11909" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11909" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11909" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node133 -->
<g id="edge132" class="edge">
<title>Node1->Node133</title>
-<path fill="none" stroke="midnightblue" d="M15542.65,-535.07C14994.73,-535.03 12295.62,-528.52 11948.5,-405 11940.21,-402.05 11932.06,-398.1 11924.22,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15542.89,-538.57 15552.89,-535.07 15542.89,-531.57 15542.89,-538.57"/>
+<path fill="none" stroke="midnightblue" d="M15854.65,-535.43C15289.9,-537.43 12434.55,-540.72 12070.5,-405 12062.59,-402.05 12054.85,-398.09 12047.44,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.8,-538.93 15864.79,-535.39 15854.78,-531.93 15854.8,-538.93"/>
</g>
<!-- Node135 -->
<g id="node135" class="node">
<title>Node135</title>
<g id="a_node135"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11957.5,-270.5 11957.5,-393.5 12103.5,-393.5 12103.5,-270.5 11957.5,-270.5"/>
-<text text-anchor="start" x="11965.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Compiler</text>
-<text text-anchor="middle" x="12030.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11957.5,-363.5 12103.5,-363.5 "/>
-<text text-anchor="middle" x="12030.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11957.5,-344.5 12103.5,-344.5 "/>
-<text text-anchor="start" x="11965.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11965.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11965.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11965.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11965.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11965.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="12080,-270.5 12080,-393.5 12251,-393.5 12251,-270.5 12080,-270.5"/>
+<text text-anchor="start" x="12088" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MetaSchedule</text>
+<text text-anchor="middle" x="12165.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">LayoutTransformAttrs ></text>
+<polyline fill="none" stroke="black" points="12080,-363.5 12251,-363.5 "/>
+<text text-anchor="middle" x="12165.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12080,-344.5 12251,-344.5 "/>
+<text text-anchor="start" x="12088" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12088" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12088" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12088" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12088" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12088" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node135 -->
<g id="edge134" class="edge">
<title>Node1->Node135</title>
-<path fill="none" stroke="midnightblue" d="M15542.56,-535.29C15008.64,-536.38 12438.77,-534.82 12112.5,-405 12105.11,-402.06 12097.93,-398.14 12091.1,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15542.92,-538.79 15552.92,-535.27 15542.91,-531.79 15542.92,-538.79"/>
+<path fill="none" stroke="midnightblue" d="M15854.65,-535.07C15306.73,-535.03 12607.62,-528.52 12260.5,-405 12252.21,-402.05 12244.06,-398.1 12236.22,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.89,-538.57 15864.89,-535.07 15854.89,-531.57 15854.89,-538.57"/>
</g>
<!-- Node137 -->
<g id="node137" class="node">
<title>Node137</title>
<g id="a_node137"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12121.5,-276 12121.5,-388 12303.5,-388 12303.5,-276 12121.5,-276"/>
-<text text-anchor="middle" x="12212.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Resize2DAttrs ></text>
-<polyline fill="none" stroke="black" points="12121.5,-369 12303.5,-369 "/>
-<text text-anchor="middle" x="12212.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12121.5,-350 12303.5,-350 "/>
-<text text-anchor="start" x="12129.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12129.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="12129.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="12129.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12129.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="12129.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="12269.5,-270.5 12269.5,-393.5 12415.5,-393.5 12415.5,-270.5 12269.5,-270.5"/>
+<text text-anchor="start" x="12277.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Compiler</text>
+<text text-anchor="middle" x="12342.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="12269.5,-363.5 12415.5,-363.5 "/>
+<text text-anchor="middle" x="12342.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12269.5,-344.5 12415.5,-344.5 "/>
+<text text-anchor="start" x="12277.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12277.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12277.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12277.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12277.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12277.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node137 -->
<g id="edge136" class="edge">
<title>Node1->Node137</title>
-<path fill="none" stroke="midnightblue" d="M15542.47,-534.54C15027.36,-531.64 12624.54,-512.42 12312.5,-405 12300.67,-400.93 12289.02,-394.95 12278.09,-388.17"/>
-<polygon fill="none" stroke="midnightblue" points="15542.82,-538.04 15552.84,-534.6 15542.86,-531.04 15542.82,-538.04"/>
+<path fill="none" stroke="midnightblue" d="M15854.56,-535.29C15320.64,-536.38 12750.77,-534.82 12424.5,-405 12417.11,-402.06 12409.93,-398.14 12403.1,-393.65"/>
+<polygon fill="none" stroke="midnightblue" points="15854.92,-538.79 15864.92,-535.27 15854.91,-531.79 15854.92,-538.79"/>
</g>
-<!-- Node140 -->
-<g id="node140" class="node">
-<title>Node140</title>
-<g id="a_node140"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12322,-276 12322,-388 12493,-388 12493,-276 12322,-276"/>
-<text text-anchor="middle" x="12407.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool3DAttrs ></text>
-<polyline fill="none" stroke="black" points="12322,-369 12493,-369 "/>
-<text text-anchor="middle" x="12407.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12322,-350 12493,-350 "/>
-<text text-anchor="start" x="12330" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12330" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="12330" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="12330" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12330" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="12330" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node140 -->
-<g id="edge139" class="edge">
-<title>Node1->Node140</title>
-<path fill="none" stroke="midnightblue" d="M15542.75,-534.43C15046.03,-531.02 12794.33,-509.87 12502.5,-405 12491.11,-400.91 12479.96,-394.92 12469.54,-388.13"/>
-<polygon fill="none" stroke="midnightblue" points="15542.73,-537.93 15552.76,-534.49 15542.78,-530.93 15542.73,-537.93"/>
+<!-- Node139 -->
+<g id="node139" class="node">
+<title>Node139</title>
+<g id="a_node139"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="12433.5,-276 12433.5,-388 12615.5,-388 12615.5,-276 12433.5,-276"/>
+<text text-anchor="middle" x="12524.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Resize2DAttrs ></text>
+<polyline fill="none" stroke="black" points="12433.5,-369 12615.5,-369 "/>
+<text text-anchor="middle" x="12524.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12433.5,-350 12615.5,-350 "/>
+<text text-anchor="start" x="12441.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12441.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12441.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12441.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12441.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12441.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node139 -->
+<g id="edge138" class="edge">
+<title>Node1->Node139</title>
+<path fill="none" stroke="midnightblue" d="M15854.47,-534.54C15339.36,-531.64 12936.54,-512.42 12624.5,-405 12612.67,-400.93 12601.02,-394.95 12590.09,-388.17"/>
+<polygon fill="none" stroke="midnightblue" points="15854.82,-538.04 15864.84,-534.6 15854.86,-531.04 15854.82,-538.04"/>
</g>
<!-- Node142 -->
<g id="node142" class="node">
<title>Node142</title>
<g id="a_node142"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12511.5,-270.5 12511.5,-393.5 12667.5,-393.5 12667.5,-270.5 12511.5,-270.5"/>
-<text text-anchor="start" x="12519.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LayerNorm</text>
-<text text-anchor="middle" x="12589.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="12511.5,-363.5 12667.5,-363.5 "/>
-<text text-anchor="middle" x="12589.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12511.5,-344.5 12667.5,-344.5 "/>
-<text text-anchor="start" x="12519.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12519.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="12519.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="12519.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12519.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="12519.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="12634,-276 12634,-388 12805,-388 12805,-276 12634,-276"/>
+<text text-anchor="middle" x="12719.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool3DAttrs ></text>
+<polyline fill="none" stroke="black" points="12634,-369 12805,-369 "/>
+<text text-anchor="middle" x="12719.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12634,-350 12805,-350 "/>
+<text text-anchor="start" x="12642" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12642" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12642" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12642" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12642" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12642" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node142 -->
<g id="edge141" class="edge">
<title>Node1->Node142</title>
-<path fill="none" stroke="midnightblue" d="M15542.62,-534.4C15062.33,-530.95 12948.82,-509.87 12676.5,-405 12668.82,-402.04 12661.31,-398.11 12654.13,-393.62"/>
-<polygon fill="none" stroke="midnightblue" points="15542.62,-537.9 15552.64,-534.47 15542.67,-530.9 15542.62,-537.9"/>
+<path fill="none" stroke="midnightblue" d="M15854.75,-534.43C15358.03,-531.02 13106.33,-509.87 12814.5,-405 12803.11,-400.91 12791.96,-394.92 12781.54,-388.13"/>
+<polygon fill="none" stroke="midnightblue" points="15854.73,-537.93 15864.76,-534.49 15854.78,-530.93 15854.73,-537.93"/>
</g>
-<!-- Node145 -->
-<g id="node145" class="node">
-<title>Node145</title>
-<g id="a_node145"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12685.5,-270.5 12685.5,-393.5 12845.5,-393.5 12845.5,-270.5 12685.5,-270.5"/>
-<text text-anchor="start" x="12693.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RegularNon</text>
-<text text-anchor="middle" x="12765.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">MaximumSuppressionAttrs ></text>
-<polyline fill="none" stroke="black" points="12685.5,-363.5 12845.5,-363.5 "/>
-<text text-anchor="middle" x="12765.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12685.5,-344.5 12845.5,-344.5 "/>
-<text text-anchor="start" x="12693.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12693.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="12693.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="12693.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12693.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="12693.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node145 -->
-<g id="edge144" class="edge">
-<title>Node1->Node145</title>
-<path fill="none" stroke="midnightblue" d="M15542.52,-534.05C15079.96,-529.03 13109.8,-502.09 12854.5,-405 12846.7,-402.03 12839.06,-398.1 12831.74,-393.6"/>
-<polygon fill="none" stroke="midnightblue" points="15542.8,-537.55 15552.84,-534.16 15542.87,-530.55 15542.8,-537.55"/>
+<!-- Node144 -->
+<g id="node144" class="node">
+<title>Node144</title>
+<g id="a_node144"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="12823.5,-270.5 12823.5,-393.5 12979.5,-393.5 12979.5,-270.5 12823.5,-270.5"/>
+<text text-anchor="start" x="12831.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LayerNorm</text>
+<text text-anchor="middle" x="12901.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="12823.5,-363.5 12979.5,-363.5 "/>
+<text text-anchor="middle" x="12901.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12823.5,-344.5 12979.5,-344.5 "/>
+<text text-anchor="start" x="12831.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12831.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12831.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12831.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12831.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12831.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node144 -->
+<g id="edge143" class="edge">
+<title>Node1->Node144</title>
+<path fill="none" stroke="midnightblue" d="M15854.62,-534.4C15374.33,-530.95 13260.82,-509.87 12988.5,-405 12980.82,-402.04 12973.31,-398.11 12966.13,-393.62"/>
+<polygon fill="none" stroke="midnightblue" points="15854.62,-537.9 15864.64,-534.47 15854.67,-530.9 15854.62,-537.9"/>
</g>
<!-- Node147 -->
<g id="node147" class="node">
<title>Node147</title>
<g id="a_node147"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12863.5,-270.5 12863.5,-393.5 13007.5,-393.5 13007.5,-270.5 12863.5,-270.5"/>
-<text text-anchor="start" x="12871.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Proposal</text>
-<text text-anchor="middle" x="12935.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="12863.5,-363.5 13007.5,-363.5 "/>
-<text text-anchor="middle" x="12935.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12863.5,-344.5 13007.5,-344.5 "/>
-<text text-anchor="start" x="12871.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12871.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="12871.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="12871.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12871.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="12871.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="12997.5,-270.5 12997.5,-393.5 13157.5,-393.5 13157.5,-270.5 12997.5,-270.5"/>
+<text text-anchor="start" x="13005.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RegularNon</text>
+<text text-anchor="middle" x="13077.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">MaximumSuppressionAttrs ></text>
+<polyline fill="none" stroke="black" points="12997.5,-363.5 13157.5,-363.5 "/>
+<text text-anchor="middle" x="13077.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12997.5,-344.5 13157.5,-344.5 "/>
+<text text-anchor="start" x="13005.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13005.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="13005.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="13005.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="13005.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="13005.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node147 -->
<g id="edge146" class="edge">
<title>Node1->Node147</title>
-<path fill="none" stroke="midnightblue" d="M15542.64,-534C15096.79,-528.88 13253.68,-501.96 13016.5,-405 13009.19,-402.01 13002.09,-398.06 12995.34,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15542.87,-537.5 15552.91,-534.12 15542.95,-530.5 15542.87,-537.5"/>
+<path fill="none" stroke="midnightblue" d="M15854.52,-534.05C15391.96,-529.03 13421.8,-502.09 13166.5,-405 13158.7,-402.03 13151.06,-398.1 13143.74,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="15854.8,-537.55 15864.84,-534.16 15854.87,-530.55 15854.8,-537.55"/>
</g>
<!-- Node149 -->
<g id="node149" class="node">
<title>Node149</title>
<g id="a_node149"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13026,-276 13026,-388 13199,-388 13199,-276 13026,-276"/>
-<text text-anchor="middle" x="13112.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< OneHotAttrs ></text>
-<polyline fill="none" stroke="black" points="13026,-369 13199,-369 "/>
-<text text-anchor="middle" x="13112.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13026,-350 13199,-350 "/>
-<text text-anchor="start" x="13034" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13034" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="13034" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="13034" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="13034" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="13034" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="13175.5,-270.5 13175.5,-393.5 13319.5,-393.5 13319.5,-270.5 13175.5,-270.5"/>
+<text text-anchor="start" x="13183.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Proposal</text>
+<text text-anchor="middle" x="13247.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="13175.5,-363.5 13319.5,-363.5 "/>
+<text text-anchor="middle" x="13247.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13175.5,-344.5 13319.5,-344.5 "/>
+<text text-anchor="start" x="13183.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13183.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="13183.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="13183.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="13183.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="13183.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node149 -->
<g id="edge148" class="edge">
<title>Node1->Node149</title>
-<path fill="none" stroke="midnightblue" d="M15542.57,-533.17C15117.48,-524.71 13429.35,-486.22 13207.5,-405 13196.13,-400.84 13185,-394.82 13174.59,-388.01"/>
-<polygon fill="none" stroke="midnightblue" points="15542.61,-536.67 15552.68,-533.37 15542.75,-529.68 15542.61,-536.67"/>
+<path fill="none" stroke="midnightblue" d="M15854.64,-534C15408.79,-528.88 13565.68,-501.96 13328.5,-405 13321.19,-402.01 13314.09,-398.06 13307.34,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.87,-537.5 15864.91,-534.12 15854.95,-530.5 15854.87,-537.5"/>
</g>
<!-- Node151 -->
<g id="node151" class="node">
<title>Node151</title>
<g id="a_node151"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13217,-270.5 13217,-393.5 13404,-393.5 13404,-270.5 13217,-270.5"/>
-<text text-anchor="start" x="13225" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv3DWinograd</text>
-<text text-anchor="middle" x="13310.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="13217,-363.5 13404,-363.5 "/>
-<text text-anchor="middle" x="13310.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13217,-344.5 13404,-344.5 "/>
-<text text-anchor="start" x="13225" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13225" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="13225" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="13225" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="13225" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="13225" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="13338,-276 13338,-388 13511,-388 13511,-276 13338,-276"/>
+<text text-anchor="middle" x="13424.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< OneHotAttrs ></text>
+<polyline fill="none" stroke="black" points="13338,-369 13511,-369 "/>
+<text text-anchor="middle" x="13424.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13338,-350 13511,-350 "/>
+<text text-anchor="start" x="13346" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13346" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="13346" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="13346" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="13346" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="13346" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node151 -->
<g id="edge150" class="edge">
<title>Node1->Node151</title>
-<path fill="none" stroke="midnightblue" d="M15542.62,-532.48C15140.61,-521.6 13615.36,-475.96 13412.5,-405 13403.91,-401.99 13395.39,-398.04 13387.15,-393.52"/>
-<polygon fill="none" stroke="midnightblue" points="15542.67,-535.98 15552.76,-532.75 15542.86,-528.98 15542.67,-535.98"/>
+<path fill="none" stroke="midnightblue" d="M15854.57,-533.17C15429.48,-524.71 13741.35,-486.22 13519.5,-405 13508.13,-400.84 13497,-394.82 13486.59,-388.01"/>
+<polygon fill="none" stroke="midnightblue" points="15854.61,-536.67 15864.68,-533.37 15854.75,-529.68 15854.61,-536.67"/>
</g>
<!-- Node153 -->
<g id="node153" class="node">
<title>Node153</title>
<g id="a_node153"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13421.5,-276 13421.5,-388 13597.5,-388 13597.5,-276 13421.5,-276"/>
-<text text-anchor="middle" x="13509.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BiasAddAttrs ></text>
-<polyline fill="none" stroke="black" points="13421.5,-369 13597.5,-369 "/>
-<text text-anchor="middle" x="13509.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13421.5,-350 13597.5,-350 "/>
-<text text-anchor="start" x="13429.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13429.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="13429.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="13429.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="13429.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="13429.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="13529,-270.5 13529,-393.5 13716,-393.5 13716,-270.5 13529,-270.5"/>
+<text text-anchor="start" x="13537" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv3DWinograd</text>
+<text text-anchor="middle" x="13622.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="13529,-363.5 13716,-363.5 "/>
+<text text-anchor="middle" x="13622.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13529,-344.5 13716,-344.5 "/>
+<text text-anchor="start" x="13537" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13537" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="13537" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="13537" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="13537" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="13537" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node153 -->
<g id="edge152" class="edge">
<title>Node1->Node153</title>
-<path fill="none" stroke="midnightblue" d="M15542.61,-532.03C15163.08,-519.96 13789.4,-472.01 13606.5,-405 13595.08,-400.82 13583.85,-394.83 13573.32,-388.08"/>
-<polygon fill="none" stroke="midnightblue" points="15542.63,-535.53 15552.74,-532.35 15542.86,-528.54 15542.63,-535.53"/>
+<path fill="none" stroke="midnightblue" d="M15854.62,-532.48C15452.61,-521.6 13927.36,-475.96 13724.5,-405 13715.91,-401.99 13707.39,-398.04 13699.15,-393.52"/>
+<polygon fill="none" stroke="midnightblue" points="15854.67,-535.98 15864.76,-532.75 15854.86,-528.98 15854.67,-535.98"/>
</g>
<!-- Node155 -->
<g id="node155" class="node">
<title>Node155</title>
<g id="a_node155"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13616,-270.5 13616,-393.5 13763,-393.5 13763,-270.5 13616,-270.5"/>
-<text text-anchor="start" x="13624" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AvgPool3</text>
-<text text-anchor="middle" x="13689.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="black" points="13616,-363.5 13763,-363.5 "/>
-<text text-anchor="middle" x="13689.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13616,-344.5 13763,-344.5 "/>
-<text text-anchor="start" x="13624" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13624" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="13624" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="13624" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="13624" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="13624" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="13733.5,-276 13733.5,-388 13909.5,-388 13909.5,-276 13733.5,-276"/>
+<text text-anchor="middle" x="13821.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BiasAddAttrs ></text>
+<polyline fill="none" stroke="black" points="13733.5,-369 13909.5,-369 "/>
+<text text-anchor="middle" x="13821.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13733.5,-350 13909.5,-350 "/>
+<text text-anchor="start" x="13741.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13741.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="13741.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="13741.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="13741.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="13741.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node155 -->
<g id="edge154" class="edge">
<title>Node1->Node155</title>
-<path fill="none" stroke="midnightblue" d="M15542.65,-531.85C15183.03,-519.66 13936.68,-472.88 13772.5,-405 13765.27,-402.01 13758.23,-398.13 13751.5,-393.73"/>
-<polygon fill="none" stroke="midnightblue" points="15542.66,-535.35 15552.77,-532.19 15542.9,-528.36 15542.66,-535.35"/>
+<path fill="none" stroke="midnightblue" d="M15854.61,-532.03C15475.08,-519.96 14101.4,-472.01 13918.5,-405 13907.08,-400.82 13895.85,-394.83 13885.32,-388.08"/>
+<polygon fill="none" stroke="midnightblue" points="15854.63,-535.53 15864.74,-532.35 15854.86,-528.54 15854.63,-535.53"/>
</g>
<!-- Node157 -->
<g id="node157" class="node">
<title>Node157</title>
<g id="a_node157"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13781.5,-276 13781.5,-388 13959.5,-388 13959.5,-276 13781.5,-276"/>
-<text text-anchor="middle" x="13870.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SqueezeAttrs ></text>
-<polyline fill="none" stroke="black" points="13781.5,-369 13959.5,-369 "/>
-<text text-anchor="middle" x="13870.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13781.5,-350 13959.5,-350 "/>
-<text text-anchor="start" x="13789.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13789.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="13789.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="13789.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="13789.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="13789.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="13928,-270.5 13928,-393.5 14075,-393.5 14075,-270.5 13928,-270.5"/>
+<text text-anchor="start" x="13936" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AvgPool3</text>
+<text text-anchor="middle" x="14001.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="black" points="13928,-363.5 14075,-363.5 "/>
+<text text-anchor="middle" x="14001.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13928,-344.5 14075,-344.5 "/>
+<text text-anchor="start" x="13936" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13936" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="13936" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="13936" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="13936" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="13936" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node157 -->
<g id="edge156" class="edge">
<title>Node1->Node157</title>
-<path fill="none" stroke="midnightblue" d="M15542.38,-534.4C15230.89,-531.39 14260.21,-513.35 13968.5,-405 13957.12,-400.77 13945.91,-394.81 13935.36,-388.11"/>
-<polygon fill="none" stroke="midnightblue" points="15542.71,-537.9 15552.74,-534.5 15542.77,-530.9 15542.71,-537.9"/>
+<path fill="none" stroke="midnightblue" d="M15854.65,-531.85C15495.03,-519.66 14248.68,-472.88 14084.5,-405 14077.27,-402.01 14070.23,-398.13 14063.5,-393.73"/>
+<polygon fill="none" stroke="midnightblue" points="15854.66,-535.35 15864.77,-532.19 15854.9,-528.36 15854.66,-535.35"/>
</g>
-<!-- Node160 -->
-<g id="node160" class="node">
-<title>Node160</title>
-<g id="a_node160"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13978,-276 13978,-388 14149,-388 14149,-276 13978,-276"/>
-<text text-anchor="middle" x="14063.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool2DAttrs ></text>
-<polyline fill="none" stroke="black" points="13978,-369 14149,-369 "/>
-<text text-anchor="middle" x="14063.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13978,-350 14149,-350 "/>
-<text text-anchor="start" x="13986" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13986" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="13986" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="13986" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="13986" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="13986" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node160 -->
-<g id="edge159" class="edge">
-<title>Node1->Node160</title>
-<path fill="none" stroke="midnightblue" d="M15542.43,-533.45C15255.04,-527.79 14412.74,-503.04 14158.5,-405 14147.4,-400.72 14136.49,-394.73 14126.25,-388.01"/>
-<polygon fill="none" stroke="midnightblue" points="15542.76,-536.96 15552.83,-533.66 15542.9,-529.96 15542.76,-536.96"/>
+<!-- Node159 -->
+<g id="node159" class="node">
+<title>Node159</title>
+<g id="a_node159"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="14093.5,-276 14093.5,-388 14271.5,-388 14271.5,-276 14093.5,-276"/>
+<text text-anchor="middle" x="14182.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SqueezeAttrs ></text>
+<polyline fill="none" stroke="black" points="14093.5,-369 14271.5,-369 "/>
+<text text-anchor="middle" x="14182.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="14093.5,-350 14271.5,-350 "/>
+<text text-anchor="start" x="14101.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14101.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="14101.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="14101.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="14101.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="14101.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node159 -->
+<g id="edge158" class="edge">
+<title>Node1->Node159</title>
+<path fill="none" stroke="midnightblue" d="M15854.38,-534.4C15542.89,-531.39 14572.21,-513.35 14280.5,-405 14269.12,-400.77 14257.91,-394.81 14247.36,-388.11"/>
+<polygon fill="none" stroke="midnightblue" points="15854.71,-537.9 15864.74,-534.5 15854.77,-530.9 15854.71,-537.9"/>
</g>
<!-- Node162 -->
<g id="node162" class="node">
<title>Node162</title>
<g id="a_node162"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="14167.5,-276 14167.5,-388 14343.5,-388 14343.5,-276 14167.5,-276"/>
-<text text-anchor="middle" x="14255.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NLLLossAttrs ></text>
-<polyline fill="none" stroke="black" points="14167.5,-369 14343.5,-369 "/>
-<text text-anchor="middle" x="14255.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="14167.5,-350 14343.5,-350 "/>
-<text text-anchor="start" x="14175.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="14175.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="14175.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="14175.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="14175.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="14175.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="14290,-276 14290,-388 14461,-388 14461,-276 14290,-276"/>
+<text text-anchor="middle" x="14375.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool2DAttrs ></text>
+<polyline fill="none" stroke="black" points="14290,-369 14461,-369 "/>
+<text text-anchor="middle" x="14375.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="14290,-350 14461,-350 "/>
+<text text-anchor="start" x="14298" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14298" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="14298" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="14298" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="14298" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="14298" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node162 -->
<g id="edge161" class="edge">
<title>Node1->Node162</title>
-<path fill="none" stroke="midnightblue" d="M15542.66,-531.86C15281.9,-522.37 14570,-489.26 14352.5,-405 14341.35,-400.68 14330.36,-394.72 14320.01,-388.05"/>
-<polygon fill="none" stroke="midnightblue" points="15542.75,-535.37 15552.87,-532.23 15543,-528.37 15542.75,-535.37"/>
+<path fill="none" stroke="midnightblue" d="M15854.43,-533.45C15567.04,-527.79 14724.74,-503.04 14470.5,-405 14459.4,-400.72 14448.49,-394.73 14438.25,-388.01"/>
+<polygon fill="none" stroke="midnightblue" points="15854.76,-536.96 15864.83,-533.66 15854.9,-529.96 15854.76,-536.96"/>
</g>
-<!-- Node165 -->
-<g id="node165" class="node">
-<title>Node165</title>
-<g id="a_node165"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="14362,-270.5 14362,-393.5 14519,-393.5 14519,-270.5 14362,-270.5"/>
-<text text-anchor="start" x="14370" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BatchNorm</text>
-<text text-anchor="middle" x="14440.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="14362,-363.5 14519,-363.5 "/>
-<text text-anchor="middle" x="14440.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="14362,-344.5 14519,-344.5 "/>
-<text text-anchor="start" x="14370" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="14370" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="14370" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="14370" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="14370" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="14370" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node165 -->
-<g id="edge164" class="edge">
-<title>Node1->Node165</title>
-<path fill="none" stroke="midnightblue" d="M15542.64,-530.63C15307.17,-518.91 14710.72,-482.28 14528.5,-405 14521.14,-401.88 14513.91,-397.94 14506.94,-393.53"/>
-<polygon fill="none" stroke="midnightblue" points="15542.74,-534.14 15552.9,-531.14 15543.08,-527.15 15542.74,-534.14"/>
+<!-- Node164 -->
+<g id="node164" class="node">
+<title>Node164</title>
+<g id="a_node164"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="14479.5,-276 14479.5,-388 14655.5,-388 14655.5,-276 14479.5,-276"/>
+<text text-anchor="middle" x="14567.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NLLLossAttrs ></text>
+<polyline fill="none" stroke="black" points="14479.5,-369 14655.5,-369 "/>
+<text text-anchor="middle" x="14567.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="14479.5,-350 14655.5,-350 "/>
+<text text-anchor="start" x="14487.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14487.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="14487.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="14487.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="14487.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="14487.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node164 -->
+<g id="edge163" class="edge">
+<title>Node1->Node164</title>
+<path fill="none" stroke="midnightblue" d="M15854.66,-531.86C15593.9,-522.37 14882,-489.26 14664.5,-405 14653.35,-400.68 14642.36,-394.72 14632.01,-388.05"/>
+<polygon fill="none" stroke="midnightblue" points="15854.75,-535.37 15864.87,-532.23 15855,-528.37 15854.75,-535.37"/>
</g>
-<!-- Node168 -->
-<g id="node168" class="node">
-<title>Node168</title>
-<g id="a_node168"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="14537.5,-270.5 14537.5,-393.5 14683.5,-393.5 14683.5,-270.5 14537.5,-270.5"/>
-<text text-anchor="start" x="14545.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SparseTo</text>
-<text text-anchor="middle" x="14610.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DenseAttrs ></text>
-<polyline fill="none" stroke="black" points="14537.5,-363.5 14683.5,-363.5 "/>
-<text text-anchor="middle" x="14610.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="14537.5,-344.5 14683.5,-344.5 "/>
-<text text-anchor="start" x="14545.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="14545.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="14545.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="14545.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="14545.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="14545.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node168 -->
-<g id="edge167" class="edge">
-<title>Node1->Node168</title>
-<path fill="none" stroke="midnightblue" d="M15542.65,-528.79C15332.79,-514.2 14842.87,-473.69 14692.5,-405 14685.61,-401.85 14678.87,-397.93 14672.4,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15542.52,-532.29 15552.73,-529.49 15543,-525.31 15542.52,-532.29"/>
+<!-- Node167 -->
+<g id="node167" class="node">
+<title>Node167</title>
+<g id="a_node167"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="14674,-270.5 14674,-393.5 14831,-393.5 14831,-270.5 14674,-270.5"/>
+<text text-anchor="start" x="14682" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BatchNorm</text>
+<text text-anchor="middle" x="14752.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="14674,-363.5 14831,-363.5 "/>
+<text text-anchor="middle" x="14752.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="14674,-344.5 14831,-344.5 "/>
+<text text-anchor="start" x="14682" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14682" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="14682" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="14682" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="14682" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="14682" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node167 -->
+<g id="edge166" class="edge">
+<title>Node1->Node167</title>
+<path fill="none" stroke="midnightblue" d="M15854.64,-530.63C15619.17,-518.91 15022.72,-482.28 14840.5,-405 14833.14,-401.88 14825.91,-397.94 14818.94,-393.53"/>
+<polygon fill="none" stroke="midnightblue" points="15854.74,-534.14 15864.9,-531.14 15855.08,-527.15 15854.74,-534.14"/>
</g>
<!-- Node170 -->
<g id="node170" class="node">
<title>Node170</title>
<g id="a_node170"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="14702,-270.5 14702,-393.5 14869,-393.5 14869,-270.5 14702,-270.5"/>
-<text text-anchor="start" x="14710" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SearchSorted</text>
-<text text-anchor="middle" x="14785.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="14702,-363.5 14869,-363.5 "/>
-<text text-anchor="middle" x="14785.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="14702,-344.5 14869,-344.5 "/>
-<text text-anchor="start" x="14710" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="14710" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="14710" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="14710" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="14710" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="14710" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="14849.5,-270.5 14849.5,-393.5 14995.5,-393.5 14995.5,-270.5 14849.5,-270.5"/>
+<text text-anchor="start" x="14857.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SparseTo</text>
+<text text-anchor="middle" x="14922.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DenseAttrs ></text>
+<polyline fill="none" stroke="black" points="14849.5,-363.5 14995.5,-363.5 "/>
+<text text-anchor="middle" x="14922.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="14849.5,-344.5 14995.5,-344.5 "/>
+<text text-anchor="start" x="14857.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14857.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="14857.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="14857.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="14857.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="14857.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node170 -->
<g id="edge169" class="edge">
<title>Node1->Node170</title>
-<path fill="none" stroke="midnightblue" d="M15542.95,-533.53C15393.94,-528.01 15101.7,-504.18 14877.5,-405 14870.27,-401.8 14863.1,-397.9 14856.15,-393.6"/>
-<polygon fill="none" stroke="midnightblue" points="15542.88,-537.02 15553,-533.88 15543.12,-530.03 15542.88,-537.02"/>
+<path fill="none" stroke="midnightblue" d="M15854.65,-528.79C15644.79,-514.2 15154.87,-473.69 15004.5,-405 14997.61,-401.85 14990.87,-397.93 14984.4,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="15854.52,-532.29 15864.73,-529.49 15855,-525.31 15854.52,-532.29"/>
</g>
<!-- Node172 -->
<g id="node172" class="node">
<title>Node172</title>
<g id="a_node172"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="14886.5,-276 14886.5,-388 15062.5,-388 15062.5,-276 14886.5,-276"/>
-<text text-anchor="middle" x="14974.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReverseAttrs ></text>
-<polyline fill="none" stroke="black" points="14886.5,-369 15062.5,-369 "/>
-<text text-anchor="middle" x="14974.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="14886.5,-350 15062.5,-350 "/>
-<text text-anchor="start" x="14894.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="14894.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="14894.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="14894.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="14894.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="14894.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="15014,-270.5 15014,-393.5 15181,-393.5 15181,-270.5 15014,-270.5"/>
+<text text-anchor="start" x="15022" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SearchSorted</text>
+<text text-anchor="middle" x="15097.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="15014,-363.5 15181,-363.5 "/>
+<text text-anchor="middle" x="15097.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="15014,-344.5 15181,-344.5 "/>
+<text text-anchor="start" x="15022" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15022" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="15022" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="15022" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15022" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="15022" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node172 -->
<g id="edge171" class="edge">
<title>Node1->Node172</title>
-<path fill="none" stroke="midnightblue" d="M15542.74,-525.16C15426.45,-510.6 15227.51,-476.88 15071.5,-405 15061.31,-400.3 15051.14,-394.43 15041.43,-388.07"/>
-<polygon fill="none" stroke="midnightblue" points="15542.34,-528.64 15552.69,-526.38 15543.19,-521.69 15542.34,-528.64"/>
+<path fill="none" stroke="midnightblue" d="M15854.95,-533.53C15705.94,-528.01 15413.7,-504.18 15189.5,-405 15182.27,-401.8 15175.1,-397.9 15168.15,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="15854.88,-537.02 15865,-533.88 15855.12,-530.03 15854.88,-537.02"/>
</g>
<!-- Node174 -->
<g id="node174" class="node">
<title>Node174</title>
<g id="a_node174"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="15080.5,-276 15080.5,-388 15246.5,-388 15246.5,-276 15080.5,-276"/>
-<text text-anchor="middle" x="15163.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< InitOpAttrs ></text>
-<polyline fill="none" stroke="black" points="15080.5,-369 15246.5,-369 "/>
-<text text-anchor="middle" x="15163.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="15080.5,-350 15246.5,-350 "/>
-<text text-anchor="start" x="15088.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15088.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="15088.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="15088.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15088.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="15088.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="15198.5,-276 15198.5,-388 15374.5,-388 15374.5,-276 15198.5,-276"/>
+<text text-anchor="middle" x="15286.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReverseAttrs ></text>
+<polyline fill="none" stroke="black" points="15198.5,-369 15374.5,-369 "/>
+<text text-anchor="middle" x="15286.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="15198.5,-350 15374.5,-350 "/>
+<text text-anchor="start" x="15206.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15206.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="15206.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="15206.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15206.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="15206.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node174 -->
<g id="edge173" class="edge">
<title>Node1->Node174</title>
-<path fill="none" stroke="midnightblue" d="M15542.88,-512.03C15462.91,-490.76 15347.85,-454.88 15255.5,-405 15246.4,-400.08 15237.27,-394.27 15228.49,-388.11"/>
-<polygon fill="none" stroke="midnightblue" points="15542.38,-515.51 15552.95,-514.67 15544.17,-508.74 15542.38,-515.51"/>
+<path fill="none" stroke="midnightblue" d="M15854.74,-525.16C15738.45,-510.6 15539.51,-476.88 15383.5,-405 15373.31,-400.3 15363.14,-394.43 15353.43,-388.07"/>
+<polygon fill="none" stroke="midnightblue" points="15854.34,-528.64 15864.69,-526.38 15855.19,-521.69 15854.34,-528.64"/>
</g>
<!-- Node176 -->
<g id="node176" class="node">
<title>Node176</title>
<g id="a_node176"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="15265,-270.5 15265,-393.5 15452,-393.5 15452,-270.5 15265,-270.5"/>
-<text text-anchor="start" x="15273" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DWinograd</text>
-<text text-anchor="middle" x="15358.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="15265,-363.5 15452,-363.5 "/>
-<text text-anchor="middle" x="15358.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="15265,-344.5 15452,-344.5 "/>
-<text text-anchor="start" x="15273" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15273" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="15273" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="15273" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15273" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="15273" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="15392.5,-276 15392.5,-388 15558.5,-388 15558.5,-276 15392.5,-276"/>
+<text text-anchor="middle" x="15475.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< InitOpAttrs ></text>
+<polyline fill="none" stroke="black" points="15392.5,-369 15558.5,-369 "/>
+<text text-anchor="middle" x="15475.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="15392.5,-350 15558.5,-350 "/>
+<text text-anchor="start" x="15400.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15400.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="15400.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="15400.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15400.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="15400.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node176 -->
<g id="edge175" class="edge">
<title>Node1->Node176</title>
-<path fill="none" stroke="midnightblue" d="M15544.61,-466.78C15511.65,-443.09 15474.94,-416.7 15442.89,-393.66"/>
-<polygon fill="none" stroke="midnightblue" points="15542.74,-469.75 15552.9,-472.75 15546.82,-464.07 15542.74,-469.75"/>
+<path fill="none" stroke="midnightblue" d="M15854.88,-512.03C15774.91,-490.76 15659.85,-454.88 15567.5,-405 15558.4,-400.08 15549.27,-394.27 15540.49,-388.11"/>
+<polygon fill="none" stroke="midnightblue" points="15854.38,-515.51 15864.95,-514.67 15856.17,-508.74 15854.38,-515.51"/>
</g>
<!-- Node178 -->
<g id="node178" class="node">
<title>Node178</title>
<g id="a_node178"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="15470.5,-270.5 15470.5,-393.5 15634.5,-393.5 15634.5,-270.5 15470.5,-270.5"/>
-<text text-anchor="start" x="15478.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Concatenate</text>
-<text text-anchor="middle" x="15552.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="15470.5,-363.5 15634.5,-363.5 "/>
-<text text-anchor="middle" x="15552.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="15470.5,-344.5 15634.5,-344.5 "/>
-<text text-anchor="start" x="15478.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15478.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="15478.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="15478.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15478.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="15478.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="15577,-270.5 15577,-393.5 15764,-393.5 15764,-270.5 15577,-270.5"/>
+<text text-anchor="start" x="15585" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DWinograd</text>
+<text text-anchor="middle" x="15670.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="15577,-363.5 15764,-363.5 "/>
+<text text-anchor="middle" x="15670.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="15577,-344.5 15764,-344.5 "/>
+<text text-anchor="start" x="15585" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15585" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="15585" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="15585" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15585" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="15585" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node178 -->
<g id="edge177" class="edge">
<title>Node1->Node178</title>
-<path fill="none" stroke="midnightblue" d="M15595.09,-431.88C15589.46,-418.81 15583.85,-405.79 15578.64,-393.7"/>
-<polygon fill="none" stroke="midnightblue" points="15592.01,-433.59 15599.18,-441.39 15598.44,-430.82 15592.01,-433.59"/>
+<path fill="none" stroke="midnightblue" d="M15856.61,-466.78C15823.65,-443.09 15786.94,-416.7 15754.89,-393.66"/>
+<polygon fill="none" stroke="midnightblue" points="15854.74,-469.75 15864.9,-472.75 15858.82,-464.07 15854.74,-469.75"/>
</g>
<!-- Node180 -->
<g id="node180" class="node">
<title>Node180</title>
<g id="a_node180"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="15653,-270.5 15653,-393.5 15800,-393.5 15800,-270.5 15653,-270.5"/>
-<text text-anchor="start" x="15661" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AvgPool2</text>
-<text text-anchor="middle" x="15726.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="black" points="15653,-363.5 15800,-363.5 "/>
-<text text-anchor="middle" x="15726.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="15653,-344.5 15800,-344.5 "/>
-<text text-anchor="start" x="15661" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15661" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="15661" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="15661" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15661" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="15661" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="15782.5,-270.5 15782.5,-393.5 15946.5,-393.5 15946.5,-270.5 15782.5,-270.5"/>
+<text text-anchor="start" x="15790.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Concatenate</text>
+<text text-anchor="middle" x="15864.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="15782.5,-363.5 15946.5,-363.5 "/>
+<text text-anchor="middle" x="15864.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="15782.5,-344.5 15946.5,-344.5 "/>
+<text text-anchor="start" x="15790.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15790.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="15790.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="15790.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15790.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="15790.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node180 -->
<g id="edge179" class="edge">
<title>Node1->Node180</title>
-<path fill="none" stroke="midnightblue" d="M15683.91,-431.88C15689.54,-418.81 15695.15,-405.79 15700.36,-393.7"/>
-<polygon fill="none" stroke="midnightblue" points="15680.56,-430.82 15679.82,-441.39 15686.99,-433.59 15680.56,-430.82"/>
+<path fill="none" stroke="midnightblue" d="M15907.09,-431.88C15901.46,-418.81 15895.85,-405.79 15890.64,-393.7"/>
+<polygon fill="none" stroke="midnightblue" points="15904.01,-433.59 15911.18,-441.39 15910.44,-430.82 15904.01,-433.59"/>
</g>
<!-- Node182 -->
<g id="node182" class="node">
<title>Node182</title>
<g id="a_node182"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="15818,-276 15818,-388 15989,-388 15989,-276 15818,-276"/>
-<text text-anchor="middle" x="15903.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RepeatAttrs ></text>
-<polyline fill="none" stroke="black" points="15818,-369 15989,-369 "/>
-<text text-anchor="middle" x="15903.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="15818,-350 15989,-350 "/>
-<text text-anchor="start" x="15826" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15826" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="15826" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="15826" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15826" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="15826" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="15965,-270.5 15965,-393.5 16112,-393.5 16112,-270.5 15965,-270.5"/>
+<text text-anchor="start" x="15973" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AvgPool2</text>
+<text text-anchor="middle" x="16038.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="black" points="15965,-363.5 16112,-363.5 "/>
+<text text-anchor="middle" x="16038.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="15965,-344.5 16112,-344.5 "/>
+<text text-anchor="start" x="15973" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15973" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="15973" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="15973" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15973" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="15973" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node182 -->
<g id="edge181" class="edge">
<title>Node1->Node182</title>
-<path fill="none" stroke="midnightblue" d="M15734.35,-462.43C15766.25,-438.02 15801.31,-411.19 15831.2,-388.32"/>
-<polygon fill="none" stroke="midnightblue" points="15732.12,-459.72 15726.31,-468.58 15736.38,-465.28 15732.12,-459.72"/>
+<path fill="none" stroke="midnightblue" d="M15995.91,-431.88C16001.54,-418.81 16007.15,-405.79 16012.36,-393.7"/>
+<polygon fill="none" stroke="midnightblue" points="15992.56,-430.82 15991.82,-441.39 15998.99,-433.59 15992.56,-430.82"/>
</g>
-<!-- Node185 -->
-<g id="node185" class="node">
-<title>Node185</title>
-<g id="a_node185"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="16007,-276 16007,-388 16178,-388 16178,-276 16007,-276"/>
-<text text-anchor="middle" x="16092.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool1DAttrs ></text>
-<polyline fill="none" stroke="black" points="16007,-369 16178,-369 "/>
-<text text-anchor="middle" x="16092.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="16007,-350 16178,-350 "/>
-<text text-anchor="start" x="16015" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16015" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="16015" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="16015" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="16015" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="16015" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node185 -->
-<g id="edge184" class="edge">
-<title>Node1->Node185</title>
-<path fill="none" stroke="midnightblue" d="M15735.93,-508.61C15809.97,-486.33 15913.43,-450.76 15997.5,-405 16006.68,-400 16015.93,-394.18 16024.88,-388.04"/>
-<polygon fill="none" stroke="midnightblue" points="15734.73,-505.32 15726.14,-511.53 15736.73,-512.03 15734.73,-505.32"/>
+<!-- Node184 -->
+<g id="node184" class="node">
+<title>Node184</title>
+<g id="a_node184"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="16130,-276 16130,-388 16301,-388 16301,-276 16130,-276"/>
+<text text-anchor="middle" x="16215.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RepeatAttrs ></text>
+<polyline fill="none" stroke="black" points="16130,-369 16301,-369 "/>
+<text text-anchor="middle" x="16215.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="16130,-350 16301,-350 "/>
+<text text-anchor="start" x="16138" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16138" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="16138" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="16138" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="16138" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="16138" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node184 -->
+<g id="edge183" class="edge">
+<title>Node1->Node184</title>
+<path fill="none" stroke="midnightblue" d="M16046.35,-462.43C16078.25,-438.02 16113.31,-411.19 16143.2,-388.32"/>
+<polygon fill="none" stroke="midnightblue" points="16044.12,-459.72 16038.31,-468.58 16048.38,-465.28 16044.12,-459.72"/>
</g>
<!-- Node187 -->
<g id="node187" class="node">
<title>Node187</title>
<g id="a_node187"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="16196,-270.5 16196,-393.5 16347,-393.5 16347,-270.5 16196,-270.5"/>
-<text text-anchor="start" x="16204" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Transpose</text>
-<text text-anchor="middle" x="16271.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="16196,-363.5 16347,-363.5 "/>
-<text text-anchor="middle" x="16271.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="16196,-344.5 16347,-344.5 "/>
-<text text-anchor="start" x="16204" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16204" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="16204" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="16204" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="16204" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="16204" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="16319,-276 16319,-388 16490,-388 16490,-276 16319,-276"/>
+<text text-anchor="middle" x="16404.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool1DAttrs ></text>
+<polyline fill="none" stroke="black" points="16319,-369 16490,-369 "/>
+<text text-anchor="middle" x="16404.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="16319,-350 16490,-350 "/>
+<text text-anchor="start" x="16327" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16327" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="16327" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="16327" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="16327" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="16327" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node187 -->
<g id="edge186" class="edge">
<title>Node1->Node187</title>
-<path fill="none" stroke="midnightblue" d="M15736.25,-525.81C15849.37,-512.01 16039.79,-479.17 16186.5,-405 16192.89,-401.77 16199.2,-397.97 16205.33,-393.84"/>
-<polygon fill="none" stroke="midnightblue" points="15735.74,-522.34 15726.22,-527 15736.57,-529.29 15735.74,-522.34"/>
+<path fill="none" stroke="midnightblue" d="M16047.93,-508.61C16121.97,-486.33 16225.43,-450.76 16309.5,-405 16318.68,-400 16327.93,-394.18 16336.88,-388.04"/>
+<polygon fill="none" stroke="midnightblue" points="16046.73,-505.32 16038.14,-511.53 16048.73,-512.03 16046.73,-505.32"/>
</g>
<!-- Node189 -->
<g id="node189" class="node">
<title>Node189</title>
<g id="a_node189"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="16365.5,-276 16365.5,-388 16529.5,-388 16529.5,-276 16365.5,-276"/>
-<text text-anchor="middle" x="16447.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StackAttrs ></text>
-<polyline fill="none" stroke="black" points="16365.5,-369 16529.5,-369 "/>
-<text text-anchor="middle" x="16447.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="16365.5,-350 16529.5,-350 "/>
-<text text-anchor="start" x="16373.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16373.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="16373.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="16373.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="16373.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="16373.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="16508,-270.5 16508,-393.5 16659,-393.5 16659,-270.5 16508,-270.5"/>
+<text text-anchor="start" x="16516" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Transpose</text>
+<text text-anchor="middle" x="16583.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="16508,-363.5 16659,-363.5 "/>
+<text text-anchor="middle" x="16583.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="16508,-344.5 16659,-344.5 "/>
+<text text-anchor="start" x="16516" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16516" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="16516" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="16516" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="16516" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="16516" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node189 -->
<g id="edge188" class="edge">
<title>Node1->Node189</title>
-<path fill="none" stroke="midnightblue" d="M15736.5,-532.05C15878.35,-524.55 16148.03,-498.1 16355.5,-405 16365.68,-400.43 16375.73,-394.5 16385.24,-388.01"/>
-<polygon fill="none" stroke="midnightblue" points="15735.9,-528.57 15726.09,-532.58 15736.26,-535.56 15735.9,-528.57"/>
+<path fill="none" stroke="midnightblue" d="M16048.25,-525.81C16161.37,-512.01 16351.79,-479.17 16498.5,-405 16504.89,-401.77 16511.2,-397.97 16517.33,-393.84"/>
+<polygon fill="none" stroke="midnightblue" points="16047.74,-522.34 16038.22,-527 16048.57,-529.29 16047.74,-522.34"/>
</g>
<!-- Node191 -->
<g id="node191" class="node">
<title>Node191</title>
<g id="a_node191"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="16548,-270.5 16548,-393.5 16737,-393.5 16737,-270.5 16548,-270.5"/>
-<text text-anchor="start" x="16556" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReverseSequence</text>
-<text text-anchor="middle" x="16642.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="16548,-363.5 16737,-363.5 "/>
-<text text-anchor="middle" x="16642.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="16548,-344.5 16737,-344.5 "/>
-<text text-anchor="start" x="16556" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16556" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="16556" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="16556" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="16556" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="16556" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="16677.5,-276 16677.5,-388 16841.5,-388 16841.5,-276 16677.5,-276"/>
+<text text-anchor="middle" x="16759.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StackAttrs ></text>
+<polyline fill="none" stroke="black" points="16677.5,-369 16841.5,-369 "/>
+<text text-anchor="middle" x="16759.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="16677.5,-350 16841.5,-350 "/>
+<text text-anchor="start" x="16685.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16685.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="16685.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="16685.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="16685.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="16685.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node191 -->
<g id="edge190" class="edge">
<title>Node1->Node191</title>
-<path fill="none" stroke="midnightblue" d="M15736.28,-535.34C15905.1,-532.84 16261.81,-513.78 16538.5,-405 16546.57,-401.83 16554.63,-397.92 16562.49,-393.58"/>
-<polygon fill="none" stroke="midnightblue" points="15736.12,-531.84 15726.17,-535.47 15736.22,-538.84 15736.12,-531.84"/>
+<path fill="none" stroke="midnightblue" d="M16048.5,-532.05C16190.35,-524.55 16460.03,-498.1 16667.5,-405 16677.68,-400.43 16687.73,-394.5 16697.24,-388.01"/>
+<polygon fill="none" stroke="midnightblue" points="16047.9,-528.57 16038.09,-532.58 16048.26,-535.56 16047.9,-528.57"/>
</g>
<!-- Node193 -->
<g id="node193" class="node">
<title>Node193</title>
<g id="a_node193"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="16755.5,-270.5 16755.5,-393.5 16917.5,-393.5 16917.5,-270.5 16755.5,-270.5"/>
-<text text-anchor="start" x="16763.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallLowered</text>
-<text text-anchor="middle" x="16836.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="16755.5,-363.5 16917.5,-363.5 "/>
-<text text-anchor="middle" x="16836.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="16755.5,-344.5 16917.5,-344.5 "/>
-<text text-anchor="start" x="16763.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16763.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="16763.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="16763.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="16763.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="16763.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="16860,-270.5 16860,-393.5 17049,-393.5 17049,-270.5 16860,-270.5"/>
+<text text-anchor="start" x="16868" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReverseSequence</text>
+<text text-anchor="middle" x="16954.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="16860,-363.5 17049,-363.5 "/>
+<text text-anchor="middle" x="16954.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="16860,-344.5 17049,-344.5 "/>
+<text text-anchor="start" x="16868" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16868" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="16868" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="16868" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="16868" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="16868" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node193 -->
<g id="edge192" class="edge">
<title>Node1->Node193</title>
-<path fill="none" stroke="midnightblue" d="M15736.27,-530.39C15970.8,-518.14 16563.59,-480.45 16745.5,-405 16753.04,-401.87 16760.47,-397.94 16767.63,-393.52"/>
-<polygon fill="none" stroke="midnightblue" points="15735.86,-526.91 15726.05,-530.92 15736.22,-533.9 15735.86,-526.91"/>
+<path fill="none" stroke="midnightblue" d="M16048.28,-535.34C16217.1,-532.84 16573.81,-513.78 16850.5,-405 16858.57,-401.83 16866.63,-397.92 16874.49,-393.58"/>
+<polygon fill="none" stroke="midnightblue" points="16048.12,-531.84 16038.17,-535.47 16048.22,-538.84 16048.12,-531.84"/>
</g>
<!-- Node195 -->
<g id="node195" class="node">
<title>Node195</title>
<g id="a_node195"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="16936,-270.5 16936,-393.5 17103,-393.5 17103,-270.5 16936,-270.5"/>
-<text text-anchor="start" x="16944" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BatchMatmul</text>
-<text text-anchor="middle" x="17019.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="16936,-363.5 17103,-363.5 "/>
-<text text-anchor="middle" x="17019.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="16936,-344.5 17103,-344.5 "/>
-<text text-anchor="start" x="16944" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16944" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="16944" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="16944" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="16944" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="16944" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="17067.5,-270.5 17067.5,-393.5 17229.5,-393.5 17229.5,-270.5 17067.5,-270.5"/>
+<text text-anchor="start" x="17075.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallLowered</text>
+<text text-anchor="middle" x="17148.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="17067.5,-363.5 17229.5,-363.5 "/>
+<text text-anchor="middle" x="17148.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="17067.5,-344.5 17229.5,-344.5 "/>
+<text text-anchor="start" x="17075.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17075.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="17075.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="17075.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17075.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17075.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node195 -->
<g id="edge194" class="edge">
<title>Node1->Node195</title>
-<path fill="none" stroke="midnightblue" d="M15736.43,-532.1C15997.42,-523.2 16709.87,-491.46 16926.5,-405 16934.18,-401.93 16941.76,-398.04 16949.07,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15736.09,-528.61 15726.21,-532.44 15736.32,-535.6 15736.09,-528.61"/>
+<path fill="none" stroke="midnightblue" d="M16048.27,-530.39C16282.8,-518.14 16875.59,-480.45 17057.5,-405 17065.04,-401.87 17072.47,-397.94 17079.63,-393.52"/>
+<polygon fill="none" stroke="midnightblue" points="16047.86,-526.91 16038.05,-530.92 16048.22,-533.9 16047.86,-526.91"/>
</g>
<!-- Node197 -->
<g id="node197" class="node">
<title>Node197</title>
<g id="a_node197"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="17121,-276 17121,-388 17292,-388 17292,-276 17121,-276"/>
-<text text-anchor="middle" x="17206.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArangeAttrs ></text>
-<polyline fill="none" stroke="black" points="17121,-369 17292,-369 "/>
-<text text-anchor="middle" x="17206.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="17121,-350 17292,-350 "/>
-<text text-anchor="start" x="17129" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17129" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="17129" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="17129" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="17129" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="17129" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="17248,-270.5 17248,-393.5 17415,-393.5 17415,-270.5 17248,-270.5"/>
+<text text-anchor="start" x="17256" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BatchMatmul</text>
+<text text-anchor="middle" x="17331.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="17248,-363.5 17415,-363.5 "/>
+<text text-anchor="middle" x="17331.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="17248,-344.5 17415,-344.5 "/>
+<text text-anchor="start" x="17256" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17256" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="17256" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="17256" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17256" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17256" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node197 -->
<g id="edge196" class="edge">
<title>Node1->Node197</title>
-<path fill="none" stroke="midnightblue" d="M15736.48,-533.4C16022.61,-527.58 16858.97,-502.46 17111.5,-405 17122.6,-400.72 17133.51,-394.72 17143.75,-388.01"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-529.9 15726.13,-533.6 15736.2,-536.9 15736.06,-529.9"/>
+<path fill="none" stroke="midnightblue" d="M16048.43,-532.1C16309.42,-523.2 17021.87,-491.46 17238.5,-405 17246.18,-401.93 17253.76,-398.04 17261.07,-393.65"/>
+<polygon fill="none" stroke="midnightblue" points="16048.09,-528.61 16038.21,-532.44 16048.32,-535.6 16048.09,-528.61"/>
</g>
<!-- Node199 -->
<g id="node199" class="node">
<title>Node199</title>
<g id="a_node199"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="17310.5,-276 17310.5,-388 17482.5,-388 17482.5,-276 17310.5,-276"/>
-<text text-anchor="middle" x="17396.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ScanopAttrs ></text>
-<polyline fill="none" stroke="black" points="17310.5,-369 17482.5,-369 "/>
-<text text-anchor="middle" x="17396.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="17310.5,-350 17482.5,-350 "/>
-<text text-anchor="start" x="17318.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17318.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="17318.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="17318.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="17318.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="17318.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="17433,-276 17433,-388 17604,-388 17604,-276 17433,-276"/>
+<text text-anchor="middle" x="17518.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArangeAttrs ></text>
+<polyline fill="none" stroke="black" points="17433,-369 17604,-369 "/>
+<text text-anchor="middle" x="17518.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="17433,-350 17604,-350 "/>
+<text text-anchor="start" x="17441" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17441" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="17441" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="17441" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17441" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17441" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node199 -->
<g id="edge198" class="edge">
<title>Node1->Node199</title>
-<path fill="none" stroke="midnightblue" d="M15736.35,-534.47C16046.4,-531.66 17011.17,-514.17 17300.5,-405 17311.71,-400.77 17322.72,-394.81 17333.07,-388.11"/>
-<polygon fill="none" stroke="midnightblue" points="15736.01,-530.97 15726.04,-534.56 15736.07,-537.97 15736.01,-530.97"/>
+<path fill="none" stroke="midnightblue" d="M16048.48,-533.4C16334.61,-527.58 17170.97,-502.46 17423.5,-405 17434.6,-400.72 17445.51,-394.72 17455.75,-388.01"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-529.9 16038.13,-533.6 16048.2,-536.9 16048.06,-529.9"/>
</g>
-<!-- Node202 -->
-<g id="node202" class="node">
-<title>Node202</title>
-<g id="a_node202"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="17500.5,-270.5 17500.5,-393.5 17652.5,-393.5 17652.5,-270.5 17500.5,-270.5"/>
-<text text-anchor="start" x="17508.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LeakyRelu</text>
-<text text-anchor="middle" x="17576.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="17500.5,-363.5 17652.5,-363.5 "/>
-<text text-anchor="middle" x="17576.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="17500.5,-344.5 17652.5,-344.5 "/>
-<text text-anchor="start" x="17508.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17508.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="17508.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="17508.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="17508.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="17508.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node202 -->
-<g id="edge201" class="edge">
-<title>Node1->Node202</title>
-<path fill="none" stroke="midnightblue" d="M15736.15,-531.74C16093.59,-519.18 17328.35,-471.38 17491.5,-405 17498.93,-401.98 17506.19,-398.04 17513.13,-393.57"/>
-<polygon fill="none" stroke="midnightblue" points="15735.96,-528.24 15726.09,-532.09 15736.21,-535.24 15735.96,-528.24"/>
+<!-- Node201 -->
+<g id="node201" class="node">
+<title>Node201</title>
+<g id="a_node201"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="17622.5,-276 17622.5,-388 17794.5,-388 17794.5,-276 17622.5,-276"/>
+<text text-anchor="middle" x="17708.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ScanopAttrs ></text>
+<polyline fill="none" stroke="black" points="17622.5,-369 17794.5,-369 "/>
+<text text-anchor="middle" x="17708.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="17622.5,-350 17794.5,-350 "/>
+<text text-anchor="start" x="17630.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17630.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="17630.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="17630.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17630.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17630.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node201 -->
+<g id="edge200" class="edge">
+<title>Node1->Node201</title>
+<path fill="none" stroke="midnightblue" d="M16048.35,-534.47C16358.4,-531.66 17323.17,-514.17 17612.5,-405 17623.71,-400.77 17634.72,-394.81 17645.07,-388.11"/>
+<polygon fill="none" stroke="midnightblue" points="16048.01,-530.97 16038.04,-534.56 16048.07,-537.97 16048.01,-530.97"/>
</g>
-<!-- Node205 -->
-<g id="node205" class="node">
-<title>Node205</title>
-<g id="a_node205"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="17671,-270.5 17671,-393.5 17830,-393.5 17830,-270.5 17671,-270.5"/>
-<text text-anchor="start" x="17679" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallTIRWith</text>
-<text text-anchor="middle" x="17750.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">GradAttrs ></text>
-<polyline fill="none" stroke="black" points="17671,-363.5 17830,-363.5 "/>
-<text text-anchor="middle" x="17750.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="17671,-344.5 17830,-344.5 "/>
-<text text-anchor="start" x="17679" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17679" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="17679" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="17679" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="17679" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="17679" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node205 -->
-<g id="edge204" class="edge">
-<title>Node1->Node205</title>
-<path fill="none" stroke="midnightblue" d="M15736.27,-532.22C16114.51,-520.9 17481.08,-475.44 17661.5,-405 17669.18,-402 17676.71,-398.08 17683.94,-393.62"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-528.73 15726.17,-532.52 15736.27,-535.72 15736.06,-528.73"/>
+<!-- Node204 -->
+<g id="node204" class="node">
+<title>Node204</title>
+<g id="a_node204"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="17812.5,-270.5 17812.5,-393.5 17964.5,-393.5 17964.5,-270.5 17812.5,-270.5"/>
+<text text-anchor="start" x="17820.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LeakyRelu</text>
+<text text-anchor="middle" x="17888.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="17812.5,-363.5 17964.5,-363.5 "/>
+<text text-anchor="middle" x="17888.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="17812.5,-344.5 17964.5,-344.5 "/>
+<text text-anchor="start" x="17820.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17820.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="17820.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="17820.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17820.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17820.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node204 -->
+<g id="edge203" class="edge">
+<title>Node1->Node204</title>
+<path fill="none" stroke="midnightblue" d="M16048.15,-531.74C16405.59,-519.18 17640.35,-471.38 17803.5,-405 17810.93,-401.98 17818.19,-398.04 17825.13,-393.57"/>
+<polygon fill="none" stroke="midnightblue" points="16047.96,-528.24 16038.09,-532.09 16048.21,-535.24 16047.96,-528.24"/>
</g>
<!-- Node207 -->
<g id="node207" class="node">
<title>Node207</title>
<g id="a_node207"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="17848.5,-270.5 17848.5,-393.5 18020.5,-393.5 18020.5,-270.5 17848.5,-270.5"/>
-<text text-anchor="start" x="17856.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallTIRInplace</text>
-<text text-anchor="middle" x="17934.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="17848.5,-363.5 18020.5,-363.5 "/>
-<text text-anchor="middle" x="17934.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="17848.5,-344.5 18020.5,-344.5 "/>
-<text text-anchor="start" x="17856.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17856.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="17856.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="17856.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="17856.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="17856.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="17983,-270.5 17983,-393.5 18142,-393.5 18142,-270.5 17983,-270.5"/>
+<text text-anchor="start" x="17991" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallTIRWith</text>
+<text text-anchor="middle" x="18062.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">GradAttrs ></text>
+<polyline fill="none" stroke="black" points="17983,-363.5 18142,-363.5 "/>
+<text text-anchor="middle" x="18062.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="17983,-344.5 18142,-344.5 "/>
+<text text-anchor="start" x="17991" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17991" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="17991" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="17991" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17991" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17991" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node207 -->
<g id="edge206" class="edge">
<title>Node1->Node207</title>
-<path fill="none" stroke="midnightblue" d="M15736.22,-532.56C16134.92,-522.07 17639.41,-477.96 17838.5,-405 17846.72,-401.99 17854.82,-398.03 17862.63,-393.51"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-529.07 15726.16,-532.83 15736.25,-536.06 15736.06,-529.07"/>
+<path fill="none" stroke="midnightblue" d="M16048.27,-532.22C16426.51,-520.9 17793.08,-475.44 17973.5,-405 17981.18,-402 17988.71,-398.08 17995.94,-393.62"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-528.73 16038.17,-532.52 16048.27,-535.72 16048.06,-528.73"/>
</g>
<!-- Node209 -->
<g id="node209" class="node">
<title>Node209</title>
<g id="a_node209"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="18038.5,-276 18038.5,-388 18208.5,-388 18208.5,-276 18038.5,-276"/>
-<text text-anchor="middle" x="18123.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AstypeAttrs ></text>
-<polyline fill="none" stroke="black" points="18038.5,-369 18208.5,-369 "/>
-<text text-anchor="middle" x="18123.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="18038.5,-350 18208.5,-350 "/>
-<text text-anchor="start" x="18046.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18046.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="18046.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="18046.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="18046.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="18046.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="18160.5,-270.5 18160.5,-393.5 18332.5,-393.5 18332.5,-270.5 18160.5,-270.5"/>
+<text text-anchor="start" x="18168.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallTIRInplace</text>
+<text text-anchor="middle" x="18246.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="18160.5,-363.5 18332.5,-363.5 "/>
+<text text-anchor="middle" x="18246.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="18160.5,-344.5 18332.5,-344.5 "/>
+<text text-anchor="start" x="18168.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18168.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="18168.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="18168.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="18168.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="18168.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node209 -->
<g id="edge208" class="edge">
<title>Node1->Node209</title>
-<path fill="none" stroke="midnightblue" d="M15736.47,-533.1C16157.05,-524.42 17812.01,-485.37 18029.5,-405 18040.68,-400.87 18051.62,-394.91 18061.86,-388.17"/>
-<polygon fill="none" stroke="midnightblue" points="15736.1,-529.61 15726.17,-533.31 15736.24,-536.61 15736.1,-529.61"/>
+<path fill="none" stroke="midnightblue" d="M16048.22,-532.56C16446.92,-522.07 17951.41,-477.96 18150.5,-405 18158.72,-401.99 18166.82,-398.03 18174.63,-393.51"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-529.07 16038.16,-532.83 16048.25,-536.06 16048.06,-529.07"/>
</g>
<!-- Node211 -->
<g id="node211" class="node">
<title>Node211</title>
<g id="a_node211"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="18226.5,-276 18226.5,-388 18382.5,-388 18382.5,-276 18226.5,-276"/>
-<text text-anchor="middle" x="18304.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LRNAttrs ></text>
-<polyline fill="none" stroke="black" points="18226.5,-369 18382.5,-369 "/>
-<text text-anchor="middle" x="18304.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="18226.5,-350 18382.5,-350 "/>
-<text text-anchor="start" x="18234.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18234.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="18234.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="18234.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="18234.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="18234.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="18350.5,-276 18350.5,-388 18520.5,-388 18520.5,-276 18350.5,-276"/>
+<text text-anchor="middle" x="18435.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AstypeAttrs ></text>
+<polyline fill="none" stroke="black" points="18350.5,-369 18520.5,-369 "/>
+<text text-anchor="middle" x="18435.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="18350.5,-350 18520.5,-350 "/>
+<text text-anchor="start" x="18358.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18358.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="18358.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="18358.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="18358.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="18358.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node211 -->
<g id="edge210" class="edge">
<title>Node1->Node211</title>
-<path fill="none" stroke="midnightblue" d="M15736.45,-533.72C16177.49,-527.4 17983.1,-496.15 18217.5,-405 18228.1,-400.88 18238.36,-394.93 18247.89,-388.19"/>
-<polygon fill="none" stroke="midnightblue" points="15736.23,-530.22 15726.28,-533.86 15736.33,-537.22 15736.23,-530.22"/>
+<path fill="none" stroke="midnightblue" d="M16048.47,-533.1C16469.05,-524.42 18124.01,-485.37 18341.5,-405 18352.68,-400.87 18363.62,-394.91 18373.86,-388.17"/>
+<polygon fill="none" stroke="midnightblue" points="16048.1,-529.61 16038.17,-533.31 16048.24,-536.61 16048.1,-529.61"/>
</g>
<!-- Node213 -->
<g id="node213" class="node">
<title>Node213</title>
<g id="a_node213"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="18401,-270.5 18401,-393.5 18544,-393.5 18544,-270.5 18401,-270.5"/>
-<text text-anchor="start" x="18409" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Instance</text>
-<text text-anchor="middle" x="18472.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">NormAttrs ></text>
-<polyline fill="none" stroke="black" points="18401,-363.5 18544,-363.5 "/>
-<text text-anchor="middle" x="18472.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="18401,-344.5 18544,-344.5 "/>
-<text text-anchor="start" x="18409" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18409" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="18409" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="18409" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="18409" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="18409" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="18538.5,-276 18538.5,-388 18694.5,-388 18694.5,-276 18538.5,-276"/>
+<text text-anchor="middle" x="18616.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LRNAttrs ></text>
+<polyline fill="none" stroke="black" points="18538.5,-369 18694.5,-369 "/>
+<text text-anchor="middle" x="18616.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="18538.5,-350 18694.5,-350 "/>
+<text text-anchor="start" x="18546.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18546.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="18546.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="18546.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="18546.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="18546.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node213 -->
<g id="edge212" class="edge">
<title>Node1->Node213</title>
-<path fill="none" stroke="midnightblue" d="M15736.56,-534.24C16196.17,-530.12 18141.75,-506.76 18391.5,-405 18398.82,-402.02 18405.92,-398.08 18412.67,-393.57"/>
-<polygon fill="none" stroke="midnightblue" points="15736.28,-530.74 15726.31,-534.33 15736.34,-537.74 15736.28,-530.74"/>
+<path fill="none" stroke="midnightblue" d="M16048.45,-533.72C16489.49,-527.4 18295.1,-496.15 18529.5,-405 18540.1,-400.88 18550.36,-394.93 18559.89,-388.19"/>
+<polygon fill="none" stroke="midnightblue" points="16048.23,-530.22 16038.28,-533.86 16048.33,-537.22 16048.23,-530.22"/>
</g>
<!-- Node215 -->
<g id="node215" class="node">
<title>Node215</title>
<g id="a_node215"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="18562.5,-270.5 18562.5,-393.5 18716.5,-393.5 18716.5,-270.5 18562.5,-270.5"/>
-<text text-anchor="start" x="18570.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FIFOBuffer</text>
-<text text-anchor="middle" x="18639.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="18562.5,-363.5 18716.5,-363.5 "/>
-<text text-anchor="middle" x="18639.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="18562.5,-344.5 18716.5,-344.5 "/>
-<text text-anchor="start" x="18570.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18570.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="18570.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="18570.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="18570.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="18570.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="18713,-270.5 18713,-393.5 18856,-393.5 18856,-270.5 18713,-270.5"/>
+<text text-anchor="start" x="18721" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Instance</text>
+<text text-anchor="middle" x="18784.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">NormAttrs ></text>
+<polyline fill="none" stroke="black" points="18713,-363.5 18856,-363.5 "/>
+<text text-anchor="middle" x="18784.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="18713,-344.5 18856,-344.5 "/>
+<text text-anchor="start" x="18721" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18721" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="18721" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="18721" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="18721" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="18721" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node215 -->
<g id="edge214" class="edge">
<title>Node1->Node215</title>
-<path fill="none" stroke="midnightblue" d="M15736.26,-534.32C16211.37,-530.52 18285.09,-508.09 18552.5,-405 18560.18,-402.04 18567.69,-398.11 18574.86,-393.61"/>
-<polygon fill="none" stroke="midnightblue" points="15735.98,-530.83 15726.01,-534.41 15736.04,-537.83 15735.98,-530.83"/>
+<path fill="none" stroke="midnightblue" d="M16048.56,-534.24C16508.17,-530.12 18453.75,-506.76 18703.5,-405 18710.82,-402.02 18717.92,-398.08 18724.67,-393.57"/>
+<polygon fill="none" stroke="midnightblue" points="16048.28,-530.74 16038.31,-534.33 16048.34,-537.74 16048.28,-530.74"/>
</g>
<!-- Node217 -->
<g id="node217" class="node">
<title>Node217</title>
<g id="a_node217"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="18734.5,-276 18734.5,-388 18888.5,-388 18888.5,-276 18734.5,-276"/>
-<text text-anchor="middle" x="18811.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PadAttrs ></text>
-<polyline fill="none" stroke="black" points="18734.5,-369 18888.5,-369 "/>
-<text text-anchor="middle" x="18811.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="18734.5,-350 18888.5,-350 "/>
-<text text-anchor="start" x="18742.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18742.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="18742.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="18742.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="18742.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="18742.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="18874.5,-270.5 18874.5,-393.5 19028.5,-393.5 19028.5,-270.5 18874.5,-270.5"/>
+<text text-anchor="start" x="18882.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FIFOBuffer</text>
+<text text-anchor="middle" x="18951.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="18874.5,-363.5 19028.5,-363.5 "/>
+<text text-anchor="middle" x="18951.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="18874.5,-344.5 19028.5,-344.5 "/>
+<text text-anchor="start" x="18882.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18882.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="18882.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="18882.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="18882.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="18882.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node217 -->
<g id="edge216" class="edge">
<title>Node1->Node217</title>
-<path fill="none" stroke="midnightblue" d="M15736.34,-534.62C16228.62,-532.17 18441.33,-515.07 18725.5,-405 18736.03,-400.92 18746.21,-394.99 18755.64,-388.27"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-531.12 15726.07,-534.67 15736.09,-538.12 15736.06,-531.12"/>
+<path fill="none" stroke="midnightblue" d="M16048.26,-534.32C16523.37,-530.52 18597.09,-508.09 18864.5,-405 18872.18,-402.04 18879.69,-398.11 18886.86,-393.61"/>
+<polygon fill="none" stroke="midnightblue" points="16047.98,-530.83 16038.01,-534.41 16048.04,-537.83 16047.98,-530.83"/>
</g>
-<!-- Node220 -->
-<g id="node220" class="node">
-<title>Node220</title>
-<g id="a_node220"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="18906.5,-276 18906.5,-388 19082.5,-388 19082.5,-276 18906.5,-276"/>
-<text text-anchor="middle" x="18994.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DropoutAttrs ></text>
-<polyline fill="none" stroke="black" points="18906.5,-369 19082.5,-369 "/>
-<text text-anchor="middle" x="18994.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="18906.5,-350 19082.5,-350 "/>
-<text text-anchor="start" x="18914.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18914.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="18914.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="18914.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="18914.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="18914.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node220 -->
-<g id="edge219" class="edge">
-<title>Node1->Node220</title>
-<path fill="none" stroke="midnightblue" d="M15736.61,-534.53C16245.51,-531.61 18593.15,-512.39 18897.5,-405 18909.07,-400.92 18920.42,-394.94 18931.04,-388.15"/>
-<polygon fill="none" stroke="midnightblue" points="15736.34,-531.03 15726.36,-534.59 15736.38,-538.03 15736.34,-531.03"/>
+<!-- Node219 -->
+<g id="node219" class="node">
+<title>Node219</title>
+<g id="a_node219"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="19046.5,-276 19046.5,-388 19200.5,-388 19200.5,-276 19046.5,-276"/>
+<text text-anchor="middle" x="19123.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PadAttrs ></text>
+<polyline fill="none" stroke="black" points="19046.5,-369 19200.5,-369 "/>
+<text text-anchor="middle" x="19123.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="19046.5,-350 19200.5,-350 "/>
+<text text-anchor="start" x="19054.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19054.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="19054.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="19054.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="19054.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="19054.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node219 -->
+<g id="edge218" class="edge">
+<title>Node1->Node219</title>
+<path fill="none" stroke="midnightblue" d="M16048.34,-534.62C16540.62,-532.17 18753.33,-515.07 19037.5,-405 19048.03,-400.92 19058.21,-394.99 19067.64,-388.27"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-531.12 16038.07,-534.67 16048.09,-538.12 16048.06,-531.12"/>
</g>
-<!-- Node223 -->
-<g id="node223" class="node">
-<title>Node223</title>
-<g id="a_node223"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="19101,-270.5 19101,-393.5 19246,-393.5 19246,-270.5 19101,-270.5"/>
-<text text-anchor="start" x="19109" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SliceLike</text>
-<text text-anchor="middle" x="19173.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="19101,-363.5 19246,-363.5 "/>
-<text text-anchor="middle" x="19173.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="19101,-344.5 19246,-344.5 "/>
-<text text-anchor="start" x="19109" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19109" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="19109" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="19109" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="19109" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="19109" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node223 -->
-<g id="edge222" class="edge">
-<title>Node1->Node223</title>
-<path fill="none" stroke="midnightblue" d="M15736.51,-535.21C16263.76,-535.82 18772.65,-532.02 19091.5,-405 19098.89,-402.06 19106.07,-398.14 19112.89,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15736.29,-531.71 15726.28,-535.19 15736.28,-538.71 15736.29,-531.71"/>
+<!-- Node222 -->
+<g id="node222" class="node">
+<title>Node222</title>
+<g id="a_node222"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="19218.5,-276 19218.5,-388 19394.5,-388 19394.5,-276 19218.5,-276"/>
+<text text-anchor="middle" x="19306.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DropoutAttrs ></text>
+<polyline fill="none" stroke="black" points="19218.5,-369 19394.5,-369 "/>
+<text text-anchor="middle" x="19306.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="19218.5,-350 19394.5,-350 "/>
+<text text-anchor="start" x="19226.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19226.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="19226.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="19226.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="19226.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="19226.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node222 -->
+<g id="edge221" class="edge">
+<title>Node1->Node222</title>
+<path fill="none" stroke="midnightblue" d="M16048.61,-534.53C16557.51,-531.61 18905.15,-512.39 19209.5,-405 19221.07,-400.92 19232.42,-394.94 19243.04,-388.15"/>
+<polygon fill="none" stroke="midnightblue" points="16048.34,-531.03 16038.36,-534.59 16048.38,-538.03 16048.34,-531.03"/>
</g>
<!-- Node225 -->
<g id="node225" class="node">
<title>Node225</title>
<g id="a_node225"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="19264,-270.5 19264,-393.5 19419,-393.5 19419,-270.5 19264,-270.5"/>
-<text text-anchor="start" x="19272" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ShapeFunc</text>
-<text text-anchor="middle" x="19341.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="19264,-363.5 19419,-363.5 "/>
-<text text-anchor="middle" x="19341.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="19264,-344.5 19419,-344.5 "/>
-<text text-anchor="start" x="19272" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19272" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="19272" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="19272" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="19272" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="19272" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="19413,-270.5 19413,-393.5 19558,-393.5 19558,-270.5 19413,-270.5"/>
+<text text-anchor="start" x="19421" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SliceLike</text>
+<text text-anchor="middle" x="19485.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="19413,-363.5 19558,-363.5 "/>
+<text text-anchor="middle" x="19485.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="19413,-344.5 19558,-344.5 "/>
+<text text-anchor="start" x="19421" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19421" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="19421" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="19421" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="19421" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="19421" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node225 -->
<g id="edge224" class="edge">
<title>Node1->Node225</title>
-<path fill="none" stroke="midnightblue" d="M15736.19,-535.23C16277.26,-536.01 18917.6,-533.21 19254.5,-405 19262.29,-402.04 19269.89,-398.07 19277.15,-393.52"/>
-<polygon fill="none" stroke="midnightblue" points="15736.08,-531.73 15726.07,-535.21 15736.07,-538.73 15736.08,-531.73"/>
+<path fill="none" stroke="midnightblue" d="M16048.51,-535.21C16575.76,-535.82 19084.65,-532.02 19403.5,-405 19410.89,-402.06 19418.07,-398.14 19424.89,-393.65"/>
+<polygon fill="none" stroke="midnightblue" points="16048.29,-531.71 16038.28,-535.19 16048.28,-538.71 16048.29,-531.71"/>
</g>
<!-- Node227 -->
<g id="node227" class="node">
<title>Node227</title>
<g id="a_node227"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="19437,-276 19437,-388 19616,-388 19616,-276 19437,-276"/>
-<text text-anchor="middle" x="19526.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReshapeAttrs ></text>
-<polyline fill="none" stroke="black" points="19437,-369 19616,-369 "/>
-<text text-anchor="middle" x="19526.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="19437,-350 19616,-350 "/>
-<text text-anchor="start" x="19445" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19445" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="19445" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="19445" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="19445" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="19445" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="19576,-270.5 19576,-393.5 19731,-393.5 19731,-270.5 19576,-270.5"/>
+<text text-anchor="start" x="19584" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ShapeFunc</text>
+<text text-anchor="middle" x="19653.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="19576,-363.5 19731,-363.5 "/>
+<text text-anchor="middle" x="19653.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="19576,-344.5 19731,-344.5 "/>
+<text text-anchor="start" x="19584" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19584" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="19584" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="19584" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="19584" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="19584" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node227 -->
<g id="edge226" class="edge">
<title>Node1->Node227</title>
-<path fill="none" stroke="midnightblue" d="M15736.59,-535.06C16293.46,-534.96 19069.5,-528.24 19427.5,-405 19439.36,-400.92 19451.01,-394.89 19461.91,-388.04"/>
-<polygon fill="none" stroke="midnightblue" points="15736.19,-531.56 15726.19,-535.06 15736.19,-538.56 15736.19,-531.56"/>
+<path fill="none" stroke="midnightblue" d="M16048.19,-535.23C16589.26,-536.01 19229.6,-533.21 19566.5,-405 19574.29,-402.04 19581.89,-398.07 19589.15,-393.52"/>
+<polygon fill="none" stroke="midnightblue" points="16048.08,-531.73 16038.07,-535.21 16048.07,-538.73 16048.08,-531.73"/>
</g>
<!-- Node229 -->
<g id="node229" class="node">
<title>Node229</title>
<g id="a_node229"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="19634,-276 19634,-388 19809,-388 19809,-276 19634,-276"/>
-<text text-anchor="middle" x="19721.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ROIPoolAttrs ></text>
-<polyline fill="none" stroke="black" points="19634,-369 19809,-369 "/>
-<text text-anchor="middle" x="19721.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="19634,-350 19809,-350 "/>
-<text text-anchor="start" x="19642" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19642" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="19642" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="19642" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="19642" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="19642" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="19749,-276 19749,-388 19928,-388 19928,-276 19749,-276"/>
+<text text-anchor="middle" x="19838.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ReshapeAttrs ></text>
+<polyline fill="none" stroke="black" points="19749,-369 19928,-369 "/>
+<text text-anchor="middle" x="19838.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="19749,-350 19928,-350 "/>
+<text text-anchor="start" x="19757" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19757" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="19757" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="19757" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="19757" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="19757" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node229 -->
<g id="edge228" class="edge">
<title>Node1->Node229</title>
-<path fill="none" stroke="midnightblue" d="M15736.54,-535.29C16310.36,-536.56 19247.32,-536.55 19624.5,-405 19636.18,-400.93 19647.63,-394.9 19658.34,-388.05"/>
-<polygon fill="none" stroke="midnightblue" points="15736.24,-531.79 15726.23,-535.27 15736.22,-538.79 15736.24,-531.79"/>
+<path fill="none" stroke="midnightblue" d="M16048.59,-535.06C16605.46,-534.96 19381.5,-528.24 19739.5,-405 19751.36,-400.92 19763.01,-394.89 19773.91,-388.04"/>
+<polygon fill="none" stroke="midnightblue" points="16048.19,-531.56 16038.19,-535.06 16048.19,-538.56 16048.19,-531.56"/>
</g>
<!-- Node231 -->
<g id="node231" class="node">
<title>Node231</title>
<g id="a_node231"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="19827.5,-270.5 19827.5,-393.5 19985.5,-393.5 19985.5,-270.5 19827.5,-270.5"/>
-<text text-anchor="start" x="19835.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DynExpand</text>
-<text text-anchor="middle" x="19906.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DimsAttrs ></text>
-<polyline fill="none" stroke="black" points="19827.5,-363.5 19985.5,-363.5 "/>
-<text text-anchor="middle" x="19906.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="19827.5,-344.5 19985.5,-344.5 "/>
-<text text-anchor="start" x="19835.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19835.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="19835.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="19835.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="19835.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="19835.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="19946,-276 19946,-388 20121,-388 20121,-276 19946,-276"/>
+<text text-anchor="middle" x="20033.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ROIPoolAttrs ></text>
+<polyline fill="none" stroke="black" points="19946,-369 20121,-369 "/>
+<text text-anchor="middle" x="20033.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="19946,-350 20121,-350 "/>
+<text text-anchor="start" x="19954" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19954" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="19954" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="19954" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="19954" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="19954" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node231 -->
<g id="edge230" class="edge">
<title>Node1->Node231</title>
-<path fill="none" stroke="midnightblue" d="M15736.09,-533.74C16343.84,-525.58 19620.06,-478.34 19817.5,-405 19825.42,-402.06 19833.16,-398.11 19840.57,-393.57"/>
-<polygon fill="none" stroke="midnightblue" points="15736,-530.24 15726.05,-533.87 15736.09,-537.24 15736,-530.24"/>
+<path fill="none" stroke="midnightblue" d="M16048.54,-535.29C16622.36,-536.56 19559.32,-536.55 19936.5,-405 19948.18,-400.93 19959.63,-394.9 19970.34,-388.05"/>
+<polygon fill="none" stroke="midnightblue" points="16048.24,-531.79 16038.23,-535.27 16048.22,-538.79 16048.24,-531.79"/>
</g>
<!-- Node233 -->
<g id="node233" class="node">
<title>Node233</title>
<g id="a_node233"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="20003.5,-270.5 20003.5,-393.5 20147.5,-393.5 20147.5,-270.5 20003.5,-270.5"/>
-<text text-anchor="start" x="20011.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CastHint</text>
-<text text-anchor="middle" x="20075.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="20003.5,-363.5 20147.5,-363.5 "/>
-<text text-anchor="middle" x="20075.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="20003.5,-344.5 20147.5,-344.5 "/>
-<text text-anchor="start" x="20011.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20011.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="20011.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="20011.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="20011.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="20011.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="20139.5,-270.5 20139.5,-393.5 20297.5,-393.5 20297.5,-270.5 20139.5,-270.5"/>
+<text text-anchor="start" x="20147.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DynExpand</text>
+<text text-anchor="middle" x="20218.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DimsAttrs ></text>
+<polyline fill="none" stroke="black" points="20139.5,-363.5 20297.5,-363.5 "/>
+<text text-anchor="middle" x="20218.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="20139.5,-344.5 20297.5,-344.5 "/>
+<text text-anchor="start" x="20147.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20147.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="20147.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="20147.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="20147.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="20147.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node233 -->
<g id="edge232" class="edge">
<title>Node1->Node233</title>
-<path fill="none" stroke="midnightblue" d="M15736.69,-533.98C16361.19,-527.18 19790.1,-486.22 19994.5,-405 20001.84,-402.08 20008.96,-398.18 20015.72,-393.7"/>
-<polygon fill="none" stroke="midnightblue" points="15736.34,-530.48 15726.38,-534.09 15736.42,-537.48 15736.34,-530.48"/>
+<path fill="none" stroke="midnightblue" d="M16048.09,-533.74C16655.84,-525.58 19932.06,-478.34 20129.5,-405 20137.42,-402.06 20145.16,-398.11 20152.57,-393.57"/>
+<polygon fill="none" stroke="midnightblue" points="16048,-530.24 16038.05,-533.87 16048.09,-537.24 16048,-530.24"/>
</g>
<!-- Node235 -->
<g id="node235" class="node">
<title>Node235</title>
<g id="a_node235"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="20165.5,-270.5 20165.5,-393.5 20329.5,-393.5 20329.5,-270.5 20165.5,-270.5"/>
-<text text-anchor="start" x="20173.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BinaryConv2</text>
-<text text-anchor="middle" x="20247.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="black" points="20165.5,-363.5 20329.5,-363.5 "/>
-<text text-anchor="middle" x="20247.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="20165.5,-344.5 20329.5,-344.5 "/>
-<text text-anchor="start" x="20173.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20173.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="20173.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="20173.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="20173.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="20173.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="20315.5,-270.5 20315.5,-393.5 20459.5,-393.5 20459.5,-270.5 20315.5,-270.5"/>
+<text text-anchor="start" x="20323.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CastHint</text>
+<text text-anchor="middle" x="20387.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="20315.5,-363.5 20459.5,-363.5 "/>
+<text text-anchor="middle" x="20387.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="20315.5,-344.5 20459.5,-344.5 "/>
+<text text-anchor="start" x="20323.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20323.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="20323.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="20323.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="20323.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="20323.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node235 -->
<g id="edge234" class="edge">
<title>Node1->Node235</title>
-<path fill="none" stroke="midnightblue" d="M15736.18,-533.94C16372.55,-526.78 19941.68,-483.19 20156.5,-405 20164.55,-402.07 20172.43,-398.13 20179.98,-393.6"/>
-<polygon fill="none" stroke="midnightblue" points="15736.09,-530.44 15726.13,-534.06 15736.16,-537.44 15736.09,-530.44"/>
+<path fill="none" stroke="midnightblue" d="M16048.69,-533.98C16673.19,-527.18 20102.1,-486.22 20306.5,-405 20313.84,-402.08 20320.96,-398.18 20327.72,-393.7"/>
+<polygon fill="none" stroke="midnightblue" points="16048.34,-530.48 16038.38,-534.09 16048.42,-537.48 16048.34,-530.48"/>
</g>
<!-- Node237 -->
<g id="node237" class="node">
<title>Node237</title>
<g id="a_node237"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="20347.5,-276 20347.5,-388 20507.5,-388 20507.5,-276 20347.5,-276"/>
-<text text-anchor="middle" x="20427.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TopKAttrs ></text>
-<polyline fill="none" stroke="black" points="20347.5,-369 20507.5,-369 "/>
-<text text-anchor="middle" x="20427.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="20347.5,-350 20507.5,-350 "/>
-<text text-anchor="start" x="20355.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20355.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="20355.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="20355.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="20355.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="20355.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="20477.5,-270.5 20477.5,-393.5 20641.5,-393.5 20641.5,-270.5 20477.5,-270.5"/>
+<text text-anchor="start" x="20485.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BinaryConv2</text>
+<text text-anchor="middle" x="20559.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="black" points="20477.5,-363.5 20641.5,-363.5 "/>
+<text text-anchor="middle" x="20559.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="20477.5,-344.5 20641.5,-344.5 "/>
+<text text-anchor="start" x="20485.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20485.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="20485.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="20485.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="20485.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="20485.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node237 -->
<g id="edge236" class="edge">
<title>Node1->Node237</title>
-<path fill="none" stroke="midnightblue" d="M15736.41,-534.08C16388.28,-527.68 20115.01,-487.58 20338.5,-405 20349.5,-400.94 20360.16,-394.92 20370.04,-388.07"/>
-<polygon fill="none" stroke="midnightblue" points="15736.08,-530.58 15726.12,-534.18 15736.15,-537.58 15736.08,-530.58"/>
+<path fill="none" stroke="midnightblue" d="M16048.18,-533.94C16684.55,-526.78 20253.68,-483.19 20468.5,-405 20476.55,-402.07 20484.43,-398.13 20491.98,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="16048.09,-530.44 16038.13,-534.06 16048.16,-537.44 16048.09,-530.44"/>
</g>
-<!-- Node240 -->
-<g id="node240" class="node">
-<title>Node240</title>
-<g id="a_node240"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="20526,-276 20526,-388 20701,-388 20701,-276 20526,-276"/>
-<text text-anchor="middle" x="20613.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv3DAttrs ></text>
-<polyline fill="none" stroke="black" points="20526,-369 20701,-369 "/>
-<text text-anchor="middle" x="20613.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="20526,-350 20701,-350 "/>
-<text text-anchor="start" x="20534" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20534" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="20534" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="20534" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="20534" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="20534" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node240 -->
-<g id="edge239" class="edge">
-<title>Node1->Node240</title>
-<path fill="none" stroke="midnightblue" d="M15736.07,-534.08C16401.04,-527.52 20282.32,-485.89 20516.5,-405 20528.2,-400.96 20539.65,-394.96 20550.36,-388.11"/>
-<polygon fill="none" stroke="midnightblue" points="15736.01,-530.58 15726.04,-534.18 15736.08,-537.58 15736.01,-530.58"/>
+<!-- Node239 -->
+<g id="node239" class="node">
+<title>Node239</title>
+<g id="a_node239"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="20659.5,-276 20659.5,-388 20819.5,-388 20819.5,-276 20659.5,-276"/>
+<text text-anchor="middle" x="20739.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TopKAttrs ></text>
+<polyline fill="none" stroke="black" points="20659.5,-369 20819.5,-369 "/>
+<text text-anchor="middle" x="20739.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="20659.5,-350 20819.5,-350 "/>
+<text text-anchor="start" x="20667.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20667.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="20667.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="20667.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="20667.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="20667.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node239 -->
+<g id="edge238" class="edge">
+<title>Node1->Node239</title>
+<path fill="none" stroke="midnightblue" d="M16048.41,-534.08C16700.28,-527.68 20427.01,-487.58 20650.5,-405 20661.5,-400.94 20672.16,-394.92 20682.04,-388.07"/>
+<polygon fill="none" stroke="midnightblue" points="16048.08,-530.58 16038.12,-534.18 16048.15,-537.58 16048.08,-530.58"/>
</g>
-<!-- Node243 -->
-<g id="node243" class="node">
-<title>Node243</title>
-<g id="a_node243"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="20719.5,-270.5 20719.5,-393.5 20887.5,-393.5 20887.5,-270.5 20719.5,-270.5"/>
-<text text-anchor="start" x="20727.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< VirtualDevice</text>
-<text text-anchor="middle" x="20803.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Node ></text>
-<polyline fill="none" stroke="black" points="20719.5,-363.5 20887.5,-363.5 "/>
-<text text-anchor="middle" x="20803.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="20719.5,-344.5 20887.5,-344.5 "/>
-<text text-anchor="start" x="20727.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20727.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="20727.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="20727.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="20727.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="20727.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node243 -->
-<g id="edge242" class="edge">
-<title>Node1->Node243</title>
-<path fill="none" stroke="midnightblue" d="M15736.1,-534.22C16416.34,-528.51 20466.2,-490.96 20709.5,-405 20717.74,-402.09 20725.83,-398.16 20733.6,-393.63"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-530.72 15726.09,-534.3 15736.12,-537.72 15736.06,-530.72"/>
+<!-- Node242 -->
+<g id="node242" class="node">
+<title>Node242</title>
+<g id="a_node242"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="20838,-276 20838,-388 21013,-388 21013,-276 20838,-276"/>
+<text text-anchor="middle" x="20925.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv3DAttrs ></text>
+<polyline fill="none" stroke="black" points="20838,-369 21013,-369 "/>
+<text text-anchor="middle" x="20925.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="20838,-350 21013,-350 "/>
+<text text-anchor="start" x="20846" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20846" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="20846" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="20846" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="20846" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="20846" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node242 -->
+<g id="edge241" class="edge">
+<title>Node1->Node242</title>
+<path fill="none" stroke="midnightblue" d="M16048.07,-534.08C16713.04,-527.52 20594.32,-485.89 20828.5,-405 20840.2,-400.96 20851.65,-394.96 20862.36,-388.11"/>
+<polygon fill="none" stroke="midnightblue" points="16048.01,-530.58 16038.04,-534.18 16048.08,-537.58 16048.01,-530.58"/>
</g>
<!-- Node245 -->
<g id="node245" class="node">
<title>Node245</title>
<g id="a_node245"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="20905.5,-270.5 20905.5,-393.5 21089.5,-393.5 21089.5,-270.5 20905.5,-270.5"/>
-<text text-anchor="start" x="20913.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SparseTranspose</text>
-<text text-anchor="middle" x="20997.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="20905.5,-363.5 21089.5,-363.5 "/>
-<text text-anchor="middle" x="20997.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="20905.5,-344.5 21089.5,-344.5 "/>
-<text text-anchor="start" x="20913.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20913.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="20913.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="20913.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="20913.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="20913.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="21031.5,-270.5 21031.5,-393.5 21199.5,-393.5 21199.5,-270.5 21031.5,-270.5"/>
+<text text-anchor="start" x="21039.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< VirtualDevice</text>
+<text text-anchor="middle" x="21115.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Node ></text>
+<polyline fill="none" stroke="black" points="21031.5,-363.5 21199.5,-363.5 "/>
+<text text-anchor="middle" x="21115.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="21031.5,-344.5 21199.5,-344.5 "/>
+<text text-anchor="start" x="21039.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21039.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="21039.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="21039.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="21039.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="21039.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node245 -->
<g id="edge244" class="edge">
<title>Node1->Node245</title>
-<path fill="none" stroke="midnightblue" d="M15736.29,-534.22C16431.36,-528.41 20642.3,-489.81 20896.5,-405 20905.28,-402.07 20913.97,-398.09 20922.33,-393.5"/>
-<polygon fill="none" stroke="midnightblue" points="15736.04,-530.72 15726.07,-534.3 15736.1,-537.72 15736.04,-530.72"/>
+<path fill="none" stroke="midnightblue" d="M16048.1,-534.22C16728.34,-528.51 20778.2,-490.96 21021.5,-405 21029.74,-402.09 21037.83,-398.16 21045.6,-393.63"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-530.72 16038.09,-534.3 16048.12,-537.72 16048.06,-530.72"/>
</g>
<!-- Node247 -->
<g id="node247" class="node">
<title>Node247</title>
<g id="a_node247"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="21107.5,-276 21107.5,-388 21271.5,-388 21271.5,-276 21107.5,-276"/>
-<text text-anchor="middle" x="21189.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PReluAttrs ></text>
-<polyline fill="none" stroke="black" points="21107.5,-369 21271.5,-369 "/>
-<text text-anchor="middle" x="21189.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="21107.5,-350 21271.5,-350 "/>
-<text text-anchor="start" x="21115.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21115.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="21115.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="21115.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="21115.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="21115.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="red" points="21217.5,-270.5 21217.5,-393.5 21401.5,-393.5 21401.5,-270.5 21217.5,-270.5"/>
+<text text-anchor="start" x="21225.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SparseTranspose</text>
+<text text-anchor="middle" x="21309.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="21217.5,-363.5 21401.5,-363.5 "/>
+<text text-anchor="middle" x="21309.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="21217.5,-344.5 21401.5,-344.5 "/>
+<text text-anchor="start" x="21225.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21225.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="21225.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="21225.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="21225.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="21225.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node247 -->
<g id="edge246" class="edge">
<title>Node1->Node247</title>
-<path fill="none" stroke="midnightblue" d="M15736.38,-534.44C16447.17,-530.12 20836.33,-499.68 21098.5,-405 21109.68,-400.96 21120.54,-394.96 21130.63,-388.12"/>
-<polygon fill="none" stroke="midnightblue" points="15736.16,-530.94 15726.18,-534.5 15736.2,-537.94 15736.16,-530.94"/>
+<path fill="none" stroke="midnightblue" d="M16048.29,-534.22C16743.36,-528.41 20954.3,-489.81 21208.5,-405 21217.28,-402.07 21225.97,-398.09 21234.33,-393.5"/>
+<polygon fill="none" stroke="midnightblue" points="16048.04,-530.72 16038.07,-534.3 16048.1,-537.72 16048.04,-530.72"/>
</g>
<!-- Node249 -->
-<g id="node249" class="node">
+<g id="node248" class="node">
<title>Node249</title>
-<g id="a_node249"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="21289.5,-270.5 21289.5,-393.5 21439.5,-393.5 21439.5,-270.5 21289.5,-270.5"/>
-<text text-anchor="start" x="21297.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MaxPool1</text>
-<text text-anchor="middle" x="21364.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="red" points="21289.5,-363.5 21439.5,-363.5 "/>
-<text text-anchor="middle" x="21364.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="21289.5,-344.5 21439.5,-344.5 "/>
-<text text-anchor="start" x="21297.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21297.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="21297.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="21297.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="21297.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="21297.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node248"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="21419.5,-276 21419.5,-388 21583.5,-388 21583.5,-276 21419.5,-276"/>
+<text text-anchor="middle" x="21501.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PReluAttrs ></text>
+<polyline fill="none" stroke="red" points="21419.5,-369 21583.5,-369 "/>
+<text text-anchor="middle" x="21501.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="21419.5,-350 21583.5,-350 "/>
+<text text-anchor="start" x="21427.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21427.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="21427.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="21427.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="21427.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="21427.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node249 -->
-<g id="edge248" class="edge">
+<g id="edge247" class="edge">
<title>Node1->Node249</title>
-<path fill="none" stroke="midnightblue" d="M15736.2,-534.62C16460.09,-531.55 21011.11,-508.2 21280.5,-405 21288.03,-402.11 21295.36,-398.24 21302.33,-393.77"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-531.12 15726.07,-534.66 15736.09,-538.12 15736.06,-531.12"/>
+<path fill="none" stroke="midnightblue" d="M16048.38,-534.44C16759.17,-530.12 21148.33,-499.68 21410.5,-405 21421.68,-400.96 21432.54,-394.96 21442.63,-388.12"/>
+<polygon fill="none" stroke="midnightblue" points="16048.16,-530.94 16038.18,-534.5 16048.2,-537.94 16048.16,-530.94"/>
</g>
<!-- Node251 -->
-<g id="node250" class="node">
+<g id="node249" class="node">
<title>Node251</title>
-<g id="a_node250"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="21457.5,-270.5 21457.5,-393.5 21621.5,-393.5 21621.5,-270.5 21457.5,-270.5"/>
-<text text-anchor="start" x="21465.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< L2Normalize</text>
-<text text-anchor="middle" x="21539.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="21457.5,-363.5 21621.5,-363.5 "/>
-<text text-anchor="middle" x="21539.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="21457.5,-344.5 21621.5,-344.5 "/>
-<text text-anchor="start" x="21465.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21465.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="21465.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="21465.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="21465.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="21465.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node249"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="21601.5,-270.5 21601.5,-393.5 21751.5,-393.5 21751.5,-270.5 21601.5,-270.5"/>
+<text text-anchor="start" x="21609.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MaxPool1</text>
+<text text-anchor="middle" x="21676.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="red" points="21601.5,-363.5 21751.5,-363.5 "/>
+<text text-anchor="middle" x="21676.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="21601.5,-344.5 21751.5,-344.5 "/>
+<text text-anchor="start" x="21609.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21609.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="21609.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="21609.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="21609.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="21609.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node251 -->
-<g id="edge249" class="edge">
+<g id="edge248" class="edge">
<title>Node1->Node251</title>
-<path fill="none" stroke="midnightblue" d="M15736.13,-534.59C16471.91,-531.22 21168.66,-505.84 21448.5,-405 21456.55,-402.1 21464.44,-398.17 21472,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15736.08,-531.09 15726.1,-534.63 15736.12,-538.09 15736.08,-531.09"/>
+<path fill="none" stroke="midnightblue" d="M16048.2,-534.62C16772.09,-531.55 21323.11,-508.2 21592.5,-405 21600.03,-402.11 21607.36,-398.24 21614.33,-393.77"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-531.12 16038.07,-534.66 16048.09,-538.12 16048.06,-531.12"/>
</g>
<!-- Node253 -->
-<g id="node251" class="node">
+<g id="node250" class="node">
<title>Node253</title>
-<g id="a_node251"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="21639.5,-270.5 21639.5,-393.5 21799.5,-393.5 21799.5,-270.5 21639.5,-270.5"/>
-<text text-anchor="start" x="21647.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ConvGemm</text>
-<text text-anchor="middle" x="21719.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">WeightTransformAttrs ></text>
-<polyline fill="none" stroke="red" points="21639.5,-363.5 21799.5,-363.5 "/>
-<text text-anchor="middle" x="21719.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="21639.5,-344.5 21799.5,-344.5 "/>
-<text text-anchor="start" x="21647.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21647.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="21647.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="21647.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="21647.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="21647.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node250"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="21769.5,-270.5 21769.5,-393.5 21933.5,-393.5 21933.5,-270.5 21769.5,-270.5"/>
+<text text-anchor="start" x="21777.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< L2Normalize</text>
+<text text-anchor="middle" x="21851.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="21769.5,-363.5 21933.5,-363.5 "/>
+<text text-anchor="middle" x="21851.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="21769.5,-344.5 21933.5,-344.5 "/>
+<text text-anchor="start" x="21777.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21777.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="21777.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="21777.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="21777.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="21777.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node253 -->
-<g id="edge250" class="edge">
+<g id="edge249" class="edge">
<title>Node1->Node253</title>
-<path fill="none" stroke="midnightblue" d="M15736.48,-534.68C16486.57,-532 21342.08,-510.59 21630.5,-405 21638.43,-402.1 21646.18,-398.17 21653.59,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15736.25,-531.18 15726.26,-534.72 15736.27,-538.18 15736.25,-531.18"/>
+<path fill="none" stroke="midnightblue" d="M16048.13,-534.59C16783.91,-531.22 21480.66,-505.84 21760.5,-405 21768.55,-402.1 21776.44,-398.17 21784,-393.65"/>
+<polygon fill="none" stroke="midnightblue" points="16048.08,-531.09 16038.1,-534.63 16048.12,-538.09 16048.08,-531.09"/>
</g>
<!-- Node255 -->
-<g id="node252" class="node">
+<g id="node251" class="node">
<title>Node255</title>
-<g id="a_node252"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="21818,-270.5 21818,-393.5 21973,-393.5 21973,-270.5 21818,-270.5"/>
-<text text-anchor="start" x="21826" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgReduce</text>
-<text text-anchor="middle" x="21895.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="21818,-363.5 21973,-363.5 "/>
-<text text-anchor="middle" x="21895.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="21818,-344.5 21973,-344.5 "/>
-<text text-anchor="start" x="21826" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21826" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="21826" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="21826" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="21826" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="21826" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node251"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="21951.5,-270.5 21951.5,-393.5 22111.5,-393.5 22111.5,-270.5 21951.5,-270.5"/>
+<text text-anchor="start" x="21959.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ConvGemm</text>
+<text text-anchor="middle" x="22031.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">WeightTransformAttrs ></text>
+<polyline fill="none" stroke="red" points="21951.5,-363.5 22111.5,-363.5 "/>
+<text text-anchor="middle" x="22031.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="21951.5,-344.5 22111.5,-344.5 "/>
+<text text-anchor="start" x="21959.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21959.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="21959.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="21959.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="21959.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="21959.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node255 -->
-<g id="edge251" class="edge">
+<g id="edge250" class="edge">
<title>Node1->Node255</title>
-<path fill="none" stroke="midnightblue" d="M15736.36,-534.77C16498.74,-532.77 21511.71,-515.43 21808.5,-405 21816.31,-402.09 21823.92,-398.17 21831.19,-393.64"/>
-<polygon fill="none" stroke="midnightblue" points="15736.24,-531.27 15726.25,-534.8 15736.26,-538.27 15736.24,-531.27"/>
+<path fill="none" stroke="midnightblue" d="M16048.48,-534.68C16798.57,-532 21654.08,-510.59 21942.5,-405 21950.43,-402.1 21958.18,-398.17 21965.59,-393.65"/>
+<polygon fill="none" stroke="midnightblue" points="16048.25,-531.18 16038.26,-534.72 16048.27,-538.18 16048.25,-531.18"/>
</g>
<!-- Node257 -->
-<g id="node253" class="node">
+<g id="node252" class="node">
<title>Node257</title>
-<g id="a_node253"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="21991.5,-270.5 21991.5,-393.5 22149.5,-393.5 22149.5,-270.5 21991.5,-270.5"/>
-<text text-anchor="start" x="21999.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< WrapParam</text>
-<text text-anchor="middle" x="22070.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="21991.5,-363.5 22149.5,-363.5 "/>
-<text text-anchor="middle" x="22070.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="21991.5,-344.5 22149.5,-344.5 "/>
-<text text-anchor="start" x="21999.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21999.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="21999.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="21999.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="21999.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="21999.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node252"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="22130,-270.5 22130,-393.5 22285,-393.5 22285,-270.5 22130,-270.5"/>
+<text text-anchor="start" x="22138" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgReduce</text>
+<text text-anchor="middle" x="22207.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="22130,-363.5 22285,-363.5 "/>
+<text text-anchor="middle" x="22207.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="22130,-344.5 22285,-344.5 "/>
+<text text-anchor="start" x="22138" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22138" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="22138" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="22138" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="22138" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="22138" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node257 -->
-<g id="edge252" class="edge">
+<g id="edge251" class="edge">
<title>Node1->Node257</title>
-<path fill="none" stroke="midnightblue" d="M15736.3,-534.8C16510.53,-533.01 21675.36,-516.87 21981.5,-405 21989.43,-402.1 21997.19,-398.18 22004.6,-393.66"/>
-<polygon fill="none" stroke="midnightblue" points="15736.03,-531.3 15726.04,-534.83 15736.04,-538.3 15736.03,-531.3"/>
+<path fill="none" stroke="midnightblue" d="M16048.36,-534.77C16810.74,-532.77 21823.71,-515.43 22120.5,-405 22128.31,-402.09 22135.92,-398.17 22143.19,-393.64"/>
+<polygon fill="none" stroke="midnightblue" points="16048.24,-531.27 16038.25,-534.8 16048.26,-538.27 16048.24,-531.27"/>
</g>
<!-- Node259 -->
-<g id="node254" class="node">
+<g id="node253" class="node">
<title>Node259</title>
-<g id="a_node254"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="22168,-276 22168,-388 22323,-388 22323,-276 22168,-276"/>
-<text text-anchor="middle" x="22245.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TileAttrs ></text>
-<polyline fill="none" stroke="red" points="22168,-369 22323,-369 "/>
-<text text-anchor="middle" x="22245.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="22168,-350 22323,-350 "/>
-<text text-anchor="start" x="22176" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22176" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="22176" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="22176" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="22176" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="22176" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node253"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="22303.5,-270.5 22303.5,-393.5 22461.5,-393.5 22461.5,-270.5 22303.5,-270.5"/>
+<text text-anchor="start" x="22311.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< WrapParam</text>
+<text text-anchor="middle" x="22382.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="22303.5,-363.5 22461.5,-363.5 "/>
+<text text-anchor="middle" x="22382.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="22303.5,-344.5 22461.5,-344.5 "/>
+<text text-anchor="start" x="22311.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22311.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="22311.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="22311.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="22311.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="22311.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node259 -->
-<g id="edge253" class="edge">
+<g id="edge252" class="edge">
<title>Node1->Node259</title>
-<path fill="none" stroke="midnightblue" d="M15736.23,-534.89C16522.46,-533.76 21844.07,-521.79 22158.5,-405 22169.34,-400.97 22179.81,-394.98 22189.5,-388.13"/>
-<polygon fill="none" stroke="midnightblue" points="15736.08,-531.39 15726.09,-534.9 15736.09,-538.39 15736.08,-531.39"/>
+<path fill="none" stroke="midnightblue" d="M16048.3,-534.8C16822.53,-533.01 21987.36,-516.87 22293.5,-405 22301.43,-402.1 22309.19,-398.18 22316.6,-393.66"/>
+<polygon fill="none" stroke="midnightblue" points="16048.03,-531.3 16038.04,-534.83 16048.04,-538.3 16048.03,-531.3"/>
</g>
-<!-- Node262 -->
+<!-- Node261 -->
+<g id="node254" class="node">
+<title>Node261</title>
+<g id="a_node254"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="22480,-276 22480,-388 22635,-388 22635,-276 22480,-276"/>
+<text text-anchor="middle" x="22557.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TileAttrs ></text>
+<polyline fill="none" stroke="red" points="22480,-369 22635,-369 "/>
+<text text-anchor="middle" x="22557.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="22480,-350 22635,-350 "/>
+<text text-anchor="start" x="22488" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22488" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="22488" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="22488" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="22488" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="22488" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node261 -->
+<g id="edge253" class="edge">
+<title>Node1->Node261</title>
+<path fill="none" stroke="midnightblue" d="M16048.23,-534.89C16834.46,-533.76 22156.07,-521.79 22470.5,-405 22481.34,-400.97 22491.81,-394.98 22501.5,-388.13"/>
+<polygon fill="none" stroke="midnightblue" points="16048.08,-531.39 16038.09,-534.9 16048.09,-538.39 16048.08,-531.39"/>
+</g>
+<!-- Node264 -->
<g id="node255" class="node">
-<title>Node262</title>
+<title>Node264</title>
<g id="a_node255"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="22341.5,-270.5 22341.5,-393.5 22501.5,-393.5 22501.5,-270.5 22341.5,-270.5"/>
-<text text-anchor="start" x="22349.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StridedSlice</text>
-<text text-anchor="middle" x="22421.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="22341.5,-363.5 22501.5,-363.5 "/>
-<text text-anchor="middle" x="22421.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="22341.5,-344.5 22501.5,-344.5 "/>
-<text text-anchor="start" x="22349.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22349.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="22349.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="22349.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="22349.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="22349.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node262 -->
+<polygon fill="white" stroke="red" points="22653.5,-270.5 22653.5,-393.5 22813.5,-393.5 22813.5,-270.5 22653.5,-270.5"/>
+<text text-anchor="start" x="22661.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StridedSlice</text>
+<text text-anchor="middle" x="22733.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="22653.5,-363.5 22813.5,-363.5 "/>
+<text text-anchor="middle" x="22733.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="22653.5,-344.5 22813.5,-344.5 "/>
+<text text-anchor="start" x="22661.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22661.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="22661.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="22661.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="22661.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="22661.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node264 -->
<g id="edge254" class="edge">
-<title>Node1->Node262</title>
-<path fill="none" stroke="midnightblue" d="M15736.27,-534.9C16534.36,-533.83 22007.38,-522.24 22331.5,-405 22339.59,-402.07 22347.5,-398.1 22355.07,-393.51"/>
-<polygon fill="none" stroke="midnightblue" points="15736.26,-531.4 15726.26,-534.91 15736.26,-538.4 15736.26,-531.4"/>
+<title>Node1->Node264</title>
+<path fill="none" stroke="midnightblue" d="M16048.27,-534.9C16846.36,-533.83 22319.38,-522.24 22643.5,-405 22651.59,-402.07 22659.5,-398.1 22667.07,-393.51"/>
+<polygon fill="none" stroke="midnightblue" points="16048.26,-531.4 16038.26,-534.91 16048.26,-538.4 16048.26,-531.4"/>
</g>
-<!-- Node265 -->
+<!-- Node267 -->
<g id="node256" class="node">
-<title>Node265</title>
+<title>Node267</title>
<g id="a_node256"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="22519.5,-276 22519.5,-388 22677.5,-388 22677.5,-276 22519.5,-276"/>
-<text text-anchor="middle" x="22598.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SplitAttrs ></text>
-<polyline fill="none" stroke="red" points="22519.5,-369 22677.5,-369 "/>
-<text text-anchor="middle" x="22598.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="22519.5,-350 22677.5,-350 "/>
-<text text-anchor="start" x="22527.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22527.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="22527.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="22527.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="22527.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="22527.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="red" points="22831.5,-276 22831.5,-388 22989.5,-388 22989.5,-276 22831.5,-276"/>
+<text text-anchor="middle" x="22910.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SplitAttrs ></text>
+<polyline fill="none" stroke="red" points="22831.5,-369 22989.5,-369 "/>
+<text text-anchor="middle" x="22910.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="22831.5,-350 22989.5,-350 "/>
+<text text-anchor="start" x="22839.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22839.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="22839.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="22839.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="22839.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="22839.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
-<!-- Node1->Node265 -->
+<!-- Node1->Node267 -->
<g id="edge255" class="edge">
-<title>Node1->Node265</title>
-<path fill="none" stroke="midnightblue" d="M15736.31,-534.98C16546.59,-534.56 22178,-527.25 22510.5,-405 22521.43,-400.98 22532,-394.99 22541.79,-388.15"/>
-<polygon fill="none" stroke="midnightblue" points="15736.15,-531.48 15726.15,-534.98 15736.15,-538.48 15736.15,-531.48"/>
+<title>Node1->Node267</title>
+<path fill="none" stroke="midnightblue" d="M16048.31,-534.98C16858.59,-534.56 22490,-527.25 22822.5,-405 22833.43,-400.98 22844,-394.99 22853.79,-388.15"/>
+<polygon fill="none" stroke="midnightblue" points="16048.15,-531.48 16038.15,-534.98 16048.15,-538.48 16048.15,-531.48"/>
</g>
-<!-- Node268 -->
+<!-- Node270 -->
<g id="node257" class="node">
-<title>Node268</title>
+<title>Node270</title>
<g id="a_node257"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="22695,-276 22695,-388 22880,-388 22880,-276 22695,-276"/>
-<text text-anchor="middle" x="22787.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RMSNormAttrs ></text>
-<polyline fill="none" stroke="red" points="22695,-369 22880,-369 "/>
-<text text-anchor="middle" x="22787.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="22695,-350 22880,-350 "/>
-<text text-anchor="start" x="22703" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22703" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="22703" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="22703" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="22703" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="22703" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="red" points="23007,-276 23007,-388 23192,-388 23192,-276 23007,-276"/>
+<text text-anchor="middle" x="23099.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RMSNormAttrs ></text>
+<polyline fill="none" stroke="red" points="23007,-369 23192,-369 "/>
+<text text-anchor="middle" x="23099.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="23007,-350 23192,-350 "/>
+<text text-anchor="start" x="23015" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23015" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="23015" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="23015" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="23015" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="23015" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
-<!-- Node1->Node268 -->
+<!-- Node1->Node270 -->
<g id="edge256" class="edge">
-<title>Node1->Node268</title>
-<path fill="none" stroke="midnightblue" d="M15736.15,-534.85C16557.24,-533.39 22341.12,-519.03 22686.5,-405 22698.67,-400.98 22710.63,-394.94 22721.84,-388.04"/>
-<polygon fill="none" stroke="midnightblue" points="15736.14,-531.35 15726.15,-534.87 15736.15,-538.35 15736.14,-531.35"/>
+<title>Node1->Node270</title>
+<path fill="none" stroke="midnightblue" d="M16048.15,-534.85C16869.24,-533.39 22653.12,-519.03 22998.5,-405 23010.67,-400.98 23022.63,-394.94 23033.84,-388.04"/>
+<polygon fill="none" stroke="midnightblue" points="16048.14,-531.35 16038.15,-534.87 16048.15,-538.35 16048.14,-531.35"/>
</g>
-<!-- Node270 -->
+<!-- Node272 -->
<g id="node258" class="node">
-<title>Node270</title>
+<title>Node272</title>
<g id="a_node258"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="22898.5,-270.5 22898.5,-393.5 23044.5,-393.5 23044.5,-270.5 22898.5,-270.5"/>
-<text text-anchor="start" x="22906.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Quantize</text>
-<text text-anchor="middle" x="22971.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="22898.5,-363.5 23044.5,-363.5 "/>
-<text text-anchor="middle" x="22971.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="22898.5,-344.5 23044.5,-344.5 "/>
-<text text-anchor="start" x="22906.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22906.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="22906.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="22906.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="22906.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="22906.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node270 -->
+<polygon fill="white" stroke="red" points="23210.5,-270.5 23210.5,-393.5 23356.5,-393.5 23356.5,-270.5 23210.5,-270.5"/>
+<text text-anchor="start" x="23218.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Quantize</text>
+<text text-anchor="middle" x="23283.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="23210.5,-363.5 23356.5,-363.5 "/>
+<text text-anchor="middle" x="23283.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="23210.5,-344.5 23356.5,-344.5 "/>
+<text text-anchor="start" x="23218.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23218.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="23218.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="23218.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="23218.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="23218.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node272 -->
<g id="edge257" class="edge">
-<title>Node1->Node270</title>
-<path fill="none" stroke="midnightblue" d="M15736.38,-535.15C16571.92,-536.22 22538.81,-539.12 22888.5,-405 22895.98,-402.13 22903.24,-398.27 22910.15,-393.81"/>
-<polygon fill="none" stroke="midnightblue" points="15736.2,-531.65 15726.2,-535.14 15736.19,-538.65 15736.2,-531.65"/>
+<title>Node1->Node272</title>
+<path fill="none" stroke="midnightblue" d="M16048.38,-535.15C16883.92,-536.22 22850.81,-539.12 23200.5,-405 23207.98,-402.13 23215.24,-398.27 23222.15,-393.81"/>
+<polygon fill="none" stroke="midnightblue" points="16048.2,-531.65 16038.2,-535.14 16048.19,-538.65 16048.2,-531.65"/>
</g>
-<!-- Node273 -->
+<!-- Node275 -->
<g id="node259" class="node">
-<title>Node273</title>
+<title>Node275</title>
<g id="a_node259"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="23063,-276 23063,-388 23238,-388 23238,-276 23063,-276"/>
-<text text-anchor="middle" x="23150.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DAttrs ></text>
-<polyline fill="none" stroke="red" points="23063,-369 23238,-369 "/>
-<text text-anchor="middle" x="23150.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="23063,-350 23238,-350 "/>
-<text text-anchor="start" x="23071" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23071" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="23071" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="23071" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="23071" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="23071" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="red" points="23375,-276 23375,-388 23550,-388 23550,-276 23375,-276"/>
+<text text-anchor="middle" x="23462.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DAttrs ></text>
+<polyline fill="none" stroke="red" points="23375,-369 23550,-369 "/>
+<text text-anchor="middle" x="23462.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="23375,-350 23550,-350 "/>
+<text text-anchor="start" x="23383" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23383" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="23383" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="23383" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="23383" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="23383" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
-<!-- Node1->Node273 -->
+<!-- Node1->Node275 -->
<g id="edge258" class="edge">
-<title>Node1->Node273</title>
-<path fill="none" stroke="midnightblue" d="M15736.51,-534.99C16582.88,-534.73 22690.59,-528.51 23053.5,-405 23065.31,-400.98 23076.88,-394.94 23087.66,-388.03"/>
-<polygon fill="none" stroke="midnightblue" points="15736.2,-531.49 15726.2,-535 15736.2,-538.49 15736.2,-531.49"/>
-</g>
-<!-- Node276 -->
-<g id="node260" class="node">
-<title>Node276</title>
-<g id="a_node260"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="23256.5,-270.5 23256.5,-393.5 23408.5,-393.5 23408.5,-270.5 23256.5,-270.5"/>
-<text text-anchor="start" x="23264.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Simulated</text>
-<text text-anchor="middle" x="23332.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">QuantizeAttrs ></text>
-<polyline fill="none" stroke="red" points="23256.5,-363.5 23408.5,-363.5 "/>
-<text text-anchor="middle" x="23332.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="23256.5,-344.5 23408.5,-344.5 "/>
-<text text-anchor="start" x="23264.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23264.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="23264.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="23264.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="23264.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="23264.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node276 -->
-<g id="edge259" class="edge">
-<title>Node1->Node276</title>
-<path fill="none" stroke="midnightblue" d="M15736.4,-535.19C16594.95,-536.65 22877.6,-542.62 23246.5,-405 23254.35,-402.07 23261.98,-398.1 23269.26,-393.51"/>
-<polygon fill="none" stroke="midnightblue" points="15736.26,-531.69 15726.25,-535.17 15736.25,-538.69 15736.26,-531.69"/>
+<title>Node1->Node275</title>
+<path fill="none" stroke="midnightblue" d="M16048.51,-534.99C16894.88,-534.73 23002.59,-528.51 23365.5,-405 23377.31,-400.98 23388.88,-394.94 23399.66,-388.03"/>
+<polygon fill="none" stroke="midnightblue" points="16048.2,-531.49 16038.2,-535 16048.2,-538.49 16048.2,-531.49"/>
</g>
<!-- Node278 -->
-<g id="node261" class="node">
+<g id="node260" class="node">
<title>Node278</title>
-<g id="a_node261"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="23427,-270.5 23427,-393.5 23594,-393.5 23594,-270.5 23427,-270.5"/>
-<text text-anchor="start" x="23435" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< UpSampling3</text>
-<text text-anchor="middle" x="23510.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="red" points="23427,-363.5 23594,-363.5 "/>
-<text text-anchor="middle" x="23510.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="23427,-344.5 23594,-344.5 "/>
-<text text-anchor="start" x="23435" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23435" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="23435" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="23435" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="23435" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="23435" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node260"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="23568.5,-270.5 23568.5,-393.5 23720.5,-393.5 23720.5,-270.5 23568.5,-270.5"/>
+<text text-anchor="start" x="23576.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Simulated</text>
+<text text-anchor="middle" x="23644.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">QuantizeAttrs ></text>
+<polyline fill="none" stroke="red" points="23568.5,-363.5 23720.5,-363.5 "/>
+<text text-anchor="middle" x="23644.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="23568.5,-344.5 23720.5,-344.5 "/>
+<text text-anchor="start" x="23576.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23576.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="23576.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="23576.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="23576.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="23576.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node278 -->
-<g id="edge260" class="edge">
+<g id="edge259" class="edge">
<title>Node1->Node278</title>
-<path fill="none" stroke="midnightblue" d="M15736.49,-535.13C16606.01,-536.07 23037.37,-538.51 23417.5,-405 23425.78,-402.09 23433.91,-398.13 23441.69,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15736.22,-531.63 15726.22,-535.12 15736.21,-538.63 15736.22,-531.63"/>
+<path fill="none" stroke="midnightblue" d="M16048.4,-535.19C16906.95,-536.65 23189.6,-542.62 23558.5,-405 23566.35,-402.07 23573.98,-398.1 23581.26,-393.51"/>
+<polygon fill="none" stroke="midnightblue" points="16048.26,-531.69 16038.25,-535.17 16048.25,-538.69 16048.26,-531.69"/>
</g>
<!-- Node280 -->
-<g id="node262" class="node">
+<g id="node261" class="node">
<title>Node280</title>
-<g id="a_node262"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="23612,-270.5 23612,-393.5 23761,-393.5 23761,-270.5 23612,-270.5"/>
-<text text-anchor="start" x="23620" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MirrorPad</text>
-<text text-anchor="middle" x="23686.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="23612,-363.5 23761,-363.5 "/>
-<text text-anchor="middle" x="23686.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="23612,-344.5 23761,-344.5 "/>
-<text text-anchor="start" x="23620" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23620" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="23620" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="23620" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="23620" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="23620" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node261"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="23739,-270.5 23739,-393.5 23906,-393.5 23906,-270.5 23739,-270.5"/>
+<text text-anchor="start" x="23747" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< UpSampling3</text>
+<text text-anchor="middle" x="23822.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="red" points="23739,-363.5 23906,-363.5 "/>
+<text text-anchor="middle" x="23822.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="23739,-344.5 23906,-344.5 "/>
+<text text-anchor="start" x="23747" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23747" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="23747" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="23747" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="23747" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="23747" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node280 -->
-<g id="edge261" class="edge">
+<g id="edge260" class="edge">
<title>Node1->Node280</title>
-<path fill="none" stroke="midnightblue" d="M15736.57,-534.33C16631.02,-528.07 23409.31,-478.26 23602.5,-405 23610.22,-402.07 23617.72,-398.1 23624.85,-393.51"/>
-<polygon fill="none" stroke="midnightblue" points="15736.3,-530.83 15726.32,-534.4 15736.35,-537.83 15736.3,-530.83"/>
+<path fill="none" stroke="midnightblue" d="M16048.49,-535.13C16918.01,-536.07 23349.37,-538.51 23729.5,-405 23737.78,-402.09 23745.91,-398.13 23753.69,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="16048.22,-531.63 16038.22,-535.12 16048.21,-538.63 16048.22,-531.63"/>
</g>
<!-- Node282 -->
-<g id="node263" class="node">
+<g id="node262" class="node">
<title>Node282</title>
-<g id="a_node263"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="23779,-270.5 23779,-393.5 23940,-393.5 23940,-270.5 23779,-270.5"/>
-<text text-anchor="start" x="23787" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GlobalPool2</text>
-<text text-anchor="middle" x="23859.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="red" points="23779,-363.5 23940,-363.5 "/>
-<text text-anchor="middle" x="23859.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="23779,-344.5 23940,-344.5 "/>
-<text text-anchor="start" x="23787" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23787" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="23787" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="23787" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="23787" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="23787" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node262"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="23924,-270.5 23924,-393.5 24073,-393.5 24073,-270.5 23924,-270.5"/>
+<text text-anchor="start" x="23932" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MirrorPad</text>
+<text text-anchor="middle" x="23998.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="23924,-363.5 24073,-363.5 "/>
+<text text-anchor="middle" x="23998.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="23924,-344.5 24073,-344.5 "/>
+<text text-anchor="start" x="23932" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23932" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="23932" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="23932" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="23932" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="23932" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node282 -->
-<g id="edge262" class="edge">
+<g id="edge261" class="edge">
<title>Node1->Node282</title>
-<path fill="none" stroke="midnightblue" d="M15736.13,-534.33C16639.13,-527.92 23570.83,-476.48 23769.5,-405 23777.6,-402.09 23785.51,-398.12 23793.08,-393.54"/>
-<polygon fill="none" stroke="midnightblue" points="15736.08,-530.83 15726.1,-534.4 15736.13,-537.83 15736.08,-530.83"/>
+<path fill="none" stroke="midnightblue" d="M16048.57,-534.33C16943.02,-528.07 23721.31,-478.26 23914.5,-405 23922.22,-402.07 23929.72,-398.1 23936.85,-393.51"/>
+<polygon fill="none" stroke="midnightblue" points="16048.3,-530.83 16038.32,-534.4 16048.35,-537.83 16048.3,-530.83"/>
</g>
<!-- Node284 -->
-<g id="node264" class="node">
+<g id="node263" class="node">
<title>Node284</title>
-<g id="a_node264"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="23958.5,-270.5 23958.5,-393.5 24110.5,-393.5 24110.5,-270.5 23958.5,-270.5"/>
-<text text-anchor="start" x="23966.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FixedPoint</text>
-<text text-anchor="middle" x="24034.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">MultiplyAttrs ></text>
-<polyline fill="none" stroke="red" points="23958.5,-363.5 24110.5,-363.5 "/>
-<text text-anchor="middle" x="24034.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="23958.5,-344.5 24110.5,-344.5 "/>
-<text text-anchor="start" x="23966.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23966.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="23966.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="23966.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="23966.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="23966.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node263"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="24091,-270.5 24091,-393.5 24252,-393.5 24252,-270.5 24091,-270.5"/>
+<text text-anchor="start" x="24099" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GlobalPool2</text>
+<text text-anchor="middle" x="24171.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="red" points="24091,-363.5 24252,-363.5 "/>
+<text text-anchor="middle" x="24171.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="24091,-344.5 24252,-344.5 "/>
+<text text-anchor="start" x="24099" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="24099" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="24099" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="24099" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="24099" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="24099" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node284 -->
-<g id="edge263" class="edge">
+<g id="edge262" class="edge">
<title>Node1->Node284</title>
-<path fill="none" stroke="midnightblue" d="M15736.48,-534.39C16652.03,-528.48 23746.14,-480.32 23948.5,-405 23956.35,-402.08 23963.98,-398.11 23971.26,-393.52"/>
-<polygon fill="none" stroke="midnightblue" points="15736.29,-530.89 15726.31,-534.45 15736.33,-537.89 15736.29,-530.89"/>
+<path fill="none" stroke="midnightblue" d="M16048.13,-534.33C16951.13,-527.92 23882.83,-476.48 24081.5,-405 24089.6,-402.09 24097.51,-398.12 24105.08,-393.54"/>
+<polygon fill="none" stroke="midnightblue" points="16048.08,-530.83 16038.1,-534.4 16048.13,-537.83 16048.08,-530.83"/>
</g>
<!-- Node286 -->
-<g id="node265" class="node">
+<g id="node264" class="node">
<title>Node286</title>
-<g id="a_node265"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="24129,-270.5 24129,-393.5 24290,-393.5 24290,-270.5 24129,-270.5"/>
-<text text-anchor="start" x="24137" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DeviceCopy</text>
-<text text-anchor="middle" x="24209.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="24129,-363.5 24290,-363.5 "/>
-<text text-anchor="middle" x="24209.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="24129,-344.5 24290,-344.5 "/>
-<text text-anchor="start" x="24137" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="24137" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="24137" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="24137" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="24137" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="24137" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node264"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="24270.5,-270.5 24270.5,-393.5 24422.5,-393.5 24422.5,-270.5 24270.5,-270.5"/>
+<text text-anchor="start" x="24278.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FixedPoint</text>
+<text text-anchor="middle" x="24346.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">MultiplyAttrs ></text>
+<polyline fill="none" stroke="red" points="24270.5,-363.5 24422.5,-363.5 "/>
+<text text-anchor="middle" x="24346.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="24270.5,-344.5 24422.5,-344.5 "/>
+<text text-anchor="start" x="24278.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="24278.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="24278.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="24278.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="24278.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="24278.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node286 -->
-<g id="edge264" class="edge">
+<g id="edge263" class="edge">
<title>Node1->Node286</title>
-<path fill="none" stroke="midnightblue" d="M15736.29,-534.39C16661.46,-528.45 23911.96,-479.59 24119.5,-405 24127.6,-402.09 24135.51,-398.13 24143.08,-393.54"/>
-<polygon fill="none" stroke="midnightblue" points="15736,-530.89 15726.02,-534.46 15736.04,-537.89 15736,-530.89"/>
+<path fill="none" stroke="midnightblue" d="M16048.48,-534.39C16964.03,-528.48 24058.14,-480.32 24260.5,-405 24268.35,-402.08 24275.98,-398.11 24283.26,-393.52"/>
+<polygon fill="none" stroke="midnightblue" points="16048.29,-530.89 16038.31,-534.45 16048.33,-537.89 16048.29,-530.89"/>
</g>
<!-- Node288 -->
-<g id="node266" class="node">
+<g id="node265" class="node">
<title>Node288</title>
-<g id="a_node266"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="24308.5,-276 24308.5,-388 24466.5,-388 24466.5,-276 24308.5,-276"/>
-<text text-anchor="middle" x="24387.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CastAttrs ></text>
-<polyline fill="none" stroke="red" points="24308.5,-369 24466.5,-369 "/>
-<text text-anchor="middle" x="24387.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="24308.5,-350 24466.5,-350 "/>
-<text text-anchor="start" x="24316.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="24316.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="24316.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="24316.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="24316.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="24316.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node265"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="24441,-270.5 24441,-393.5 24602,-393.5 24602,-270.5 24441,-270.5"/>
+<text text-anchor="start" x="24449" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DeviceCopy</text>
+<text text-anchor="middle" x="24521.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="24441,-363.5 24602,-363.5 "/>
+<text text-anchor="middle" x="24521.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="24441,-344.5 24602,-344.5 "/>
+<text text-anchor="start" x="24449" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="24449" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="24449" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="24449" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="24449" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="24449" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node288 -->
-<g id="edge265" class="edge">
+<g id="edge264" class="edge">
<title>Node1->Node288</title>
-<path fill="none" stroke="midnightblue" d="M15736.16,-534.43C16671.62,-528.8 24086.61,-481.77 24298.5,-405 24309.62,-400.97 24320.38,-394.93 24330.34,-388.02"/>
-<polygon fill="none" stroke="midnightblue" points="15736.08,-530.93 15726.1,-534.49 15736.12,-537.93 15736.08,-530.93"/>
+<path fill="none" stroke="midnightblue" d="M16048.29,-534.39C16973.46,-528.45 24223.96,-479.59 24431.5,-405 24439.6,-402.09 24447.51,-398.13 24455.08,-393.54"/>
+<polygon fill="none" stroke="midnightblue" points="16048,-530.89 16038.02,-534.46 16048.04,-537.89 16048,-530.89"/>
</g>
<!-- Node290 -->
-<g id="node267" class="node">
+<g id="node266" class="node">
<title>Node290</title>
-<g id="a_node267"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="24484.5,-270.5 24484.5,-393.5 24648.5,-393.5 24648.5,-270.5 24484.5,-270.5"/>
-<text text-anchor="start" x="24492.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AllocStorage</text>
-<text text-anchor="middle" x="24566.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="24484.5,-363.5 24648.5,-363.5 "/>
-<text text-anchor="middle" x="24566.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="24484.5,-344.5 24648.5,-344.5 "/>
-<text text-anchor="start" x="24492.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="24492.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="24492.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="24492.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="24492.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="24492.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node266"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="24620.5,-276 24620.5,-388 24778.5,-388 24778.5,-276 24620.5,-276"/>
+<text text-anchor="middle" x="24699.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CastAttrs ></text>
+<polyline fill="none" stroke="red" points="24620.5,-369 24778.5,-369 "/>
+<text text-anchor="middle" x="24699.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="24620.5,-350 24778.5,-350 "/>
+<text text-anchor="start" x="24628.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="24628.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="24628.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="24628.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="24628.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="24628.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node290 -->
-<g id="edge266" class="edge">
+<g id="edge265" class="edge">
<title>Node1->Node290</title>
-<path fill="none" stroke="midnightblue" d="M15736.28,-534.44C16682.83,-528.9 24258.71,-482.18 24475.5,-405 24483.66,-402.09 24491.65,-398.13 24499.29,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15736.09,-530.95 15726.11,-534.5 15736.13,-537.94 15736.09,-530.95"/>
+<path fill="none" stroke="midnightblue" d="M16048.16,-534.43C16983.62,-528.8 24398.61,-481.77 24610.5,-405 24621.62,-400.97 24632.38,-394.93 24642.34,-388.02"/>
+<polygon fill="none" stroke="midnightblue" points="16048.08,-530.93 16038.1,-534.49 16048.12,-537.93 16048.08,-530.93"/>
</g>
<!-- Node292 -->
-<g id="node268" class="node">
+<g id="node267" class="node">
<title>Node292</title>
-<g id="a_node268"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="24666.5,-276 24666.5,-388 24822.5,-388 24822.5,-276 24666.5,-276"/>
-<text text-anchor="middle" x="24744.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SortAttrs ></text>
-<polyline fill="none" stroke="red" points="24666.5,-369 24822.5,-369 "/>
-<text text-anchor="middle" x="24744.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="24666.5,-350 24822.5,-350 "/>
-<text text-anchor="start" x="24674.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="24674.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="24674.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="24674.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="24674.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="24674.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node267"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="24796.5,-270.5 24796.5,-393.5 24960.5,-393.5 24960.5,-270.5 24796.5,-270.5"/>
+<text text-anchor="start" x="24804.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AllocStorage</text>
+<text text-anchor="middle" x="24878.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="24796.5,-363.5 24960.5,-363.5 "/>
+<text text-anchor="middle" x="24878.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="24796.5,-344.5 24960.5,-344.5 "/>
+<text text-anchor="start" x="24804.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="24804.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="24804.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="24804.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="24804.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="24804.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node292 -->
-<g id="edge267" class="edge">
+<g id="edge266" class="edge">
<title>Node1->Node292</title>
-<path fill="none" stroke="midnightblue" d="M15736.41,-534.5C16694.4,-529.46 24436.97,-486.22 24657.5,-405 24668.35,-401 24678.83,-395.02 24688.52,-388.19"/>
-<polygon fill="none" stroke="midnightblue" points="15736.1,-531 15726.12,-534.55 15736.14,-538 15736.1,-531"/>
+<path fill="none" stroke="midnightblue" d="M16048.28,-534.44C16994.83,-528.9 24570.71,-482.18 24787.5,-405 24795.66,-402.09 24803.65,-398.13 24811.29,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="16048.09,-530.95 16038.11,-534.5 16048.13,-537.94 16048.09,-530.95"/>
</g>
<!-- Node294 -->
-<g id="node269" class="node">
+<g id="node268" class="node">
<title>Node294</title>
-<g id="a_node269"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="24841,-276 24841,-388 25016,-388 25016,-276 24841,-276"/>
-<text text-anchor="middle" x="24928.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv1DAttrs ></text>
-<polyline fill="none" stroke="red" points="24841,-369 25016,-369 "/>
-<text text-anchor="middle" x="24928.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="24841,-350 25016,-350 "/>
-<text text-anchor="start" x="24849" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="24849" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="24849" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="24849" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="24849" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="24849" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node268"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="24978.5,-276 24978.5,-388 25134.5,-388 25134.5,-276 24978.5,-276"/>
+<text text-anchor="middle" x="25056.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SortAttrs ></text>
+<polyline fill="none" stroke="red" points="24978.5,-369 25134.5,-369 "/>
+<text text-anchor="middle" x="25056.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="24978.5,-350 25134.5,-350 "/>
+<text text-anchor="start" x="24986.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="24986.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="24986.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="24986.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="24986.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="24986.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node294 -->
-<g id="edge268" class="edge">
+<g id="edge267" class="edge">
<title>Node1->Node294</title>
-<path fill="none" stroke="midnightblue" d="M15736.38,-534.46C16704.37,-528.97 24604.45,-481.84 24831.5,-405 24843.32,-401 24854.89,-394.97 24865.68,-388.07"/>
-<polygon fill="none" stroke="midnightblue" points="15736.31,-530.96 15726.33,-534.52 15736.35,-537.96 15736.31,-530.96"/>
+<path fill="none" stroke="midnightblue" d="M16048.41,-534.5C17006.4,-529.46 24748.97,-486.22 24969.5,-405 24980.35,-401 24990.83,-395.02 25000.52,-388.19"/>
+<polygon fill="none" stroke="midnightblue" points="16048.1,-531 16038.12,-534.55 16048.14,-538 16048.1,-531"/>
+</g>
+<!-- Node296 -->
+<g id="node269" class="node">
+<title>Node296</title>
+<g id="a_node269"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="25153,-276 25153,-388 25328,-388 25328,-276 25153,-276"/>
+<text text-anchor="middle" x="25240.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv1DAttrs ></text>
+<polyline fill="none" stroke="red" points="25153,-369 25328,-369 "/>
+<text text-anchor="middle" x="25240.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="25153,-350 25328,-350 "/>
+<text text-anchor="start" x="25161" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25161" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="25161" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="25161" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="25161" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="25161" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node296 -->
+<g id="edge268" class="edge">
+<title>Node1->Node296</title>
+<path fill="none" stroke="midnightblue" d="M16048.38,-534.46C17016.37,-528.97 24916.45,-481.84 25143.5,-405 25155.32,-401 25166.89,-394.97 25177.68,-388.07"/>
+<polygon fill="none" stroke="midnightblue" points="16048.31,-530.96 16038.33,-534.52 16048.35,-537.96 16048.31,-530.96"/>
</g>
-<!-- Node297 -->
+<!-- Node299 -->
<g id="node270" class="node">
-<title>Node297</title>
+<title>Node299</title>
<g id="a_node270"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="25034.5,-276 25034.5,-388 25206.5,-388 25206.5,-276 25034.5,-276"/>
-<text text-anchor="middle" x="25120.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgsortAttrs ></text>
-<polyline fill="none" stroke="red" points="25034.5,-369 25206.5,-369 "/>
-<text text-anchor="middle" x="25120.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="25034.5,-350 25206.5,-350 "/>
-<text text-anchor="start" x="25042.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25042.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="25042.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="25042.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="25042.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="25042.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="red" points="25346.5,-276 25346.5,-388 25518.5,-388 25518.5,-276 25346.5,-276"/>
+<text text-anchor="middle" x="25432.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgsortAttrs ></text>
+<polyline fill="none" stroke="red" points="25346.5,-369 25518.5,-369 "/>
+<text text-anchor="middle" x="25432.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="25346.5,-350 25518.5,-350 "/>
+<text text-anchor="start" x="25354.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25354.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="25354.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="25354.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="25354.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="25354.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
-<!-- Node1->Node297 -->
+<!-- Node1->Node299 -->
<g id="edge269" class="edge">
-<title>Node1->Node297</title>
-<path fill="none" stroke="midnightblue" d="M15736.51,-534.49C16716.29,-529.29 24792.72,-484.05 25024.5,-405 25036.23,-401 25047.7,-394.97 25058.38,-388.07"/>
-<polygon fill="none" stroke="midnightblue" points="15736.32,-531 15726.34,-534.55 15736.35,-538 15736.32,-531"/>
-</g>
-<!-- Node300 -->
-<g id="node271" class="node">
-<title>Node300</title>
-<g id="a_node271"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="25225,-270.5 25225,-393.5 25374,-393.5 25374,-270.5 25225,-270.5"/>
-<text text-anchor="start" x="25233" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Sequence</text>
-<text text-anchor="middle" x="25299.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">MaskAttrs ></text>
-<polyline fill="none" stroke="red" points="25225,-363.5 25374,-363.5 "/>
-<text text-anchor="middle" x="25299.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="25225,-344.5 25374,-344.5 "/>
-<text text-anchor="start" x="25233" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25233" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="25233" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="25233" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="25233" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="25233" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node300 -->
-<g id="edge270" class="edge">
-<title>Node1->Node300</title>
-<path fill="none" stroke="midnightblue" d="M15736.58,-534.6C16727.86,-530.46 24981.59,-493.34 25215.5,-405 25223.23,-402.08 25230.73,-398.11 25237.86,-393.53"/>
-<polygon fill="none" stroke="midnightblue" points="15736.28,-531.11 15726.29,-534.65 15736.3,-538.11 15736.28,-531.11"/>
+<title>Node1->Node299</title>
+<path fill="none" stroke="midnightblue" d="M16048.51,-534.49C17028.29,-529.29 25104.72,-484.05 25336.5,-405 25348.23,-401 25359.7,-394.97 25370.38,-388.07"/>
+<polygon fill="none" stroke="midnightblue" points="16048.32,-531 16038.34,-534.55 16048.35,-538 16048.32,-531"/>
</g>
<!-- Node302 -->
-<g id="node272" class="node">
+<g id="node271" class="node">
<title>Node302</title>
-<g id="a_node272"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="25392.5,-270.5 25392.5,-393.5 25538.5,-393.5 25538.5,-270.5 25392.5,-270.5"/>
-<text text-anchor="start" x="25400.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MultiBox</text>
-<text text-anchor="middle" x="25465.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">TransformLocAttrs ></text>
-<polyline fill="none" stroke="red" points="25392.5,-363.5 25538.5,-363.5 "/>
-<text text-anchor="middle" x="25465.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="25392.5,-344.5 25538.5,-344.5 "/>
-<text text-anchor="start" x="25400.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25400.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="25400.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="25400.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="25400.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="25400.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node271"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="25537,-270.5 25537,-393.5 25686,-393.5 25686,-270.5 25537,-270.5"/>
+<text text-anchor="start" x="25545" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Sequence</text>
+<text text-anchor="middle" x="25611.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">MaskAttrs ></text>
+<polyline fill="none" stroke="red" points="25537,-363.5 25686,-363.5 "/>
+<text text-anchor="middle" x="25611.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="25537,-344.5 25686,-344.5 "/>
+<text text-anchor="start" x="25545" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25545" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="25545" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="25545" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="25545" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="25545" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node302 -->
-<g id="edge271" class="edge">
+<g id="edge270" class="edge">
<title>Node1->Node302</title>
-<path fill="none" stroke="midnightblue" d="M15736.35,-534.64C16736.12,-530.77 25144.62,-495.61 25382.5,-405 25390.17,-402.08 25397.6,-398.11 25404.66,-393.52"/>
-<polygon fill="none" stroke="midnightblue" points="15736.31,-531.14 15726.32,-534.68 15736.34,-538.14 15736.31,-531.14"/>
+<path fill="none" stroke="midnightblue" d="M16048.58,-534.6C17039.86,-530.46 25293.59,-493.34 25527.5,-405 25535.23,-402.08 25542.73,-398.11 25549.86,-393.53"/>
+<polygon fill="none" stroke="midnightblue" points="16048.28,-531.11 16038.29,-534.65 16048.3,-538.11 16048.28,-531.11"/>
</g>
<!-- Node304 -->
-<g id="node273" class="node">
+<g id="node272" class="node">
<title>Node304</title>
-<g id="a_node273"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="25556.5,-270.5 25556.5,-393.5 25706.5,-393.5 25706.5,-270.5 25556.5,-270.5"/>
-<text text-anchor="start" x="25564.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MaxPool3</text>
-<text text-anchor="middle" x="25631.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="red" points="25556.5,-363.5 25706.5,-363.5 "/>
-<text text-anchor="middle" x="25631.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="25556.5,-344.5 25706.5,-344.5 "/>
-<text text-anchor="start" x="25564.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25564.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="25564.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="25564.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="25564.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="25564.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node272"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="25704.5,-270.5 25704.5,-393.5 25850.5,-393.5 25850.5,-270.5 25704.5,-270.5"/>
+<text text-anchor="start" x="25712.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MultiBox</text>
+<text text-anchor="middle" x="25777.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">TransformLocAttrs ></text>
+<polyline fill="none" stroke="red" points="25704.5,-363.5 25850.5,-363.5 "/>
+<text text-anchor="middle" x="25777.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="25704.5,-344.5 25850.5,-344.5 "/>
+<text text-anchor="start" x="25712.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25712.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="25712.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="25712.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="25712.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="25712.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node304 -->
-<g id="edge272" class="edge">
+<g id="edge271" class="edge">
<title>Node1->Node304</title>
-<path fill="none" stroke="midnightblue" d="M15736.41,-534.65C16745.8,-530.9 25305.18,-496.45 25547.5,-405 25555.23,-402.08 25562.73,-398.12 25569.86,-393.53"/>
-<polygon fill="none" stroke="midnightblue" points="15736.28,-531.15 15726.29,-534.69 15736.31,-538.15 15736.28,-531.15"/>
+<path fill="none" stroke="midnightblue" d="M16048.35,-534.64C17048.12,-530.77 25456.62,-495.61 25694.5,-405 25702.17,-402.08 25709.6,-398.11 25716.66,-393.52"/>
+<polygon fill="none" stroke="midnightblue" points="16048.31,-531.14 16038.32,-534.68 16048.34,-538.14 16048.31,-531.14"/>
</g>
<!-- Node306 -->
-<g id="node274" class="node">
+<g id="node273" class="node">
<title>Node306</title>
-<g id="a_node274"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="25724,-270.5 25724,-393.5 25873,-393.5 25873,-270.5 25724,-270.5"/>
-<text text-anchor="start" x="25732" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MatrixSet</text>
-<text text-anchor="middle" x="25798.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DiagAttrs ></text>
-<polyline fill="none" stroke="red" points="25724,-363.5 25873,-363.5 "/>
-<text text-anchor="middle" x="25798.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="25724,-344.5 25873,-344.5 "/>
-<text text-anchor="start" x="25732" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25732" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="25732" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="25732" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="25732" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="25732" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node273"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="25868.5,-270.5 25868.5,-393.5 26018.5,-393.5 26018.5,-270.5 25868.5,-270.5"/>
+<text text-anchor="start" x="25876.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MaxPool3</text>
+<text text-anchor="middle" x="25943.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="red" points="25868.5,-363.5 26018.5,-363.5 "/>
+<text text-anchor="middle" x="25943.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="25868.5,-344.5 26018.5,-344.5 "/>
+<text text-anchor="start" x="25876.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25876.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="25876.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="25876.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="25876.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="25876.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node306 -->
-<g id="edge273" class="edge">
+<g id="edge272" class="edge">
<title>Node1->Node306</title>
-<path fill="none" stroke="midnightblue" d="M15736.47,-534.68C16755.59,-531.2 25469.21,-498.75 25715.5,-405 25723.17,-402.08 25730.6,-398.11 25737.66,-393.53"/>
-<polygon fill="none" stroke="midnightblue" points="15736.25,-531.18 15726.26,-534.71 15736.27,-538.18 15736.25,-531.18"/>
+<path fill="none" stroke="midnightblue" d="M16048.41,-534.65C17057.8,-530.9 25617.18,-496.45 25859.5,-405 25867.23,-402.08 25874.73,-398.12 25881.86,-393.53"/>
+<polygon fill="none" stroke="midnightblue" points="16048.28,-531.15 16038.29,-534.69 16048.31,-538.15 16048.28,-531.15"/>
</g>
<!-- Node308 -->
-<g id="node275" class="node">
+<g id="node274" class="node">
<title>Node308</title>
-<g id="a_node275"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="25891,-270.5 25891,-393.5 26046,-393.5 26046,-270.5 25891,-270.5"/>
-<text text-anchor="start" x="25899" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DensePack</text>
-<text text-anchor="middle" x="25968.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="25891,-363.5 26046,-363.5 "/>
-<text text-anchor="middle" x="25968.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="25891,-344.5 26046,-344.5 "/>
-<text text-anchor="start" x="25899" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25899" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="25899" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="25899" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="25899" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="25899" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node274"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="26036,-270.5 26036,-393.5 26185,-393.5 26185,-270.5 26036,-270.5"/>
+<text text-anchor="start" x="26044" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MatrixSet</text>
+<text text-anchor="middle" x="26110.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DiagAttrs ></text>
+<polyline fill="none" stroke="red" points="26036,-363.5 26185,-363.5 "/>
+<text text-anchor="middle" x="26110.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="26036,-344.5 26185,-344.5 "/>
+<text text-anchor="start" x="26044" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="26044" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="26044" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="26044" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="26044" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="26044" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node308 -->
-<g id="edge274" class="edge">
+<g id="edge273" class="edge">
<title>Node1->Node308</title>
-<path fill="none" stroke="midnightblue" d="M15736.46,-534.67C16764.69,-531.07 25629.93,-497.41 25881.5,-405 25889.41,-402.09 25897.12,-398.13 25904.47,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15736.14,-531.17 15726.16,-534.71 15736.17,-538.17 15736.14,-531.17"/>
+<path fill="none" stroke="midnightblue" d="M16048.47,-534.68C17067.59,-531.2 25781.21,-498.75 26027.5,-405 26035.17,-402.08 26042.6,-398.11 26049.66,-393.53"/>
+<polygon fill="none" stroke="midnightblue" points="16048.25,-531.18 16038.26,-534.71 16048.27,-538.18 16048.25,-531.18"/>
</g>
<!-- Node310 -->
-<g id="node276" class="node">
+<g id="node275" class="node">
<title>Node310</title>
-<g id="a_node276"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="26064,-276 26064,-388 26231,-388 26231,-276 26064,-276"/>
-<text text-anchor="middle" x="26147.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DenseAttrs ></text>
-<polyline fill="none" stroke="red" points="26064,-369 26231,-369 "/>
-<text text-anchor="middle" x="26147.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="26064,-350 26231,-350 "/>
-<text text-anchor="start" x="26072" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26072" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="26072" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="26072" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="26072" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="26072" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node275"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="26203,-270.5 26203,-393.5 26358,-393.5 26358,-270.5 26203,-270.5"/>
+<text text-anchor="start" x="26211" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DensePack</text>
+<text text-anchor="middle" x="26280.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="26203,-363.5 26358,-363.5 "/>
+<text text-anchor="middle" x="26280.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="26203,-344.5 26358,-344.5 "/>
+<text text-anchor="start" x="26211" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="26211" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="26211" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="26211" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="26211" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="26211" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node310 -->
-<g id="edge275" class="edge">
+<g id="edge274" class="edge">
<title>Node1->Node310</title>
-<path fill="none" stroke="midnightblue" d="M15736.09,-534.65C16772,-530.81 25797.01,-494.82 26054.5,-405 26065.97,-401 26077.13,-394.97 26087.51,-388.07"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-531.15 15726.07,-534.69 15736.08,-538.15 15736.06,-531.15"/>
+<path fill="none" stroke="midnightblue" d="M16048.46,-534.67C17076.69,-531.07 25941.93,-497.41 26193.5,-405 26201.41,-402.09 26209.12,-398.13 26216.47,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="16048.14,-531.17 16038.16,-534.71 16048.17,-538.17 16048.14,-531.17"/>
</g>
<!-- Node312 -->
-<g id="node277" class="node">
+<g id="node276" class="node">
<title>Node312</title>
-<g id="a_node277"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="26249,-276 26249,-388 26404,-388 26404,-276 26249,-276"/>
-<text text-anchor="middle" x="26326.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ClipAttrs ></text>
-<polyline fill="none" stroke="red" points="26249,-369 26404,-369 "/>
-<text text-anchor="middle" x="26326.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="26249,-350 26404,-350 "/>
-<text text-anchor="start" x="26257" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26257" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="26257" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="26257" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="26257" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="26257" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node276"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="26376,-276 26376,-388 26543,-388 26543,-276 26376,-276"/>
+<text text-anchor="middle" x="26459.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DenseAttrs ></text>
+<polyline fill="none" stroke="red" points="26376,-369 26543,-369 "/>
+<text text-anchor="middle" x="26459.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="26376,-350 26543,-350 "/>
+<text text-anchor="start" x="26384" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="26384" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="26384" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="26384" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="26384" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="26384" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node312 -->
-<g id="edge276" class="edge">
+<g id="edge275" class="edge">
<title>Node1->Node312</title>
-<path fill="none" stroke="midnightblue" d="M15736.19,-534.71C16782.8,-531.51 25978.81,-500.69 26239.5,-405 26250.36,-401.01 26260.83,-395.04 26270.52,-388.21"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-531.21 15726.07,-534.75 15736.09,-538.21 15736.06,-531.21"/>
+<path fill="none" stroke="midnightblue" d="M16048.09,-534.65C17084,-530.81 26109.01,-494.82 26366.5,-405 26377.97,-401 26389.13,-394.97 26399.51,-388.07"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-531.15 16038.07,-534.69 16048.08,-538.15 16048.06,-531.15"/>
</g>
<!-- Node314 -->
-<g id="node278" class="node">
+<g id="node277" class="node">
<title>Node314</title>
-<g id="a_node278"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="26422,-270.5 26422,-393.5 26595,-393.5 26595,-270.5 26422,-270.5"/>
-<text text-anchor="start" x="26430" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AutoScheduler</text>
-<text text-anchor="middle" x="26508.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">LayoutTransformAttrs ></text>
-<polyline fill="none" stroke="red" points="26422,-363.5 26595,-363.5 "/>
-<text text-anchor="middle" x="26508.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="26422,-344.5 26595,-344.5 "/>
-<text text-anchor="start" x="26430" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26430" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="26430" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="26430" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="26430" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="26430" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node277"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="26561,-276 26561,-388 26716,-388 26716,-276 26561,-276"/>
+<text text-anchor="middle" x="26638.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ClipAttrs ></text>
+<polyline fill="none" stroke="red" points="26561,-369 26716,-369 "/>
+<text text-anchor="middle" x="26638.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="26561,-350 26716,-350 "/>
+<text text-anchor="start" x="26569" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="26569" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="26569" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="26569" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="26569" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="26569" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node314 -->
-<g id="edge277" class="edge">
+<g id="edge276" class="edge">
<title>Node1->Node314</title>
-<path fill="none" stroke="midnightblue" d="M15736.51,-534.67C16793.97,-530.99 26145.2,-495.9 26412.5,-405 26420.98,-402.12 26429.32,-398.17 26437.33,-393.6"/>
-<polygon fill="none" stroke="midnightblue" points="15736.28,-531.17 15726.3,-534.71 15736.31,-538.17 15736.28,-531.17"/>
+<path fill="none" stroke="midnightblue" d="M16048.19,-534.71C17094.8,-531.51 26290.81,-500.69 26551.5,-405 26562.36,-401.01 26572.83,-395.04 26582.52,-388.21"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-531.21 16038.07,-534.75 16048.09,-538.21 16048.06,-531.21"/>
</g>
<!-- Node316 -->
-<g id="node279" class="node">
+<g id="node278" class="node">
<title>Node316</title>
-<g id="a_node279"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="26613,-270.5 26613,-393.5 26764,-393.5 26764,-270.5 26613,-270.5"/>
-<text text-anchor="start" x="26621" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Statistical</text>
-<text text-anchor="middle" x="26688.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="26613,-363.5 26764,-363.5 "/>
-<text text-anchor="middle" x="26688.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="26613,-344.5 26764,-344.5 "/>
-<text text-anchor="start" x="26621" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26621" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="26621" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="26621" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="26621" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="26621" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node278"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="26734,-270.5 26734,-393.5 26907,-393.5 26907,-270.5 26734,-270.5"/>
+<text text-anchor="start" x="26742" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AutoScheduler</text>
+<text text-anchor="middle" x="26820.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">LayoutTransformAttrs ></text>
+<polyline fill="none" stroke="red" points="26734,-363.5 26907,-363.5 "/>
+<text text-anchor="middle" x="26820.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="26734,-344.5 26907,-344.5 "/>
+<text text-anchor="start" x="26742" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="26742" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="26742" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="26742" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="26742" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="26742" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node316 -->
-<g id="edge278" class="edge">
+<g id="edge277" class="edge">
<title>Node1->Node316</title>
-<path fill="none" stroke="midnightblue" d="M15736.6,-534.77C16804.93,-532.11 26334.17,-505.55 26603.5,-405 26611.29,-402.09 26618.86,-398.13 26626.07,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15736.27,-531.27 15726.28,-534.79 15736.29,-538.27 15736.27,-531.27"/>
+<path fill="none" stroke="midnightblue" d="M16048.51,-534.67C17105.97,-530.99 26457.2,-495.9 26724.5,-405 26732.98,-402.12 26741.32,-398.17 26749.33,-393.6"/>
+<polygon fill="none" stroke="midnightblue" points="16048.28,-531.17 16038.3,-534.71 16048.31,-538.17 16048.28,-531.17"/>
</g>
<!-- Node318 -->
-<g id="node280" class="node">
+<g id="node279" class="node">
<title>Node318</title>
-<g id="a_node280"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="26782.5,-270.5 26782.5,-393.5 26966.5,-393.5 26966.5,-270.5 26782.5,-270.5"/>
-<text text-anchor="start" x="26790.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LayoutTransform</text>
-<text text-anchor="middle" x="26874.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="26782.5,-363.5 26966.5,-363.5 "/>
-<text text-anchor="middle" x="26874.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="26782.5,-344.5 26966.5,-344.5 "/>
-<text text-anchor="start" x="26790.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26790.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="26790.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="26790.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="26790.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="26790.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node279"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="26925,-270.5 26925,-393.5 27076,-393.5 27076,-270.5 26925,-270.5"/>
+<text text-anchor="start" x="26933" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Statistical</text>
+<text text-anchor="middle" x="27000.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="26925,-363.5 27076,-363.5 "/>
+<text text-anchor="middle" x="27000.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="26925,-344.5 27076,-344.5 "/>
+<text text-anchor="start" x="26933" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="26933" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="26933" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="26933" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="26933" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="26933" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node318 -->
-<g id="edge279" class="edge">
+<g id="edge278" class="edge">
<title>Node1->Node318</title>
-<path fill="none" stroke="midnightblue" d="M15736.41,-534.67C16812.57,-530.95 26494.64,-494.98 26772.5,-405 26781.37,-402.13 26790.13,-398.19 26798.58,-393.62"/>
-<polygon fill="none" stroke="midnightblue" points="15736.38,-531.17 15726.39,-534.71 15736.4,-538.17 15736.38,-531.17"/>
+<path fill="none" stroke="midnightblue" d="M16048.6,-534.77C17116.93,-532.11 26646.17,-505.55 26915.5,-405 26923.29,-402.09 26930.86,-398.13 26938.07,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="16048.27,-531.27 16038.28,-534.79 16048.29,-538.27 16048.27,-531.27"/>
+</g>
+<!-- Node320 -->
+<g id="node280" class="node">
+<title>Node320</title>
+<g id="a_node280"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="27094.5,-270.5 27094.5,-393.5 27278.5,-393.5 27278.5,-270.5 27094.5,-270.5"/>
+<text text-anchor="start" x="27102.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LayoutTransform</text>
+<text text-anchor="middle" x="27186.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="27094.5,-363.5 27278.5,-363.5 "/>
+<text text-anchor="middle" x="27186.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="27094.5,-344.5 27278.5,-344.5 "/>
+<text text-anchor="start" x="27102.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="27102.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="27102.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="27102.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="27102.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="27102.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node320 -->
+<g id="edge279" class="edge">
+<title>Node1->Node320</title>
+<path fill="none" stroke="midnightblue" d="M16048.41,-534.67C17124.57,-530.95 26806.64,-494.98 27084.5,-405 27093.37,-402.13 27102.13,-398.19 27110.58,-393.62"/>
+<polygon fill="none" stroke="midnightblue" points="16048.38,-531.17 16038.39,-534.71 16048.4,-538.17 16048.38,-531.17"/>
</g>
-<!-- Node321 -->
+<!-- Node323 -->
<g id="node281" class="node">
-<title>Node321</title>
+<title>Node323</title>
<g id="a_node281"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="26985,-270.5 26985,-393.5 27174,-393.5 27174,-270.5 26985,-270.5"/>
-<text text-anchor="start" x="26993" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv1DTranspose</text>
-<text text-anchor="middle" x="27079.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="26985,-363.5 27174,-363.5 "/>
-<text text-anchor="middle" x="27079.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="26985,-344.5 27174,-344.5 "/>
-<text text-anchor="start" x="26993" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26993" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="26993" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="26993" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="26993" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="26993" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node321 -->
+<polygon fill="white" stroke="red" points="27297,-270.5 27297,-393.5 27486,-393.5 27486,-270.5 27297,-270.5"/>
+<text text-anchor="start" x="27305" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv1DTranspose</text>
+<text text-anchor="middle" x="27391.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="27297,-363.5 27486,-363.5 "/>
+<text text-anchor="middle" x="27391.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="27297,-344.5 27486,-344.5 "/>
+<text text-anchor="start" x="27305" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="27305" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="27305" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="27305" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="27305" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="27305" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node323 -->
<g id="edge280" class="edge">
-<title>Node1->Node321</title>
-<path fill="none" stroke="midnightblue" d="M15736.49,-534.68C16823.75,-531.02 26692,-495.35 26975.5,-405 26984.5,-402.13 26993.41,-398.2 27002,-393.63"/>
-<polygon fill="none" stroke="midnightblue" points="15736.36,-531.18 15726.37,-534.72 15736.38,-538.18 15736.36,-531.18"/>
-</g>
-<!-- Node324 -->
-<g id="node282" class="node">
-<title>Node324</title>
-<g id="a_node282"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="27192.5,-270.5 27192.5,-393.5 27336.5,-393.5 27336.5,-270.5 27192.5,-270.5"/>
-<text text-anchor="start" x="27200.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Variance</text>
-<text text-anchor="middle" x="27264.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="27192.5,-363.5 27336.5,-363.5 "/>
-<text text-anchor="middle" x="27264.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="27192.5,-344.5 27336.5,-344.5 "/>
-<text text-anchor="start" x="27200.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="27200.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="27200.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="27200.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="27200.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="27200.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node324 -->
-<g id="edge281" class="edge">
-<title>Node1->Node324</title>
-<path fill="none" stroke="midnightblue" d="M15736.6,-534.85C16835.64,-533.03 26899.43,-513.46 27182.5,-405 27190.11,-402.09 27197.47,-398.12 27204.46,-393.53"/>
-<polygon fill="none" stroke="midnightblue" points="15736.37,-531.35 15726.38,-534.87 15736.39,-538.35 15736.37,-531.35"/>
+<title>Node1->Node323</title>
+<path fill="none" stroke="midnightblue" d="M16048.49,-534.68C17135.75,-531.02 27004,-495.35 27287.5,-405 27296.5,-402.13 27305.41,-398.2 27314,-393.63"/>
+<polygon fill="none" stroke="midnightblue" points="16048.36,-531.18 16038.37,-534.72 16048.38,-538.18 16048.36,-531.18"/>
</g>
<!-- Node326 -->
-<g id="node283" class="node">
+<g id="node282" class="node">
<title>Node326</title>
-<g id="a_node283"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="27355,-276 27355,-388 27526,-388 27526,-276 27355,-276"/>
-<text text-anchor="middle" x="27440.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< UniqueAttrs ></text>
-<polyline fill="none" stroke="red" points="27355,-369 27526,-369 "/>
-<text text-anchor="middle" x="27440.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="27355,-350 27526,-350 "/>
-<text text-anchor="start" x="27363" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="27363" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="27363" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="27363" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="27363" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="27363" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node282"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="27504.5,-270.5 27504.5,-393.5 27648.5,-393.5 27648.5,-270.5 27504.5,-270.5"/>
+<text text-anchor="start" x="27512.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Variance</text>
+<text text-anchor="middle" x="27576.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="27504.5,-363.5 27648.5,-363.5 "/>
+<text text-anchor="middle" x="27576.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="27504.5,-344.5 27648.5,-344.5 "/>
+<text text-anchor="start" x="27512.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="27512.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="27512.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="27512.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="27512.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="27512.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node326 -->
-<g id="edge282" class="edge">
+<g id="edge281" class="edge">
<title>Node1->Node326</title>
-<path fill="none" stroke="midnightblue" d="M15736.66,-534.77C16844.24,-532.08 27054.54,-504.6 27345.5,-405 27357.15,-401.01 27368.52,-394.99 27379.1,-388.09"/>
-<polygon fill="none" stroke="midnightblue" points="15736.34,-531.27 15726.35,-534.8 15736.36,-538.27 15736.34,-531.27"/>
+<path fill="none" stroke="midnightblue" d="M16048.6,-534.85C17147.64,-533.03 27211.43,-513.46 27494.5,-405 27502.11,-402.09 27509.47,-398.12 27516.46,-393.53"/>
+<polygon fill="none" stroke="midnightblue" points="16048.37,-531.35 16038.38,-534.87 16048.39,-538.35 16048.37,-531.35"/>
</g>
<!-- Node328 -->
-<g id="node284" class="node">
+<g id="node283" class="node">
<title>Node328</title>
-<g id="a_node284"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="27544.5,-270.5 27544.5,-393.5 27694.5,-393.5 27694.5,-270.5 27544.5,-270.5"/>
-<text text-anchor="start" x="27552.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MaxPool2</text>
-<text text-anchor="middle" x="27619.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="red" points="27544.5,-363.5 27694.5,-363.5 "/>
-<text text-anchor="middle" x="27619.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="27544.5,-344.5 27694.5,-344.5 "/>
-<text text-anchor="start" x="27552.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="27552.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="27552.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="27552.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="27552.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="27552.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node283"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="27667,-276 27667,-388 27838,-388 27838,-276 27667,-276"/>
+<text text-anchor="middle" x="27752.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< UniqueAttrs ></text>
+<polyline fill="none" stroke="red" points="27667,-369 27838,-369 "/>
+<text text-anchor="middle" x="27752.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="27667,-350 27838,-350 "/>
+<text text-anchor="start" x="27675" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="27675" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="27675" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="27675" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="27675" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="27675" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node328 -->
-<g id="edge283" class="edge">
+<g id="edge282" class="edge">
<title>Node1->Node328</title>
-<path fill="none" stroke="midnightblue" d="M15736.52,-534.86C16853.32,-533.14 27241.54,-514.22 27534.5,-405 27542.29,-402.09 27549.86,-398.13 27557.07,-393.56"/>
-<polygon fill="none" stroke="midnightblue" points="15736.13,-531.36 15726.13,-534.88 15736.14,-538.36 15736.13,-531.36"/>
+<path fill="none" stroke="midnightblue" d="M16048.66,-534.77C17156.24,-532.08 27366.54,-504.6 27657.5,-405 27669.15,-401.01 27680.52,-394.99 27691.1,-388.09"/>
+<polygon fill="none" stroke="midnightblue" points="16048.34,-531.27 16038.35,-534.8 16048.36,-538.27 16048.34,-531.27"/>
</g>
<!-- Node330 -->
-<g id="node285" class="node">
+<g id="node284" class="node">
<title>Node330</title>
-<g id="a_node285"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="27713,-270.5 27713,-393.5 27856,-393.5 27856,-270.5 27713,-270.5"/>
-<text text-anchor="start" x="27721" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GetValid</text>
-<text text-anchor="middle" x="27784.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">CountsAttrs ></text>
-<polyline fill="none" stroke="red" points="27713,-363.5 27856,-363.5 "/>
-<text text-anchor="middle" x="27784.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="27713,-344.5 27856,-344.5 "/>
-<text text-anchor="start" x="27721" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="27721" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="27721" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="27721" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="27721" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="27721" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node284"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="27856.5,-270.5 27856.5,-393.5 28006.5,-393.5 28006.5,-270.5 27856.5,-270.5"/>
+<text text-anchor="start" x="27864.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MaxPool2</text>
+<text text-anchor="middle" x="27931.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="red" points="27856.5,-363.5 28006.5,-363.5 "/>
+<text text-anchor="middle" x="27931.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="27856.5,-344.5 28006.5,-344.5 "/>
+<text text-anchor="start" x="27864.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="27864.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="27864.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="27864.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="27864.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="27864.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node330 -->
-<g id="edge284" class="edge">
+<g id="edge283" class="edge">
<title>Node1->Node330</title>
-<path fill="none" stroke="midnightblue" d="M15736.19,-534.91C16859.99,-533.7 27407.56,-519.35 27703.5,-405 27711.05,-402.08 27718.34,-398.12 27725.26,-393.53"/>
-<polygon fill="none" stroke="midnightblue" points="15736.13,-531.41 15726.13,-534.92 15736.14,-538.41 15736.13,-531.41"/>
+<path fill="none" stroke="midnightblue" d="M16048.52,-534.86C17165.32,-533.14 27553.54,-514.22 27846.5,-405 27854.29,-402.09 27861.86,-398.13 27869.07,-393.56"/>
+<polygon fill="none" stroke="midnightblue" points="16048.13,-531.36 16038.13,-534.88 16048.14,-538.36 16048.13,-531.36"/>
</g>
<!-- Node332 -->
-<g id="node286" class="node">
+<g id="node285" class="node">
<title>Node332</title>
-<g id="a_node286"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="27874.5,-276 27874.5,-388 28042.5,-388 28042.5,-276 27874.5,-276"/>
-<text text-anchor="middle" x="27958.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DebugAttrs ></text>
-<polyline fill="none" stroke="red" points="27874.5,-369 28042.5,-369 "/>
-<text text-anchor="middle" x="27958.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="27874.5,-350 28042.5,-350 "/>
-<text text-anchor="start" x="27882.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="27882.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="27882.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="27882.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="27882.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="27882.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node285"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="28025,-270.5 28025,-393.5 28168,-393.5 28168,-270.5 28025,-270.5"/>
+<text text-anchor="start" x="28033" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GetValid</text>
+<text text-anchor="middle" x="28096.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">CountsAttrs ></text>
+<polyline fill="none" stroke="red" points="28025,-363.5 28168,-363.5 "/>
+<text text-anchor="middle" x="28096.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="28025,-344.5 28168,-344.5 "/>
+<text text-anchor="start" x="28033" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="28033" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="28033" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="28033" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="28033" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="28033" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node332 -->
-<g id="edge285" class="edge">
+<g id="edge284" class="edge">
<title>Node1->Node332</title>
-<path fill="none" stroke="midnightblue" d="M15736.13,-534.83C16867.61,-532.7 27560.46,-509.87 27864.5,-405 27876.06,-401.01 27887.33,-394.99 27897.81,-388.09"/>
-<polygon fill="none" stroke="midnightblue" points="15736,-531.33 15726.01,-534.85 15736.02,-538.33 15736,-531.33"/>
+<path fill="none" stroke="midnightblue" d="M16048.19,-534.91C17171.99,-533.7 27719.56,-519.35 28015.5,-405 28023.05,-402.08 28030.34,-398.12 28037.26,-393.53"/>
+<polygon fill="none" stroke="midnightblue" points="16048.13,-531.41 16038.13,-534.92 16048.14,-538.41 16048.13,-531.41"/>
</g>
<!-- Node334 -->
-<g id="node287" class="node">
+<g id="node286" class="node">
<title>Node334</title>
-<g id="a_node287"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="28060.5,-270.5 28060.5,-393.5 28216.5,-393.5 28216.5,-270.5 28060.5,-270.5"/>
-<text text-anchor="start" x="28068.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Correlation</text>
-<text text-anchor="middle" x="28138.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="28060.5,-363.5 28216.5,-363.5 "/>
-<text text-anchor="middle" x="28138.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="28060.5,-344.5 28216.5,-344.5 "/>
-<text text-anchor="start" x="28068.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="28068.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="28068.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="28068.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="28068.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="28068.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node286"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="28186.5,-276 28186.5,-388 28354.5,-388 28354.5,-276 28186.5,-276"/>
+<text text-anchor="middle" x="28270.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DebugAttrs ></text>
+<polyline fill="none" stroke="red" points="28186.5,-369 28354.5,-369 "/>
+<text text-anchor="middle" x="28270.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="28186.5,-350 28354.5,-350 "/>
+<text text-anchor="start" x="28194.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="28194.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="28194.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="28194.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="28194.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="28194.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node334 -->
-<g id="edge286" class="edge">
+<g id="edge285" class="edge">
<title>Node1->Node334</title>
-<path fill="none" stroke="midnightblue" d="M15736.3,-534.89C16878.24,-533.5 27744.74,-517.29 28051.5,-405 28059.42,-402.1 28067.13,-398.15 28074.48,-393.57"/>
-<polygon fill="none" stroke="midnightblue" points="15736.08,-531.39 15726.09,-534.9 15736.09,-538.39 15736.08,-531.39"/>
+<path fill="none" stroke="midnightblue" d="M16048.13,-534.83C17179.61,-532.7 27872.46,-509.87 28176.5,-405 28188.06,-401.01 28199.33,-394.99 28209.81,-388.09"/>
+<polygon fill="none" stroke="midnightblue" points="16048,-531.33 16038.01,-534.85 16048.02,-538.33 16048,-531.33"/>
</g>
<!-- Node336 -->
-<g id="node288" class="node">
+<g id="node287" class="node">
<title>Node336</title>
-<g id="a_node288"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="28235,-270.5 28235,-393.5 28408,-393.5 28408,-270.5 28235,-270.5"/>
-<text text-anchor="start" x="28243" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ConvWinograd</text>
-<text text-anchor="middle" x="28321.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">WeightTransformAttrs ></text>
-<polyline fill="none" stroke="red" points="28235,-363.5 28408,-363.5 "/>
-<text text-anchor="middle" x="28321.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="28235,-344.5 28408,-344.5 "/>
-<text text-anchor="start" x="28243" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="28243" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="28243" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="28243" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="28243" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="28243" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node287"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="28372.5,-270.5 28372.5,-393.5 28528.5,-393.5 28528.5,-270.5 28372.5,-270.5"/>
+<text text-anchor="start" x="28380.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Correlation</text>
+<text text-anchor="middle" x="28450.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="28372.5,-363.5 28528.5,-363.5 "/>
+<text text-anchor="middle" x="28450.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="28372.5,-344.5 28528.5,-344.5 "/>
+<text text-anchor="start" x="28380.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="28380.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="28380.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="28380.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="28380.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="28380.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node336 -->
-<g id="edge287" class="edge">
+<g id="edge286" class="edge">
<title>Node1->Node336</title>
-<path fill="none" stroke="midnightblue" d="M15736.3,-534.84C16886.83,-532.89 27911.68,-511.41 28225.5,-405 28233.98,-402.12 28242.33,-398.18 28250.34,-393.61"/>
-<polygon fill="none" stroke="midnightblue" points="15736.01,-531.34 15726.02,-534.86 15736.02,-538.34 15736.01,-531.34"/>
+<path fill="none" stroke="midnightblue" d="M16048.3,-534.89C17190.24,-533.5 28056.74,-517.29 28363.5,-405 28371.42,-402.1 28379.13,-398.15 28386.48,-393.57"/>
+<polygon fill="none" stroke="midnightblue" points="16048.08,-531.39 16038.09,-534.9 16048.09,-538.39 16048.08,-531.39"/>
</g>
<!-- Node338 -->
-<g id="node289" class="node">
+<g id="node288" class="node">
<title>Node338</title>
-<g id="a_node289"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="28426,-270.5 28426,-393.5 28615,-393.5 28615,-270.5 28426,-270.5"/>
-<text text-anchor="start" x="28434" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DTranspose</text>
-<text text-anchor="middle" x="28520.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="28426,-363.5 28615,-363.5 "/>
-<text text-anchor="middle" x="28520.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="28426,-344.5 28615,-344.5 "/>
-<text text-anchor="start" x="28434" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="28434" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="28434" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="28434" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="28434" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="28434" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node288"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="28547,-270.5 28547,-393.5 28720,-393.5 28720,-270.5 28547,-270.5"/>
+<text text-anchor="start" x="28555" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ConvWinograd</text>
+<text text-anchor="middle" x="28633.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">WeightTransformAttrs ></text>
+<polyline fill="none" stroke="red" points="28547,-363.5 28720,-363.5 "/>
+<text text-anchor="middle" x="28633.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="28547,-344.5 28720,-344.5 "/>
+<text text-anchor="start" x="28555" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="28555" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="28555" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="28555" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="28555" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="28555" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node338 -->
-<g id="edge288" class="edge">
+<g id="edge287" class="edge">
<title>Node1->Node338</title>
-<path fill="none" stroke="midnightblue" d="M15736.41,-534.81C16896.93,-532.44 28095.79,-506.98 28416.5,-405 28425.5,-402.14 28434.41,-398.21 28443.01,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15736.03,-531.31 15726.04,-534.83 15736.04,-538.31 15736.03,-531.31"/>
+<path fill="none" stroke="midnightblue" d="M16048.3,-534.84C17198.83,-532.89 28223.68,-511.41 28537.5,-405 28545.98,-402.12 28554.33,-398.18 28562.34,-393.61"/>
+<polygon fill="none" stroke="midnightblue" points="16048.01,-531.34 16038.02,-534.86 16048.02,-538.34 16048.01,-531.34"/>
</g>
-<!-- Node341 -->
-<g id="node290" class="node">
-<title>Node341</title>
-<g id="a_node290"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="28633,-270.5 28633,-393.5 28794,-393.5 28794,-270.5 28633,-270.5"/>
-<text text-anchor="start" x="28641" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< UpSampling</text>
-<text text-anchor="middle" x="28713.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="28633,-363.5 28794,-363.5 "/>
-<text text-anchor="middle" x="28713.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="28633,-344.5 28794,-344.5 "/>
-<text text-anchor="start" x="28641" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="28641" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="28641" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="28641" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="28641" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="28641" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node341 -->
-<g id="edge289" class="edge">
-<title>Node1->Node341</title>
-<path fill="none" stroke="midnightblue" d="M15736.22,-534.92C16906.13,-533.79 28301.2,-519.87 28623.5,-405 28631.6,-402.11 28639.53,-398.16 28647.1,-393.59"/>
-<polygon fill="none" stroke="midnightblue" points="15736.17,-531.42 15726.18,-534.93 15736.18,-538.42 15736.17,-531.42"/>
+<!-- Node340 -->
+<g id="node289" class="node">
+<title>Node340</title>
+<g id="a_node289"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="28738,-270.5 28738,-393.5 28927,-393.5 28927,-270.5 28738,-270.5"/>
+<text text-anchor="start" x="28746" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DTranspose</text>
+<text text-anchor="middle" x="28832.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="28738,-363.5 28927,-363.5 "/>
+<text text-anchor="middle" x="28832.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="28738,-344.5 28927,-344.5 "/>
+<text text-anchor="start" x="28746" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="28746" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="28746" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="28746" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="28746" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="28746" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node340 -->
+<g id="edge288" class="edge">
+<title>Node1->Node340</title>
+<path fill="none" stroke="midnightblue" d="M16048.41,-534.81C17208.93,-532.44 28407.79,-506.98 28728.5,-405 28737.5,-402.14 28746.41,-398.21 28755.01,-393.65"/>
+<polygon fill="none" stroke="midnightblue" points="16048.03,-531.31 16038.04,-534.83 16048.04,-538.31 16048.03,-531.31"/>
</g>
<!-- Node343 -->
-<g id="node291" class="node">
+<g id="node290" class="node">
<title>Node343</title>
-<g id="a_node291"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="28812,-276 28812,-388 28985,-388 28985,-276 28812,-276"/>
-<text text-anchor="middle" x="28898.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NormalAttrs ></text>
-<polyline fill="none" stroke="red" points="28812,-369 28985,-369 "/>
-<text text-anchor="middle" x="28898.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="28812,-350 28985,-350 "/>
-<text text-anchor="start" x="28820" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="28820" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="28820" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="28820" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="28820" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="28820" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node290"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="28945,-270.5 28945,-393.5 29106,-393.5 29106,-270.5 28945,-270.5"/>
+<text text-anchor="start" x="28953" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< UpSampling</text>
+<text text-anchor="middle" x="29025.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="28945,-363.5 29106,-363.5 "/>
+<text text-anchor="middle" x="29025.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="28945,-344.5 29106,-344.5 "/>
+<text text-anchor="start" x="28953" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="28953" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="28953" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="28953" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="28953" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="28953" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node343 -->
-<g id="edge290" class="edge">
+<g id="edge289" class="edge">
<title>Node1->Node343</title>
-<path fill="none" stroke="midnightblue" d="M15736.18,-534.89C16914.52,-533.44 28473.85,-516.36 28802.5,-405 28814.24,-401.02 28825.71,-395 28836.4,-388.11"/>
-<polygon fill="none" stroke="midnightblue" points="15736.06,-531.39 15726.06,-534.9 15736.06,-538.39 15736.06,-531.39"/>
+<path fill="none" stroke="midnightblue" d="M16048.22,-534.92C17218.13,-533.79 28613.2,-519.87 28935.5,-405 28943.6,-402.11 28951.53,-398.16 28959.1,-393.59"/>
+<polygon fill="none" stroke="midnightblue" points="16048.17,-531.42 16038.18,-534.93 16048.18,-538.42 16048.17,-531.42"/>
</g>
<!-- Node345 -->
-<g id="node292" class="node">
+<g id="node291" class="node">
<title>Node345</title>
-<g id="a_node292"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="29003,-276 29003,-388 29188,-388 29188,-276 29003,-276"/>
-<text text-anchor="middle" x="29095.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GatherNDAttrs ></text>
-<polyline fill="none" stroke="red" points="29003,-369 29188,-369 "/>
-<text text-anchor="middle" x="29095.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="29003,-350 29188,-350 "/>
-<text text-anchor="start" x="29011" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="29011" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="29011" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="29011" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="29011" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="29011" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node291"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="29124,-276 29124,-388 29297,-388 29297,-276 29124,-276"/>
+<text text-anchor="middle" x="29210.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NormalAttrs ></text>
+<polyline fill="none" stroke="red" points="29124,-369 29297,-369 "/>
+<text text-anchor="middle" x="29210.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="29124,-350 29297,-350 "/>
+<text text-anchor="start" x="29132" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="29132" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="29132" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="29132" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="29132" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="29132" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node345 -->
-<g id="edge291" class="edge">
+<g id="edge290" class="edge">
<title>Node1->Node345</title>
-<path fill="none" stroke="midnightblue" d="M15736.65,-534.87C16926.84,-533.12 28658.39,-513.16 28993.5,-405 29005.77,-401.04 29017.85,-395.03 29029.16,-388.14"/>
-<polygon fill="none" stroke="midnightblue" points="15736.43,-531.37 15726.43,-534.88 15736.44,-538.37 15736.43,-531.37"/>
+<path fill="none" stroke="midnightblue" d="M16048.18,-534.89C17226.52,-533.44 28785.85,-516.36 29114.5,-405 29126.24,-401.02 29137.71,-395 29148.4,-388.11"/>
+<polygon fill="none" stroke="midnightblue" points="16048.06,-531.39 16038.06,-534.9 16048.06,-538.39 16048.06,-531.39"/>
</g>
<!-- Node347 -->
-<g id="node293" class="node">
+<g id="node292" class="node">
<title>Node347</title>
-<g id="a_node293"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="29206.5,-270.5 29206.5,-393.5 29352.5,-393.5 29352.5,-270.5 29206.5,-270.5"/>
-<text text-anchor="start" x="29214.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Dilation2</text>
-<text text-anchor="middle" x="29279.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
-<polyline fill="none" stroke="red" points="29206.5,-363.5 29352.5,-363.5 "/>
-<text text-anchor="middle" x="29279.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="29206.5,-344.5 29352.5,-344.5 "/>
-<text text-anchor="start" x="29214.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="29214.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="29214.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="29214.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="29214.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="29214.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node292"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="29315,-276 29315,-388 29500,-388 29500,-276 29315,-276"/>
+<text text-anchor="middle" x="29407.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GatherNDAttrs ></text>
+<polyline fill="none" stroke="red" points="29315,-369 29500,-369 "/>
+<text text-anchor="middle" x="29407.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="29315,-350 29500,-350 "/>
+<text text-anchor="start" x="29323" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="29323" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="29323" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="29323" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="29323" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="29323" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node347 -->
-<g id="edge292" class="edge">
+<g id="edge291" class="edge">
<title>Node1->Node347</title>
-<path fill="none" stroke="midnightblue" d="M15736.32,-535.01C16934.78,-535 28862.02,-531.69 29196.5,-405 29204.17,-402.09 29211.61,-398.13 29218.67,-393.55"/>
-<polygon fill="none" stroke="midnightblue" points="15736.03,-531.51 15726.03,-535.01 15736.03,-538.51 15736.03,-531.51"/>
+<path fill="none" stroke="midnightblue" d="M16048.65,-534.87C17238.84,-533.12 28970.39,-513.16 29305.5,-405 29317.77,-401.04 29329.85,-395.03 29341.16,-388.14"/>
+<polygon fill="none" stroke="midnightblue" points="16048.43,-531.37 16038.43,-534.88 16048.44,-538.37 16048.43,-531.37"/>
</g>
<!-- Node349 -->
-<g id="node294" class="node">
+<g id="node293" class="node">
<title>Node349</title>
-<g id="a_node294"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="29371,-270.5 29371,-393.5 29560,-393.5 29560,-270.5 29371,-270.5"/>
-<text text-anchor="start" x="29379" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv3DTranspose</text>
-<text text-anchor="middle" x="29465.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="29371,-363.5 29560,-363.5 "/>
-<text text-anchor="middle" x="29465.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="29371,-344.5 29560,-344.5 "/>
-<text text-anchor="start" x="29379" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="29379" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="29379" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="29379" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="29379" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="29379" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node293"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="29518.5,-270.5 29518.5,-393.5 29664.5,-393.5 29664.5,-270.5 29518.5,-270.5"/>
+<text text-anchor="start" x="29526.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Dilation2</text>
+<text text-anchor="middle" x="29591.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs ></text>
+<polyline fill="none" stroke="red" points="29518.5,-363.5 29664.5,-363.5 "/>
+<text text-anchor="middle" x="29591.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="29518.5,-344.5 29664.5,-344.5 "/>
+<text text-anchor="start" x="29526.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="29526.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="29526.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="29526.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="29526.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="29526.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node349 -->
-<g id="edge293" class="edge">
+<g id="edge292" class="edge">
<title>Node1->Node349</title>
-<path fill="none" stroke="midnightblue" d="M15736.52,-534.88C16943.71,-533.28 29016.37,-514.61 29361.5,-405 29370.5,-402.14 29379.41,-398.21 29388.01,-393.65"/>
-<polygon fill="none" stroke="midnightblue" points="15736.16,-531.38 15726.16,-534.89 15736.17,-538.38 15736.16,-531.38"/>
+<path fill="none" stroke="midnightblue" d="M16048.32,-535.01C17246.78,-535 29174.02,-531.69 29508.5,-405 29516.17,-402.09 29523.61,-398.13 29530.67,-393.55"/>
+<polygon fill="none" stroke="midnightblue" points="16048.03,-531.51 16038.03,-535.01 16048.03,-538.51 16048.03,-531.51"/>
</g>
<!-- Node351 -->
-<g id="node295" class="node">
+<g id="node294" class="node">
<title>Node351</title>
-<g id="a_node295"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="29578,-270.5 29578,-393.5 29729,-393.5 29729,-270.5 29578,-270.5"/>
-<text text-anchor="start" x="29586" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AffineGrid</text>
-<text text-anchor="middle" x="29653.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="29578,-363.5 29729,-363.5 "/>
-<text text-anchor="middle" x="29653.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="29578,-344.5 29729,-344.5 "/>
-<text text-anchor="start" x="29586" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="29586" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="29586" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="29586" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="29586" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="29586" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node294"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="29683,-270.5 29683,-393.5 29872,-393.5 29872,-270.5 29683,-270.5"/>
+<text text-anchor="start" x="29691" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv3DTranspose</text>
+<text text-anchor="middle" x="29777.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="29683,-363.5 29872,-363.5 "/>
+<text text-anchor="middle" x="29777.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="29683,-344.5 29872,-344.5 "/>
+<text text-anchor="start" x="29691" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="29691" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="29691" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="29691" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="29691" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="29691" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node351 -->
-<g id="edge294" class="edge">
+<g id="edge293" class="edge">
<title>Node1->Node351</title>
-<path fill="none" stroke="midnightblue" d="M15736.17,-535.02C16951.53,-535.14 29223.81,-533.19 29568.5,-405 29576.29,-402.1 29583.87,-398.14 29591.08,-393.57"/>
-<polygon fill="none" stroke="midnightblue" points="15736.17,-531.52 15726.17,-535.02 15736.17,-538.52 15736.17,-531.52"/>
+<path fill="none" stroke="midnightblue" d="M16048.52,-534.88C17255.71,-533.28 29328.37,-514.61 29673.5,-405 29682.5,-402.14 29691.41,-398.21 29700.01,-393.65"/>
+<polygon fill="none" stroke="midnightblue" points="16048.16,-531.38 16038.16,-534.89 16048.17,-538.38 16048.16,-531.38"/>
</g>
<!-- Node353 -->
-<g id="node296" class="node">
+<g id="node295" class="node">
<title>Node353</title>
-<g id="a_node296"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="29747,-270.5 29747,-393.5 29916,-393.5 29916,-270.5 29747,-270.5"/>
-<text text-anchor="start" x="29755" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PermuteDims</text>
-<text text-anchor="middle" x="29831.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="29747,-363.5 29916,-363.5 "/>
-<text text-anchor="middle" x="29831.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="29747,-344.5 29916,-344.5 "/>
-<text text-anchor="start" x="29755" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="29755" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="29755" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="29755" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="29755" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="29755" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node295"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="29890,-270.5 29890,-393.5 30041,-393.5 30041,-270.5 29890,-270.5"/>
+<text text-anchor="start" x="29898" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AffineGrid</text>
+<text text-anchor="middle" x="29965.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="29890,-363.5 30041,-363.5 "/>
+<text text-anchor="middle" x="29965.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="29890,-344.5 30041,-344.5 "/>
+<text text-anchor="start" x="29898" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="29898" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="29898" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="29898" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="29898" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="29898" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node353 -->
-<g id="edge295" class="edge">
+<g id="edge294" class="edge">
<title>Node1->Node353</title>
-<path fill="none" stroke="midnightblue" d="M15736.38,-534.97C16960.78,-534.44 29385.44,-526.15 29737.5,-405 29745.86,-402.12 29754.06,-398.18 29761.92,-393.61"/>
-<polygon fill="none" stroke="midnightblue" points="15736.3,-531.47 15726.3,-534.97 15736.31,-538.47 15736.3,-531.47"/>
+<path fill="none" stroke="midnightblue" d="M16048.17,-535.02C17263.53,-535.14 29535.81,-533.19 29880.5,-405 29888.29,-402.1 29895.87,-398.14 29903.08,-393.57"/>
+<polygon fill="none" stroke="midnightblue" points="16048.17,-531.52 16038.17,-535.02 16048.17,-538.52 16048.17,-531.52"/>
</g>
<!-- Node355 -->
-<g id="node297" class="node">
+<g id="node296" class="node">
<title>Node355</title>
-<g id="a_node297"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="red" points="29933.5,-270.5 29933.5,-393.5 30091.5,-393.5 30091.5,-270.5 29933.5,-270.5"/>
-<text text-anchor="start" x="29941.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GroupNorm</text>
-<text text-anchor="middle" x="30012.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="red" points="29933.5,-363.5 30091.5,-363.5 "/>
-<text text-anchor="middle" x="30012.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="red" points="29933.5,-344.5 30091.5,-344.5 "/>
-<text text-anchor="start" x="29941.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="29941.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="29941.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="29941.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="29941.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="29941.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node296"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="30059,-270.5 30059,-393.5 30228,-393.5 30228,-270.5 30059,-270.5"/>
+<text text-anchor="start" x="30067" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PermuteDims</text>
+<text text-anchor="middle" x="30143.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="30059,-363.5 30228,-363.5 "/>
+<text text-anchor="middle" x="30143.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="30059,-344.5 30228,-344.5 "/>
+<text text-anchor="start" x="30067" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="30067" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="30067" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="30067" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="30067" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="30067" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node355 -->
-<g id="edge296" class="edge">
+<g id="edge295" class="edge">
<title>Node1->Node355</title>
-<path fill="none" stroke="midnightblue" d="M15736.25,-535.02C16968.83,-535.16 29569.65,-533.49 29924.5,-405 29932.48,-402.11 29940.26,-398.16 29947.69,-393.59"/>
-<polygon fill="none" stroke="midnightblue" points="15736.11,-531.52 15726.11,-535.02 15736.11,-538.52 15736.11,-531.52"/>
+<path fill="none" stroke="midnightblue" d="M16048.38,-534.97C17272.78,-534.44 29697.44,-526.15 30049.5,-405 30057.86,-402.12 30066.06,-398.18 30073.92,-393.61"/>
+<polygon fill="none" stroke="midnightblue" points="16048.3,-531.47 16038.3,-534.97 16048.31,-538.47 16048.3,-531.47"/>
</g>
-<!-- Node358 -->
+<!-- Node357 -->
+<g id="node297" class="node">
+<title>Node357</title>
+<g id="a_node297"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="red" points="30245.5,-270.5 30245.5,-393.5 30403.5,-393.5 30403.5,-270.5 30245.5,-270.5"/>
+<text text-anchor="start" x="30253.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GroupNorm</text>
+<text text-anchor="middle" x="30324.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="red" points="30245.5,-363.5 30403.5,-363.5 "/>
+<text text-anchor="middle" x="30324.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="red" points="30245.5,-344.5 30403.5,-344.5 "/>
+<text text-anchor="start" x="30253.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="30253.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="30253.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="30253.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="30253.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="30253.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node357 -->
+<g id="edge296" class="edge">
+<title>Node1->Node357</title>
+<path fill="none" stroke="midnightblue" d="M16048.25,-535.02C17280.83,-535.16 29881.65,-533.49 30236.5,-405 30244.48,-402.11 30252.26,-398.16 30259.69,-393.59"/>
+<polygon fill="none" stroke="midnightblue" points="16048.11,-531.52 16038.11,-535.02 16048.11,-538.52 16048.11,-531.52"/>
+</g>
+<!-- Node360 -->
<g id="node298" class="node">
-<title>Node358</title>
+<title>Node360</title>
<g id="a_node298"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title="The base class of the all the Use "curiously recurring template pattern".">
-<polygon fill="white" stroke="black" points="30109.5,-276 30109.5,-388 30283.5,-388 30283.5,-276 30109.5,-276"/>
-<text text-anchor="middle" x="30196.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DerivedType ></text>
-<polyline fill="none" stroke="black" points="30109.5,-369 30283.5,-369 "/>
-<text text-anchor="middle" x="30196.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="30109.5,-350 30283.5,-350 "/>
-<text text-anchor="start" x="30117.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="30117.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="30117.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="30117.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="30117.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="30117.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="30421.5,-276 30421.5,-388 30595.5,-388 30595.5,-276 30421.5,-276"/>
+<text text-anchor="middle" x="30508.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DerivedType ></text>
+<polyline fill="none" stroke="black" points="30421.5,-369 30595.5,-369 "/>
+<text text-anchor="middle" x="30508.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="30421.5,-350 30595.5,-350 "/>
+<text text-anchor="start" x="30429.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="30429.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="30429.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="30429.5" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="30429.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="30429.5" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
-<!-- Node1->Node358 -->
+<!-- Node1->Node360 -->
<g id="edge297" class="edge">
-<title>Node1->Node358</title>
-<path fill="none" stroke="midnightblue" d="M15736.47,-534.98C16978.42,-534.58 29738.51,-527.47 30100.5,-405 30112.24,-401.03 30123.71,-395.01 30134.4,-388.12"/>
-<polygon fill="none" stroke="midnightblue" points="15736.25,-531.48 15726.25,-534.98 15736.26,-538.48 15736.25,-531.48"/>
+<title>Node1->Node360</title>
+<path fill="none" stroke="midnightblue" d="M16048.47,-534.98C17290.42,-534.58 30050.51,-527.47 30412.5,-405 30424.24,-401.03 30435.71,-395.01 30446.4,-388.12"/>
+<polygon fill="none" stroke="midnightblue" points="16048.25,-531.48 16038.25,-534.98 16048.26,-538.48 16048.25,-531.48"/>
</g>
-<!-- Node359 -->
+<!-- Node361 -->
<g id="node299" class="node">
-<title>Node359</title>
+<title>Node361</title>
<g id="a_node299"><a xlink:href="classtvm_1_1DictAttrsNode.html" target="_top" xlink:title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attrs behavior,...">
-<polygon fill="white" stroke="black" points="30301.5,-259.5 30301.5,-404.5 30477.5,-404.5 30477.5,-259.5 30301.5,-259.5"/>
-<text text-anchor="middle" x="30389.5" y="-392.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
-<polyline fill="none" stroke="black" points="30301.5,-385.5 30477.5,-385.5 "/>
-<text text-anchor="start" x="30309.5" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dict</text>
-<text text-anchor="start" x="30309.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="30301.5,-355.5 30477.5,-355.5 "/>
-<text text-anchor="start" x="30309.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="30309.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="30309.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="30309.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="30309.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="30309.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-<text text-anchor="start" x="30309.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="30309.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node359 -->
+<polygon fill="white" stroke="black" points="30613.5,-259.5 30613.5,-404.5 30789.5,-404.5 30789.5,-259.5 30613.5,-259.5"/>
+<text text-anchor="middle" x="30701.5" y="-392.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
+<polyline fill="none" stroke="black" points="30613.5,-385.5 30789.5,-385.5 "/>
+<text text-anchor="start" x="30621.5" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dict</text>
+<text text-anchor="start" x="30621.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="30613.5,-355.5 30789.5,-355.5 "/>
+<text text-anchor="start" x="30621.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="30621.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="30621.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="30621.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="30621.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="30621.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<text text-anchor="start" x="30621.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="30621.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node361 -->
<g id="edge298" class="edge">
-<title>Node1->Node359</title>
-<path fill="none" stroke="midnightblue" d="M15736.31,-534.98C16986.24,-534.65 29925.25,-528.21 30292.5,-405 30295.48,-404 30298.45,-402.87 30301.39,-401.63"/>
-<polygon fill="none" stroke="midnightblue" points="15736.03,-531.48 15726.03,-534.98 15736.03,-538.48 15736.03,-531.48"/>
+<title>Node1->Node361</title>
+<path fill="none" stroke="midnightblue" d="M16048.31,-534.98C17298.24,-534.65 30237.25,-528.21 30604.5,-405 30607.48,-404 30610.45,-402.87 30613.39,-401.63"/>
+<polygon fill="none" stroke="midnightblue" points="16048.03,-531.48 16038.03,-534.98 16048.03,-538.48 16048.03,-531.48"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="classtvm_1_1runtime_1_1Object.html" target="_top" xlink:title="base class of all object containers.">
-<polygon fill="white" stroke="black" points="15547.5,-667.5 15547.5,-1065.5 15731.5,-1065.5 15731.5,-667.5 15547.5,-667.5"/>
-<text text-anchor="middle" x="15639.5" y="-1053.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Object</text>
-<polyline fill="none" stroke="black" points="15547.5,-1046.5 15731.5,-1046.5 "/>
-<text text-anchor="start" x="15555.5" y="-1034.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="15555.5" y="-1023.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_final</text>
-<text text-anchor="start" x="15555.5" y="-1012.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
-<text text-anchor="start" x="15555.5" y="-1001.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots_can</text>
-<text text-anchor="start" x="15555.5" y="-990.5" font-family="Helvetica,sans-Serif" font-size="10.00">_overflow</text>
-<text text-anchor="start" x="15555.5" y="-979.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_visit</text>
-<text text-anchor="start" x="15555.5" y="-968.5" font-family="Helvetica,sans-Serif" font-size="10.00">_attrs</text>
-<text text-anchor="start" x="15555.5" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="15555.5" y="-946.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="15555.5" y="-935.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="15555.5" y="-924.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="15555.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
-<text text-anchor="start" x="15555.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_index_</text>
-<text text-anchor="start" x="15555.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ref_counter_</text>
-<text text-anchor="start" x="15555.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00"># deleter_</text>
-<polyline fill="none" stroke="black" points="15547.5,-873.5 15731.5,-873.5 "/>
-<text text-anchor="start" x="15555.5" y="-861.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ type_index()</text>
-<text text-anchor="start" x="15555.5" y="-850.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKey()</text>
-<text text-anchor="start" x="15555.5" y="-839.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="15555.5" y="-828.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInstance()</text>
-<text text-anchor="start" x="15555.5" y="-817.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ unique()</text>
-<text text-anchor="start" x="15555.5" y="-806.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="15555.5" y="-795.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="15555.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="15555.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="15555.5" y="-762.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="15555.5" y="-751.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="15555.5" y="-740.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="15555.5" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeKey2Index()</text>
-<text text-anchor="start" x="15555.5" y="-718.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="15555.5" y="-707.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="15555.5" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IncRef()</text>
-<text text-anchor="start" x="15555.5" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecRef()</text>
-<text text-anchor="start" x="15555.5" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetOrAllocRuntimeTypeIndex()</text>
+<polygon fill="white" stroke="black" points="15859.5,-667.5 15859.5,-1065.5 16043.5,-1065.5 16043.5,-667.5 15859.5,-667.5"/>
+<text text-anchor="middle" x="15951.5" y="-1053.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Object</text>
+<polyline fill="none" stroke="black" points="15859.5,-1046.5 16043.5,-1046.5 "/>
+<text text-anchor="start" x="15867.5" y="-1034.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="15867.5" y="-1023.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_final</text>
+<text text-anchor="start" x="15867.5" y="-1012.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
+<text text-anchor="start" x="15867.5" y="-1001.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots_can</text>
+<text text-anchor="start" x="15867.5" y="-990.5" font-family="Helvetica,sans-Serif" font-size="10.00">_overflow</text>
+<text text-anchor="start" x="15867.5" y="-979.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_visit</text>
+<text text-anchor="start" x="15867.5" y="-968.5" font-family="Helvetica,sans-Serif" font-size="10.00">_attrs</text>
+<text text-anchor="start" x="15867.5" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="15867.5" y="-946.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="15867.5" y="-935.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="15867.5" y="-924.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="15867.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
+<text text-anchor="start" x="15867.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_index_</text>
+<text text-anchor="start" x="15867.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ref_counter_</text>
+<text text-anchor="start" x="15867.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00"># deleter_</text>
+<polyline fill="none" stroke="black" points="15859.5,-873.5 16043.5,-873.5 "/>
+<text text-anchor="start" x="15867.5" y="-861.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ type_index()</text>
+<text text-anchor="start" x="15867.5" y="-850.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKey()</text>
+<text text-anchor="start" x="15867.5" y="-839.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="15867.5" y="-828.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInstance()</text>
+<text text-anchor="start" x="15867.5" y="-817.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ unique()</text>
+<text text-anchor="start" x="15867.5" y="-806.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="15867.5" y="-795.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="15867.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="15867.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
+<text text-anchor="start" x="15867.5" y="-762.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
+<text text-anchor="start" x="15867.5" y="-751.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="15867.5" y="-740.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="15867.5" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeKey2Index()</text>
+<text text-anchor="start" x="15867.5" y="-718.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="15867.5" y="-707.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="15867.5" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IncRef()</text>
+<text text-anchor="start" x="15867.5" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecRef()</text>
+<text text-anchor="start" x="15867.5" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetOrAllocRuntimeTypeIndex()</text>
</a>
</g>
</g>
<!-- Node2->Node1 -->
<g id="edge1" class="edge">
<title>Node2->Node1</title>
-<path fill="none" stroke="midnightblue" d="M15639.5,-657.04C15639.5,-648.01 15639.5,-639.17 15639.5,-630.65"/>
-<polygon fill="none" stroke="midnightblue" points="15636,-657.3 15639.5,-667.3 15643,-657.3 15636,-657.3"/>
+<path fill="none" stroke="midnightblue" d="M15951.5,-657.04C15951.5,-648.01 15951.5,-639.17 15951.5,-630.65"/>
+<polygon fill="none" stroke="midnightblue" points="15948,-657.3 15951.5,-667.3 15955,-657.3 15948,-657.3"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
@@ -4751,8 +4751,8 @@
<!-- Node57->Node58 -->
<g id="edge57" class="edge">
<title>Node57->Node58</title>
-<path fill="none" stroke="midnightblue" d="M5001.64,-265.74C4995.32,-223.88 4987.44,-171.67 4982.69,-140.27"/>
-<polygon fill="none" stroke="midnightblue" points="4998.22,-266.5 5003.17,-275.86 5005.14,-265.45 4998.22,-266.5"/>
+<path fill="none" stroke="midnightblue" d="M4995.33,-265.74C4990.73,-223.88 4985,-171.67 4981.55,-140.27"/>
+<polygon fill="none" stroke="midnightblue" points="4991.87,-266.31 4996.44,-275.86 4998.83,-265.54 4991.87,-266.31"/>
</g>
<!-- Node60 -->
<g id="node60" class="node">
@@ -4770,8 +4770,8 @@
<!-- Node59->Node60 -->
<g id="edge59" class="edge">
<title>Node59->Node60</title>
-<path fill="none" stroke="midnightblue" d="M5189.24,-260.73C5177.4,-219.68 5163.13,-170.17 5154.44,-140.03"/>
-<polygon fill="none" stroke="midnightblue" points="5185.9,-261.79 5192.03,-270.43 5192.63,-259.85 5185.9,-261.79"/>
+<path fill="none" stroke="midnightblue" d="M5201.55,-260.99C5186.31,-219.88 5167.9,-170.23 5156.71,-140.03"/>
+<polygon fill="none" stroke="midnightblue" points="5198.29,-262.27 5205.04,-270.43 5204.85,-259.83 5198.29,-262.27"/>
</g>
<!-- Node62 -->
<g id="node62" class="node">
@@ -4789,39 +4789,36 @@
<!-- Node61->Node62 -->
<g id="edge61" class="edge">
<title>Node61->Node62</title>
-<path fill="none" stroke="midnightblue" d="M5372.21,-266.27C5356.46,-224.32 5336.76,-171.81 5324.92,-140.27"/>
-<polygon fill="none" stroke="midnightblue" points="5369.02,-267.73 5375.81,-275.86 5375.57,-265.27 5369.02,-267.73"/>
+<path fill="none" stroke="midnightblue" d="M5395,-266.8C5373.07,-224.76 5345.51,-171.94 5328.99,-140.27"/>
+<polygon fill="none" stroke="midnightblue" points="5392,-268.62 5399.73,-275.86 5398.21,-265.38 5392,-268.62"/>
</g>
<!-- Node64 -->
<g id="node64" class="node">
<title>Node64</title>
-<g id="a_node64"><a xlink:href="structtvm_1_1relay_1_1AdaptivePool3DAttrs.html" target="_top" xlink:title="Attributes for 3d adaptive pool operator.">
-<polygon fill="white" stroke="black" points="5404.5,-66.5 5404.5,-156.5 5548.5,-156.5 5548.5,-66.5 5404.5,-66.5"/>
-<text text-anchor="start" x="5412.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::AdaptivePool3</text>
-<text text-anchor="middle" x="5476.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
-<polyline fill="none" stroke="black" points="5404.5,-126.5 5548.5,-126.5 "/>
-<text text-anchor="start" x="5412.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
-<text text-anchor="start" x="5412.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="5412.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<polyline fill="none" stroke="black" points="5404.5,-85.5 5548.5,-85.5 "/>
-<text text-anchor="start" x="5412.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node64"><a xlink:href="structtvm_1_1relax_1_1InitAttrs.html" target="_top" xlink:title="Attributes used in full/full_like, ones/ones_like, and zeros/zeros_like operators.">
+<polygon fill="white" stroke="black" points="5404.5,-83 5404.5,-140 5548.5,-140 5548.5,-83 5404.5,-83"/>
+<text text-anchor="middle" x="5476.5" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InitAttrs</text>
+<polyline fill="none" stroke="black" points="5404.5,-121 5548.5,-121 "/>
+<text text-anchor="start" x="5412.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<polyline fill="none" stroke="black" points="5404.5,-102 5548.5,-102 "/>
+<text text-anchor="start" x="5412.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node63->Node64 -->
<g id="edge63" class="edge">
<title>Node63->Node64</title>
-<path fill="none" stroke="midnightblue" d="M5543.07,-260.93C5527.7,-226.65 5509.67,-186.45 5496.25,-156.53"/>
-<polygon fill="none" stroke="midnightblue" points="5540.05,-262.73 5547.33,-270.43 5546.43,-259.87 5540.05,-262.73"/>
+<path fill="none" stroke="midnightblue" d="M5574.99,-267.33C5548.2,-225.2 5514.4,-172.07 5494.17,-140.27"/>
+<polygon fill="none" stroke="midnightblue" points="5572.1,-269.3 5580.42,-275.86 5578.01,-265.55 5572.1,-269.3"/>
</g>
<!-- Node66 -->
<g id="node66" class="node">
<title>Node66</title>
-<g id="a_node66"><a xlink:href="structtvm_1_1relax_1_1InitAttrs.html" target="_top" xlink:title="Attributes used in full/full_like, ones/ones_like, and zeros/zeros_like operators.">
+<g id="a_node66"><a xlink:href="structtvm_1_1relax_1_1FlipAttrs.html" target="_top" xlink:title="Attributes used in flip operators.">
<polygon fill="white" stroke="black" points="5566.5,-83 5566.5,-140 5710.5,-140 5710.5,-83 5566.5,-83"/>
-<text text-anchor="middle" x="5638.5" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InitAttrs</text>
+<text text-anchor="middle" x="5638.5" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FlipAttrs</text>
<polyline fill="none" stroke="black" points="5566.5,-121 5710.5,-121 "/>
-<text text-anchor="start" x="5574.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<text text-anchor="start" x="5574.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
<polyline fill="none" stroke="black" points="5566.5,-102 5710.5,-102 "/>
<text text-anchor="start" x="5574.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
@@ -4830,409 +4827,412 @@
<!-- Node65->Node66 -->
<g id="edge65" class="edge">
<title>Node65->Node66</title>
-<path fill="none" stroke="midnightblue" d="M5711.94,-266.8C5691.93,-224.76 5666.79,-171.94 5651.72,-140.27"/>
-<polygon fill="none" stroke="midnightblue" points="5708.8,-268.34 5716.26,-275.86 5715.12,-265.33 5708.8,-268.34"/>
+<path fill="none" stroke="midnightblue" d="M5747.1,-267.59C5717.57,-225.43 5680.26,-172.14 5657.95,-140.27"/>
+<polygon fill="none" stroke="midnightblue" points="5744.29,-269.68 5752.89,-275.86 5750.02,-265.66 5744.29,-269.68"/>
</g>
<!-- Node68 -->
<g id="node68" class="node">
<title>Node68</title>
-<g id="a_node68"><a xlink:href="structtvm_1_1relax_1_1FlipAttrs.html" target="_top" xlink:title="Attributes used in flip operators.">
-<polygon fill="white" stroke="black" points="5728.5,-83 5728.5,-140 5872.5,-140 5872.5,-83 5728.5,-83"/>
-<text text-anchor="middle" x="5800.5" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FlipAttrs</text>
-<polyline fill="none" stroke="black" points="5728.5,-121 5872.5,-121 "/>
-<text text-anchor="start" x="5736.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="5728.5,-102 5872.5,-102 "/>
-<text text-anchor="start" x="5736.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node68"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool3DAttrs.html" target="_top" xlink:title="Attributes for 3d adaptive pool operator.">
+<polygon fill="white" stroke="black" points="5728.5,-66.5 5728.5,-156.5 5872.5,-156.5 5872.5,-66.5 5728.5,-66.5"/>
+<text text-anchor="start" x="5736.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool3</text>
+<text text-anchor="middle" x="5800.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polyline fill="none" stroke="black" points="5728.5,-126.5 5872.5,-126.5 "/>
+<text text-anchor="start" x="5736.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
+<text text-anchor="start" x="5736.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="5736.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<polyline fill="none" stroke="black" points="5728.5,-85.5 5872.5,-85.5 "/>
+<text text-anchor="start" x="5736.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node67->Node68 -->
<g id="edge67" class="edge">
<title>Node67->Node68</title>
-<path fill="none" stroke="midnightblue" d="M5881,-266.8C5859.07,-224.76 5831.51,-171.94 5814.99,-140.27"/>
-<polygon fill="none" stroke="midnightblue" points="5878,-268.62 5885.73,-275.86 5884.21,-265.38 5878,-268.62"/>
+<path fill="none" stroke="midnightblue" d="M5910.75,-262.23C5901.01,-249.22 5890.92,-235.71 5881.5,-223 5865.35,-201.22 5847.52,-176.92 5832.71,-156.67"/>
+<polygon fill="none" stroke="midnightblue" points="5907.96,-264.35 5916.76,-270.26 5913.56,-260.15 5907.96,-264.35"/>
</g>
-<!-- Node70 -->
-<g id="node70" class="node">
-<title>Node70</title>
-<g id="a_node70"><a xlink:href="structtvm_1_1relay_1_1qnn_1_1RequantizeAttrs.html" target="_top" xlink:title="Attribute for requantize operator.">
-<polygon fill="white" stroke="black" points="5891,-61 5891,-162 6042,-162 6042,-61 5891,-61"/>
-<text text-anchor="start" x="5899" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::qnn::Requantize</text>
-<text text-anchor="middle" x="5966.5" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="5891,-132 6042,-132 "/>
-<text text-anchor="start" x="5899" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="5899" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ rounding</text>
-<text text-anchor="start" x="5899" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">+ compute_dtype</text>
-<text text-anchor="start" x="5899" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="5891,-80 6042,-80 "/>
-<text text-anchor="start" x="5899" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<!-- Node69 -->
+<g id="node69" class="node">
+<title>Node69</title>
+<g id="a_node69"><a xlink:href="structtvm_1_1relay_1_1AdaptivePool3DAttrs.html" target="_top" xlink:title="Attributes for 3d adaptive pool operator.">
+<polygon fill="white" stroke="black" points="5890.5,-66.5 5890.5,-156.5 6034.5,-156.5 6034.5,-66.5 5890.5,-66.5"/>
+<text text-anchor="start" x="5898.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::AdaptivePool3</text>
+<text text-anchor="middle" x="5962.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polyline fill="none" stroke="black" points="5890.5,-126.5 6034.5,-126.5 "/>
+<text text-anchor="start" x="5898.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
+<text text-anchor="start" x="5898.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="5898.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<polyline fill="none" stroke="black" points="5890.5,-85.5 6034.5,-85.5 "/>
+<text text-anchor="start" x="5898.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
-<!-- Node69->Node70 -->
-<g id="edge69" class="edge">
-<title>Node69->Node70</title>
-<path fill="none" stroke="midnightblue" d="M6049.68,-261.47C6031.64,-229.17 6010.62,-191.51 5994.22,-162.14"/>
-<polygon fill="none" stroke="midnightblue" points="6046.75,-263.4 6054.68,-270.43 6052.86,-259.99 6046.75,-263.4"/>
-</g>
-<!-- Node72 -->
-<g id="node72" class="node">
-<title>Node72</title>
-<g id="a_node72"><a xlink:href="structtvm_1_1relay_1_1Resize1DAttrs.html" target="_top" xlink:title="Attributes used in image resize1d operator.">
-<polygon fill="white" stroke="black" points="6060,-33.5 6060,-189.5 6251,-189.5 6251,-33.5 6060,-33.5"/>
-<text text-anchor="middle" x="6155.5" y="-177.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::Resize1DAttrs</text>
-<polyline fill="none" stroke="black" points="6060,-170.5 6251,-170.5 "/>
-<text text-anchor="start" x="6068" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ size</text>
-<text text-anchor="start" x="6068" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ roi</text>
-<text text-anchor="start" x="6068" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="6068" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ method</text>
-<text text-anchor="start" x="6068" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ coordinate_transformation_mode</text>
-<text text-anchor="start" x="6068" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ rounding_method</text>
-<text text-anchor="start" x="6068" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cubic_alpha</text>
-<text text-anchor="start" x="6068" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cubic_exclude</text>
-<text text-anchor="start" x="6068" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ extrapolation_value</text>
-<text text-anchor="start" x="6068" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="6060,-52.5 6251,-52.5 "/>
-<text text-anchor="start" x="6068" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
-</a>
-</g>
-</g>
-<!-- Node71->Node72 -->
-<g id="edge71" class="edge">
-<title>Node71->Node72</title>
-<path fill="none" stroke="midnightblue" d="M6240.96,-266.81C6227.61,-242.72 6212.3,-215.07 6198.36,-189.9"/>
-<polygon fill="none" stroke="midnightblue" points="6238.06,-268.81 6245.97,-275.86 6244.18,-265.42 6238.06,-268.81"/>
+<!-- Node67->Node69 -->
+<g id="edge68" class="edge">
+<title>Node67->Node69</title>
+<path fill="none" stroke="midnightblue" d="M5962.5,-260.05C5962.5,-225.97 5962.5,-186.19 5962.5,-156.53"/>
+<polygon fill="none" stroke="midnightblue" points="5959,-260.43 5962.5,-270.43 5966,-260.43 5959,-260.43"/>
</g>
-<!-- Node74 -->
-<g id="node74" class="node">
-<title>Node74</title>
-<g id="a_node74"><a xlink:href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_top" xlink:title="Attributes for the "on_device" annotation (ie operator).">
-<polygon fill="white" stroke="black" points="6269.5,-61 6269.5,-162 6413.5,-162 6413.5,-61 6269.5,-61"/>
-<text text-anchor="middle" x="6341.5" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::OnDeviceAttrs</text>
-<polyline fill="none" stroke="black" points="6269.5,-143 6413.5,-143 "/>
-<text text-anchor="start" x="6277.5" y="-131" font-family="Helvetica,sans-Serif" font-size="10.00">+ virtual_device</text>
-<text text-anchor="start" x="6277.5" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00">+ constrain_result</text>
-<text text-anchor="start" x="6277.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ constrain_body</text>
-<polyline fill="none" stroke="black" points="6269.5,-102 6413.5,-102 "/>
-<text text-anchor="start" x="6277.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ is_fixed()</text>
-<text text-anchor="start" x="6277.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ is_normal()</text>
-<text text-anchor="start" x="6277.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<!-- Node71 -->
+<g id="node71" class="node">
+<title>Node71</title>
+<g id="a_node71"><a xlink:href="structtvm_1_1relay_1_1qnn_1_1RequantizeAttrs.html" target="_top" xlink:title="Attribute for requantize operator.">
+<polygon fill="white" stroke="black" points="6053,-61 6053,-162 6204,-162 6204,-61 6053,-61"/>
+<text text-anchor="start" x="6061" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::qnn::Requantize</text>
+<text text-anchor="middle" x="6128.5" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="6053,-132 6204,-132 "/>
+<text text-anchor="start" x="6061" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="6061" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ rounding</text>
+<text text-anchor="start" x="6061" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">+ compute_dtype</text>
+<text text-anchor="start" x="6061" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="6053,-80 6204,-80 "/>
+<text text-anchor="start" x="6061" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
-<!-- Node73->Node74 -->
-<g id="edge73" class="edge">
-<title>Node73->Node74</title>
-<path fill="none" stroke="midnightblue" d="M6422.63,-261.47C6405.04,-229.17 6384.53,-191.51 6368.53,-162.14"/>
-<polygon fill="none" stroke="midnightblue" points="6419.65,-263.32 6427.51,-270.43 6425.8,-259.97 6419.65,-263.32"/>
-</g>
-<!-- Node76 -->
-<g id="node76" class="node">
-<title>Node76</title>
-<g id="a_node76"><a xlink:href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_top" xlink:title="Attributes used in non_maximum_suppression operator.">
-<polygon fill="white" stroke="black" points="6431.5,-44.5 6431.5,-178.5 6631.5,-178.5 6631.5,-44.5 6431.5,-44.5"/>
-<text text-anchor="start" x="6439.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::NonMaximumSuppression</text>
-<text text-anchor="middle" x="6531.5" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="6431.5,-148.5 6631.5,-148.5 "/>
-<text text-anchor="start" x="6439.5" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ force_suppress</text>
-<text text-anchor="start" x="6439.5" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ top_k</text>
-<text text-anchor="start" x="6439.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ coord_start</text>
-<text text-anchor="start" x="6439.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ score_index</text>
-<text text-anchor="start" x="6439.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ id_index</text>
-<text text-anchor="start" x="6439.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ return_indices</text>
-<text text-anchor="start" x="6439.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ invalid_to_bottom</text>
-<polyline fill="none" stroke="black" points="6431.5,-63.5 6631.5,-63.5 "/>
-<text text-anchor="start" x="6439.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
-</a>
-</g>
-</g>
-<!-- Node75->Node76 -->
-<g id="edge75" class="edge">
-<title>Node75->Node76</title>
-<path fill="none" stroke="midnightblue" d="M6604.33,-261.22C6591.36,-234.74 6576.64,-204.69 6563.85,-178.56"/>
-<polygon fill="none" stroke="midnightblue" points="6601.3,-262.98 6608.84,-270.43 6607.58,-259.91 6601.3,-262.98"/>
+<!-- Node70->Node71 -->
+<g id="edge70" class="edge">
+<title>Node70->Node71</title>
+<path fill="none" stroke="midnightblue" d="M6136.61,-260.22C6134.85,-228.21 6132.82,-191.13 6131.23,-162.14"/>
+<polygon fill="none" stroke="midnightblue" points="6133.13,-260.63 6137.17,-270.43 6140.12,-260.25 6133.13,-260.63"/>
</g>
-<!-- Node78 -->
-<g id="node78" class="node">
-<title>Node78</title>
-<g id="a_node78"><a xlink:href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html" target="_top" xlink:title="Attributes used in multibox_prior operators.">
-<polygon fill="white" stroke="black" points="6649.5,-55.5 6649.5,-167.5 6793.5,-167.5 6793.5,-55.5 6649.5,-55.5"/>
-<text text-anchor="start" x="6657.5" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::MultiBoxPrior</text>
-<text text-anchor="middle" x="6721.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="6649.5,-137.5 6793.5,-137.5 "/>
-<text text-anchor="start" x="6657.5" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ sizes</text>
-<text text-anchor="start" x="6657.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ratios</text>
-<text text-anchor="start" x="6657.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ steps</text>
-<text text-anchor="start" x="6657.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ offsets</text>
-<text text-anchor="start" x="6657.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clip</text>
-<polyline fill="none" stroke="black" points="6649.5,-74.5 6793.5,-74.5 "/>
-<text text-anchor="start" x="6657.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
-</a>
-</g>
-</g>
-<!-- Node77->Node78 -->
-<g id="edge77" class="edge">
-<title>Node77->Node78</title>
-<path fill="none" stroke="midnightblue" d="M6785.47,-261.19C6772.45,-230.92 6757.41,-195.98 6745.2,-167.58"/>
-<polygon fill="none" stroke="midnightblue" points="6782.27,-262.62 6789.44,-270.43 6788.7,-259.86 6782.27,-262.62"/>
+<!-- Node73 -->
+<g id="node73" class="node">
+<title>Node73</title>
+<g id="a_node73"><a xlink:href="structtvm_1_1relay_1_1Resize1DAttrs.html" target="_top" xlink:title="Attributes used in image resize1d operator.">
+<polygon fill="white" stroke="black" points="6222,-33.5 6222,-189.5 6413,-189.5 6413,-33.5 6222,-33.5"/>
+<text text-anchor="middle" x="6317.5" y="-177.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relay::Resize1DAttrs</text>
+<polyline fill="none" stroke="black" points="6222,-170.5 6413,-170.5 "/>
+<text text-anchor="start" x="6230" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ size</text>
+<text text-anchor="start" x="6230" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ roi</text>
+<text text-anchor="start" x="6230" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="6230" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ method</text>
+<text text-anchor="start" x="6230" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ coordinate_transformation_mode</text>
+<text text-anchor="start" x="6230" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ rounding_method</text>
+<text text-anchor="start" x="6230" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cubic_alpha</text>
+<text text-anchor="start" x="6230" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cubic_exclude</text>
... 69802 lines suppressed ...