├── .ci ├── buildkite │ └── test_ngtf_build.py ├── jenkins │ └── jenkins-trigger.groovy └── onnx │ ├── jenkins │ ├── Jenkinsfile │ ├── README.md │ └── runCI.sh │ └── onnxruntime │ ├── Jenkinsfile │ └── proxy.patch ├── .clang-format ├── .gitattributes ├── .gitignore ├── ABOUT.md ├── CMakeLists.txt ├── CODEOWNERS ├── CONTRIB.md ├── LICENSE ├── README.md ├── VERSION.in ├── changes.md ├── cmake ├── Modules │ ├── FindCUDNN.cmake │ ├── FindGraphviz.cmake │ ├── FindSphinx.cmake │ ├── fix_mode.cmake │ ├── gen_op_version.cmake │ ├── git_tags.cmake │ ├── print_switch.cmake │ ├── style_apply.cmake │ ├── style_check.cmake │ └── var_functions.cmake ├── clang_flags.cmake ├── external │ ├── eigen.cmake │ ├── gtest.cmake │ ├── json.cmake │ ├── llvm.cmake │ ├── onednn.cmake │ ├── onetbb.cmake │ ├── onnx.cmake │ ├── protobuf.cmake │ └── pybind11.cmake ├── sdl.cmake └── share │ └── ngraphConfig.cmake.in ├── contrib └── docker │ ├── Dockerfile.ngraph │ ├── Dockerfile.ngraph.centos74 │ ├── Dockerfile.ngraph.centos74_gpu │ ├── Dockerfile.ngraph.ubuntu1604 │ ├── Dockerfile.ngraph.ubuntu1604_gpu │ ├── Makefile │ ├── README.md │ ├── build-ngraph-and-test.sh │ ├── build-ngraph-docs.sh │ ├── docker_cleanup.sh │ ├── make-dimage.sh │ ├── run_as_centos_user.sh │ ├── run_as_ubuntu_user.sh │ └── run_as_user.sh ├── doc ├── CMakeLists.txt ├── doxygen │ ├── CMakeLists.txt │ ├── Doxyfile.in │ └── images │ │ ├── README.md │ │ ├── add_commutative_postcse.svg │ │ ├── add_commutative_precse.svg │ │ ├── decompose_gelu_post.svg │ │ ├── decompose_gelu_pre.svg │ │ ├── dyn_broadcast_post_constfld.svg │ │ ├── dyn_broadcast_post_dyneliminate.svg │ │ └── dyn_broadcast_pre_constfld.svg ├── examples │ ├── .clang-format │ ├── CMakeLists.txt │ ├── README.md │ ├── abc │ │ ├── CMakeLists.txt │ │ └── abc.cpp │ ├── abc_operator │ │ ├── CMakeLists.txt │ │ └── abc_operator.cpp │ ├── dynamic_tensor │ │ ├── CMakeLists.txt │ │ └── partial_shape.cpp │ ├── mnist_mlp │ │ ├── CMakeLists.txt │ │ ├── dist_mnist_mlp.cpp │ │ ├── mnist_loader.cpp │ │ ├── mnist_loader.hpp │ │ ├── mnist_mlp.cpp │ │ └── tensor_utils.hpp │ ├── onnx │ │ └── onnx_example.py │ ├── subgraph_snippets │ │ └── mxnet-gluon-example.py │ └── update │ │ ├── CMakeLists.txt │ │ └── update.cpp └── sphinx │ ├── CMakeLists.txt │ ├── Makefile │ ├── cmake_install.cmake │ ├── generate_python_api_doc.sh │ ├── ngraph.doxyfile │ ├── ngraph_theme │ ├── __init__.py │ ├── breadcrumbs.html │ ├── footer.html │ ├── layout.html │ ├── ngversions.html │ ├── search.html │ ├── searchbox.html │ ├── static │ │ ├── css │ │ │ ├── badge_only.css │ │ │ ├── badge_only.css.map │ │ │ ├── theme.css │ │ │ └── theme.css.map │ │ ├── doxygen.css │ │ ├── favicon.ico │ │ ├── fonts │ │ │ ├── Inconsolata-Bold.ttf │ │ │ ├── Inconsolata-Regular.ttf │ │ │ ├── RobotoSlab-Bold.ttf │ │ │ ├── RobotoSlab-Light.ttf │ │ │ ├── RobotoSlab-Regular.ttf │ │ │ └── RobotoSlab-Thin.ttf │ │ ├── js │ │ │ ├── doctools.js │ │ │ ├── handlebars-2.0.0.js │ │ │ ├── highlight.7.3.pack.js │ │ │ ├── jquery-1.8.0.min.js │ │ │ ├── marked.js │ │ │ ├── modernizr.min.js │ │ │ └── theme.js │ │ ├── logo.png │ │ └── slack.png │ └── theme.conf │ └── source │ ├── _templates │ ├── autosummary │ │ └── module.rst │ └── format_release_notes.rst │ ├── backends │ ├── backend-api │ │ └── index.rst │ ├── cpp-api.rst │ ├── dynamicbackend-api │ │ └── index.rst │ └── index.rst │ ├── branding-notice.rst │ ├── buildlb.rst │ ├── conf.py │ ├── core │ ├── constructing-graphs │ │ ├── derive-for-training.rst │ │ ├── distribute-train.rst │ │ ├── execute.rst │ │ ├── import.rst │ │ ├── index.rst │ │ ├── operator.rst │ │ └── update.rst │ ├── fusion │ │ ├── graph-rewrite.rst │ │ ├── index.rst │ │ ├── mg │ │ │ ├── cat.jpg │ │ │ ├── fusion_pattern.png │ │ │ ├── pr1_graph1.png │ │ │ ├── pr1_graph2.png │ │ │ ├── pr1_graph3.png │ │ │ ├── pr1_graph4.png │ │ │ ├── pr1_graph5.png │ │ │ ├── pr1_pattern.png │ │ │ ├── pr1_pattern2.png │ │ │ ├── pr2_graph1.png │ │ │ ├── pr2_graph2.png │ │ │ ├── pr2_graph3.png │ │ │ ├── pr2_pattern2.png │ │ │ ├── rp_graph1.png │ │ │ └── rp_pattern.png │ │ └── overview.rst │ ├── overview.rst │ ├── passes │ │ ├── list-of-passes.rst │ │ ├── passes-that-use-matcher.rst │ │ └── passes.rst │ └── quantization.rst │ ├── dynamic │ └── index.rst │ ├── features.rst │ ├── frameworks │ ├── fw_overview.rst │ ├── index.rst │ ├── onnx_integ.rst │ ├── overview.rst │ ├── paddle_integ.rst │ ├── quickstart.rst │ ├── tensorflow_connect.rst │ └── validated │ │ └── list.rst │ ├── glossary.rst │ ├── graphics │ ├── PaddlePaddleDir.svg │ ├── algebraic-simpl.png │ ├── arch_complex.png │ ├── arch_simple.png │ ├── arch_simple_pad.png │ ├── bridge-to-graph-compiler.png │ ├── bridge-to-graph-compiler.xcf │ ├── classngraph_patternmatcher.png │ ├── classngraph_tensor_descriptor.png │ ├── components-dl-stack.png │ ├── core-fusion.png │ ├── execution-interface-run-graph.svg │ ├── favicon.xcf │ ├── framework-to-graph-opt.png │ ├── framework-to-kernel-lib.png │ ├── full-ngstck-updated.png │ ├── full-ngstck.png │ ├── full-ngstck.xcf │ ├── graph-compilers-at-a-glance.png │ ├── intro_graph_optimization.png │ ├── intro_kernel_explosion.png │ ├── intro_kernels.png │ ├── kernel-problem-1.png │ ├── kernel-problem-2.png │ ├── kernel-problem-3.png │ ├── main_diagram_fw_hw.png │ ├── mobilenet-group-conv.png │ ├── mobilenet-group-conv.svg │ ├── nGraphCompilerstack.png │ ├── nGraph_main.png │ ├── nGraph_mask_1-1.png │ ├── ngcompiler-ecosystem.png │ ├── ngcompiler-ecosystem.xcf │ ├── ngpipelines.png │ ├── ngraph-algebraic-simp.png │ ├── ngraph-mxnet-models.png │ ├── ngraph_arch_diag.png │ ├── ngraph_full_stack_diagrams.png │ ├── ngraph_header.png │ ├── ngraph_logo_header.png │ ├── ngraph_logo_small.png │ ├── ngraph_logo_smallest.png │ ├── ngraph_wireframes_with_notice.xcf │ ├── ngraph_wireframes_with_notice_updated.png │ ├── overview-framework-bridges.svg │ ├── overview-translation-flow.svg │ ├── paddlepaddle_design.svg │ ├── paddlepaddle_directory.png │ ├── passes-to-graph-rewrite.png │ ├── readme_stack.png │ ├── simple-compiler-passes.svg │ ├── slack.png │ ├── stackngrknl-notice.png │ ├── stackngrknl.xcf │ ├── tablengraphops.png │ ├── tensor-compilers-at-a-glance.png │ ├── translation-flow-to-ng-fofx.png │ └── whole-stack.png │ ├── index.rst │ ├── inspection │ ├── debug_core.rst │ ├── debug_onnx.rst │ ├── debug_paddle.rst │ ├── debug_tf.rst │ ├── index.rst │ ├── profiling.rst │ └── viz_tools.rst │ ├── introduction.rst │ ├── ops │ ├── abs.rst │ ├── acos.rst │ ├── add.rst │ ├── all.rst │ ├── allreduce.rst │ ├── any.rst │ ├── arg_max.rst │ ├── arg_min.rst │ ├── asin.rst │ ├── atan.rst │ ├── avg_pool.rst │ ├── avg_pool_backprop.rst │ ├── batch_norm_inference.rst │ ├── batch_norm_training.rst │ ├── batch_norm_training_backprop.rst │ ├── broadcast.rst │ ├── broadcast_distributed.rst │ ├── ceiling.rst │ ├── checklist.txt │ ├── concat.rst │ ├── constant.rst │ ├── convert.rst │ ├── convolution.rst │ ├── cos.rst │ ├── cosh.rst │ ├── dequantize.rst │ ├── divide.rst │ ├── dot.rst │ ├── drop_out.rst │ ├── equal.rst │ ├── exp.rst │ ├── floor.rst │ ├── greater.rst │ ├── greater_eq.rst │ ├── index.rst │ ├── less.rst │ ├── less_eq.rst │ ├── log.rst │ ├── max.rst │ ├── max_pool.rst │ ├── maximum.rst │ ├── min.rst │ ├── minimum.rst │ ├── multiply.rst │ ├── negative.rst │ ├── not.rst │ ├── not_equal.rst │ ├── one_hot.rst │ ├── op_stub.rst │ ├── or.rst │ ├── pad.rst │ ├── parameter.rst │ ├── power.rst │ ├── product.rst │ ├── quantize.rst │ ├── random_uniform.rst │ ├── relu.rst │ ├── result.rst │ ├── shape_of.rst │ ├── sigmoid.rst │ ├── sign.rst │ ├── sin.rst │ ├── sinh.rst │ ├── slice.rst │ ├── softmax.rst │ ├── sqrt.rst │ ├── subtract.rst │ ├── tan.rst │ ├── tanh.rst │ ├── tensor_iterator.rst │ ├── tile.rst │ ├── topk.rst │ ├── transpose.rst │ ├── unsqueeze.rst │ ├── variadic_split.rst │ └── xor.rst │ ├── project │ ├── branding-notice.rst │ ├── contrib.md │ ├── contribution-guide.rst │ ├── doc-contributor-README.rst │ ├── extras │ │ ├── distributed_training.rst │ │ ├── homomorphic_encryption.rst │ │ ├── index.rst │ │ └── testing_latency.rst │ ├── governance.rst │ ├── index.rst │ └── release-notes.rst │ ├── provenance │ ├── index.rst │ └── overview.rst │ ├── python_api │ ├── _autosummary │ │ ├── ngraph.exceptions.rst │ │ ├── ngraph.ops.rst │ │ ├── ngraph.rst │ │ └── ngraph.runtime.rst │ ├── index.rst │ └── structure.rst │ ├── replacements.txt │ ├── sitemap.rst │ └── training │ ├── data_ingest.rst │ ├── index.rst │ ├── overview.rst │ ├── paddle_dist.rst │ ├── qat.rst │ └── tf_dist.rst ├── ecosystem-overview.md ├── environment_variables.md ├── licenses ├── Apache-2.0-license.txt ├── OFL-license.txt ├── caffe2-license.txt ├── eigen-license.txt ├── fontawesome-license.txt ├── googletest-license.txt ├── jquery-license.txt ├── json-license.txt ├── llvm-license.txt ├── mkl-dnn-license.txt ├── mklml-license.txt ├── mlir-license.txt ├── notifications.txt ├── numpy-license.txt ├── pybind11-license.txt ├── sphinx-license.txt ├── sphinx_rtd_theme-license.txt ├── swagger-ui-license.txt ├── tbb-license.txt └── tensorflow-license.txt ├── maint ├── apply-code-format.sh ├── bash_lib.sh ├── check-code-format.sh ├── clang_format_lib.sh ├── create_release.py └── external-prereq-packages.ubuntu-16.04.txt ├── python ├── .gitignore ├── BUILDING.md ├── CMakeLists.txt ├── README.md ├── build_wheel.py.in ├── build_wheel.sh.in ├── examples │ └── basic.py ├── requirements.txt ├── setup.py ├── src │ ├── ngraph │ │ ├── __init__.py │ │ ├── exceptions.py │ │ ├── impl │ │ │ ├── __init__.py │ │ │ ├── onnx_import │ │ │ │ └── __init__.py │ │ │ ├── op │ │ │ │ ├── __init__.py │ │ │ │ └── util │ │ │ │ │ └── __init__.py │ │ │ ├── passes │ │ │ │ └── __init__.py │ │ │ └── runtime │ │ │ │ └── __init__.py │ │ ├── ops.py │ │ ├── runtime.py │ │ └── utils │ │ │ ├── __init__.py │ │ │ ├── broadcasting.py │ │ │ ├── decorators.py │ │ │ ├── input_validation.py │ │ │ ├── node_factory.py │ │ │ ├── reduction.py │ │ │ └── types.py │ └── pyngraph │ │ ├── axis_set.cpp │ │ ├── axis_set.hpp │ │ ├── axis_vector.cpp │ │ ├── axis_vector.hpp │ │ ├── coordinate.cpp │ │ ├── coordinate.hpp │ │ ├── coordinate_diff.cpp │ │ ├── coordinate_diff.hpp │ │ ├── dimension.cpp │ │ ├── dimension.hpp │ │ ├── function.cpp │ │ ├── function.hpp │ │ ├── node.cpp │ │ ├── node.hpp │ │ ├── node_factory.cpp │ │ ├── node_factory.hpp │ │ ├── onnx_import │ │ ├── onnx_import.cpp │ │ └── onnx_import.hpp │ │ ├── ops │ │ ├── constant.cpp │ │ ├── constant.hpp │ │ ├── op.cpp │ │ ├── op.hpp │ │ ├── parameter.cpp │ │ ├── parameter.hpp │ │ ├── regmodule_pyngraph_op.cpp │ │ ├── regmodule_pyngraph_op.hpp │ │ ├── result.cpp │ │ ├── result.hpp │ │ └── util │ │ │ ├── arithmetic_reduction.cpp │ │ │ ├── arithmetic_reduction.hpp │ │ │ ├── binary_elementwise_arithmetic.cpp │ │ │ ├── binary_elementwise_arithmetic.hpp │ │ │ ├── binary_elementwise_comparison.cpp │ │ │ ├── binary_elementwise_comparison.hpp │ │ │ ├── binary_elementwise_logical.cpp │ │ │ ├── binary_elementwise_logical.hpp │ │ │ ├── index_reduction.cpp │ │ │ ├── index_reduction.hpp │ │ │ ├── op_annotations.cpp │ │ │ ├── op_annotations.hpp │ │ │ ├── regmodule_pyngraph_op_util.cpp │ │ │ ├── regmodule_pyngraph_op_util.hpp │ │ │ ├── unary_elementwise_arithmetic.cpp │ │ │ └── unary_elementwise_arithmetic.hpp │ │ ├── output.cpp │ │ ├── output.hpp │ │ ├── partial_shape.cpp │ │ ├── partial_shape.hpp │ │ ├── passes │ │ ├── manager.cpp │ │ ├── manager.hpp │ │ ├── regmodule_pyngraph_passes.cpp │ │ └── regmodule_pyngraph_passes.hpp │ │ ├── pyngraph.cpp │ │ ├── runtime │ │ ├── backend.cpp │ │ ├── backend.hpp │ │ ├── executable.cpp │ │ ├── executable.hpp │ │ ├── regmodule_pyngraph_runtime.cpp │ │ ├── regmodule_pyngraph_runtime.hpp │ │ ├── tensor.cpp │ │ └── tensor.hpp │ │ ├── serializer.cpp │ │ ├── serializer.hpp │ │ ├── shape.cpp │ │ ├── shape.hpp │ │ ├── strides.cpp │ │ ├── strides.hpp │ │ ├── types │ │ ├── element_type.cpp │ │ ├── element_type.hpp │ │ ├── regmodule_pyngraph_types.cpp │ │ ├── regmodule_pyngraph_types.hpp │ │ └── type.hpp │ │ ├── util.cpp │ │ ├── util.hpp │ │ └── util.py ├── test │ ├── __init__.py │ ├── conftest.py │ ├── ngraph │ │ ├── __init__.py │ │ ├── models │ │ │ └── add_abc.onnx │ │ ├── test_basic.py │ │ ├── test_convolution.py │ │ ├── test_core.py │ │ ├── test_create_op.py │ │ ├── test_data_movement.py │ │ ├── test_input_validation.py │ │ ├── test_node_factory.py │ │ ├── test_normalization.py │ │ ├── test_onnx_import.py │ │ ├── test_ops_binary.py │ │ ├── test_ops_fused.py │ │ ├── test_ops_matmul.py │ │ ├── test_ops_multioutput.py │ │ ├── test_ops_reshape.py │ │ ├── test_ops_scatter.py │ │ ├── test_ops_unary.py │ │ ├── test_pooling.py │ │ ├── test_reduction.py │ │ ├── test_sequence_processing.py │ │ └── util.py │ └── test_ops.py ├── test_requirements.txt └── tox.ini ├── src ├── CMakeLists.txt ├── contrib │ ├── CMakeLists.txt │ └── mlir │ │ ├── .clang-format │ │ ├── CMakeLists.txt │ │ ├── backend │ │ ├── analysis │ │ │ ├── memory_analysis.cpp │ │ │ └── memory_analysis.hpp │ │ ├── backend.hpp │ │ ├── cpu │ │ │ ├── cpu_backend.cpp │ │ │ └── cpu_backend.hpp │ │ └── pass │ │ │ ├── affine_lowerer.cpp │ │ │ ├── affine_lowerer.hpp │ │ │ └── op_lowerers.inc │ │ ├── core │ │ ├── compiler.cpp │ │ ├── compiler.hpp │ │ ├── ngraph_dialect │ │ │ ├── dialect.cpp │ │ │ ├── dialect.hpp │ │ │ ├── fused_ops.td │ │ │ ├── ops.cpp │ │ │ ├── ops.hpp │ │ │ ├── ops.td │ │ │ ├── ops_attributes.td │ │ │ ├── ops_interfaces.td │ │ │ ├── ops_v0.td │ │ │ ├── ops_v1.td │ │ │ ├── type.cpp │ │ │ └── type.hpp │ │ ├── ops_supported.inc │ │ └── pass │ │ │ ├── fused_ops_pattern.td │ │ │ ├── mlir_subgraph_extraction.cpp │ │ │ ├── mlir_subgraph_extraction.hpp │ │ │ ├── ng_dialect_builder.cpp │ │ │ ├── ng_dialect_builder.hpp │ │ │ ├── ng_dialect_fused_ops.cpp │ │ │ ├── ng_dialect_fused_ops.hpp │ │ │ ├── ng_op_fusion.cpp │ │ │ └── ng_op_fusion.hpp │ │ ├── runtime │ │ ├── cpu │ │ │ ├── callback_utils.hpp │ │ │ ├── cpu_callbacks.cpp │ │ │ ├── cpu_runtime.cpp │ │ │ ├── cpu_runtime.hpp │ │ │ ├── memory_manager.cpp │ │ │ └── memory_manager.hpp │ │ └── runtime.hpp │ │ ├── tools │ │ └── ngraph-opt │ │ │ ├── CMakeLists.txt │ │ │ └── ngraph_opt.cpp │ │ ├── utils.cpp │ │ └── utils.hpp ├── ngraph │ ├── CMakeLists.txt │ ├── assertion.cpp │ ├── assertion.hpp │ ├── attribute_adapter.cpp │ ├── attribute_adapter.hpp │ ├── attribute_visitor.cpp │ ├── attribute_visitor.hpp │ ├── autodiff │ │ ├── adjoints.cpp │ │ └── adjoints.hpp │ ├── axis_set.cpp │ ├── axis_set.hpp │ ├── axis_vector.cpp │ ├── axis_vector.hpp │ ├── builder │ │ ├── autobroadcast.cpp │ │ ├── autobroadcast.hpp │ │ ├── dequantize_builder.cpp │ │ ├── dequantize_builder.hpp │ │ ├── make_constant.hpp │ │ ├── matmul_factory.cpp │ │ ├── matmul_factory.hpp │ │ ├── norm.cpp │ │ ├── norm.hpp │ │ ├── numpy_transpose.cpp │ │ ├── numpy_transpose.hpp │ │ ├── quantization │ │ │ ├── quantized_linear_convolution.cpp │ │ │ └── quantized_linear_convolution.hpp │ │ ├── quantization_utils.cpp │ │ ├── quantization_utils.hpp │ │ ├── quantize_builder.cpp │ │ ├── quantize_builder.hpp │ │ ├── quantized_concat_builder.cpp │ │ ├── quantized_concat_builder.hpp │ │ ├── quantized_conv_builder.cpp │ │ ├── quantized_conv_builder.hpp │ │ ├── quantized_dot_builder.cpp │ │ ├── quantized_dot_builder.hpp │ │ ├── reduce_ops.cpp │ │ ├── reduce_ops.hpp │ │ ├── reshape.cpp │ │ ├── reshape.hpp │ │ ├── split.cpp │ │ ├── split.hpp │ │ └── tensor_mask.hpp │ ├── check.hpp │ ├── chrome_trace.cpp │ ├── chrome_trace.hpp │ ├── code_writer.hpp │ ├── codegen │ │ ├── CMakeLists.txt │ │ ├── codegen_visibility.h │ │ ├── compiler.cpp │ │ ├── compiler.hpp │ │ ├── execution_engine.cpp │ │ └── execution_engine.hpp │ ├── coordinate.cpp │ ├── coordinate.hpp │ ├── coordinate_diff.cpp │ ├── coordinate_diff.hpp │ ├── coordinate_transform.cpp │ ├── coordinate_transform.hpp │ ├── cpio.cpp │ ├── cpio.hpp │ ├── deprecated.hpp │ ├── descriptor │ │ ├── input.cpp │ │ ├── input.hpp │ │ ├── layout │ │ │ ├── dense_tensor_layout.cpp │ │ │ ├── dense_tensor_layout.hpp │ │ │ ├── tensor_layout.cpp │ │ │ └── tensor_layout.hpp │ │ ├── output.cpp │ │ ├── output.hpp │ │ ├── tensor.cpp │ │ └── tensor.hpp │ ├── dimension.cpp │ ├── dimension.hpp │ ├── distributed.cpp │ ├── distributed.hpp │ ├── distributed │ │ ├── null.cpp │ │ └── null.hpp │ ├── enum_names.hpp │ ├── env_util.cpp │ ├── env_util.hpp │ ├── evaluator.hpp │ ├── except.hpp │ ├── factory.cpp │ ├── factory.hpp │ ├── factory_adapter.hpp │ ├── file_util.cpp │ ├── file_util.hpp │ ├── frontend │ │ ├── CMakeLists.txt │ │ └── onnx_import │ │ │ ├── CMakeLists.txt │ │ │ ├── core │ │ │ ├── attribute.cpp │ │ │ ├── attribute.hpp │ │ │ ├── graph.cpp │ │ │ ├── graph.hpp │ │ │ ├── model.cpp │ │ │ ├── model.hpp │ │ │ ├── node.cpp │ │ │ ├── node.hpp │ │ │ ├── null_node.cpp │ │ │ ├── null_node.hpp │ │ │ ├── operator_set.hpp │ │ │ ├── tensor.hpp │ │ │ └── value_info.hpp │ │ │ ├── default_opset.hpp │ │ │ ├── exceptions.cpp │ │ │ ├── exceptions.hpp │ │ │ ├── onnx.cpp │ │ │ ├── onnx.hpp │ │ │ ├── onnx_utils.cpp │ │ │ ├── onnx_utils.hpp │ │ │ ├── op │ │ │ ├── abs.hpp │ │ │ ├── acos.hpp │ │ │ ├── acosh.cpp │ │ │ ├── acosh.hpp │ │ │ ├── add.cpp │ │ │ ├── add.hpp │ │ │ ├── and.hpp │ │ │ ├── argmax.cpp │ │ │ ├── argmax.hpp │ │ │ ├── argmin.cpp │ │ │ ├── argmin.hpp │ │ │ ├── asin.hpp │ │ │ ├── asinh.cpp │ │ │ ├── asinh.hpp │ │ │ ├── atan.hpp │ │ │ ├── atanh.cpp │ │ │ ├── atanh.hpp │ │ │ ├── average_pool.cpp │ │ │ ├── average_pool.hpp │ │ │ ├── batch_norm.cpp │ │ │ ├── batch_norm.hpp │ │ │ ├── cast.cpp │ │ │ ├── cast.hpp │ │ │ ├── ceil.hpp │ │ │ ├── clip.cpp │ │ │ ├── clip.hpp │ │ │ ├── concat.cpp │ │ │ ├── concat.hpp │ │ │ ├── constant.cpp │ │ │ ├── constant.hpp │ │ │ ├── constant_of_shape.cpp │ │ │ ├── constant_of_shape.hpp │ │ │ ├── conv.cpp │ │ │ ├── conv.hpp │ │ │ ├── conv_integer.cpp │ │ │ ├── conv_integer.hpp │ │ │ ├── conv_transpose.cpp │ │ │ ├── conv_transpose.hpp │ │ │ ├── cos.cpp │ │ │ ├── cos.hpp │ │ │ ├── cosh.cpp │ │ │ ├── cosh.hpp │ │ │ ├── cum_sum.cpp │ │ │ ├── cum_sum.hpp │ │ │ ├── depth_to_space.cpp │ │ │ ├── depth_to_space.hpp │ │ │ ├── dequantize_linear.cpp │ │ │ ├── dequantize_linear.hpp │ │ │ ├── div.hpp │ │ │ ├── dropout.hpp │ │ │ ├── elu.cpp │ │ │ ├── elu.hpp │ │ │ ├── equal.hpp │ │ │ ├── erf.hpp │ │ │ ├── exp.hpp │ │ │ ├── expand.cpp │ │ │ ├── expand.hpp │ │ │ ├── eye_like.cpp │ │ │ ├── eye_like.hpp │ │ │ ├── flatten.cpp │ │ │ ├── flatten.hpp │ │ │ ├── floor.hpp │ │ │ ├── gather.hpp │ │ │ ├── gather_nd.cpp │ │ │ ├── gather_nd.hpp │ │ │ ├── gemm.cpp │ │ │ ├── gemm.hpp │ │ │ ├── global_average_pool.cpp │ │ │ ├── global_average_pool.hpp │ │ │ ├── global_max_pool.cpp │ │ │ ├── global_max_pool.hpp │ │ │ ├── greater.hpp │ │ │ ├── hard_sigmoid.cpp │ │ │ ├── hard_sigmoid.hpp │ │ │ ├── hardmax.cpp │ │ │ ├── hardmax.hpp │ │ │ ├── identity.hpp │ │ │ ├── instance_norm.cpp │ │ │ ├── instance_norm.hpp │ │ │ ├── leaky_relu.cpp │ │ │ ├── leaky_relu.hpp │ │ │ ├── less.hpp │ │ │ ├── log.cpp │ │ │ ├── log.hpp │ │ │ ├── log_softmax.cpp │ │ │ ├── log_softmax.hpp │ │ │ ├── lp_norm.cpp │ │ │ ├── lp_norm.hpp │ │ │ ├── lp_pool.cpp │ │ │ ├── lp_pool.hpp │ │ │ ├── lrn.cpp │ │ │ ├── lrn.hpp │ │ │ ├── lstm.cpp │ │ │ ├── lstm.hpp │ │ │ ├── matmul.hpp │ │ │ ├── matmul_integer.cpp │ │ │ ├── matmul_integer.hpp │ │ │ ├── max.hpp │ │ │ ├── max_pool.cpp │ │ │ ├── max_pool.hpp │ │ │ ├── mean.cpp │ │ │ ├── mean.hpp │ │ │ ├── mean_variance_normalization.cpp │ │ │ ├── mean_variance_normalization.hpp │ │ │ ├── min.hpp │ │ │ ├── mod.cpp │ │ │ ├── mod.hpp │ │ │ ├── mul.hpp │ │ │ ├── neg.hpp │ │ │ ├── non_max_suppression.cpp │ │ │ ├── non_max_suppression.hpp │ │ │ ├── non_zero.cpp │ │ │ ├── non_zero.hpp │ │ │ ├── not.hpp │ │ │ ├── onehot.cpp │ │ │ ├── onehot.hpp │ │ │ ├── or.hpp │ │ │ ├── pad.cpp │ │ │ ├── pad.hpp │ │ │ ├── pow.hpp │ │ │ ├── prelu.cpp │ │ │ ├── prelu.hpp │ │ │ ├── qlinear_matmul.cpp │ │ │ ├── qlinear_matmul.hpp │ │ │ ├── quant_conv.cpp │ │ │ ├── quant_conv.hpp │ │ │ ├── quantize_linear.cpp │ │ │ ├── quantize_linear.hpp │ │ │ ├── reciprocal.cpp │ │ │ ├── reciprocal.hpp │ │ │ ├── reduce.cpp │ │ │ ├── reduce.hpp │ │ │ ├── relu.hpp │ │ │ ├── reshape.cpp │ │ │ ├── reshape.hpp │ │ │ ├── resize.cpp │ │ │ ├── resize.hpp │ │ │ ├── reverse_sequence.cpp │ │ │ ├── reverse_sequence.hpp │ │ │ ├── roi_align.cpp │ │ │ ├── roi_align.hpp │ │ │ ├── round.cpp │ │ │ ├── round.hpp │ │ │ ├── scatter_elements.cpp │ │ │ ├── scatter_elements.hpp │ │ │ ├── scatter_nd.cpp │ │ │ ├── scatter_nd.hpp │ │ │ ├── selu.cpp │ │ │ ├── selu.hpp │ │ │ ├── shape.cpp │ │ │ ├── shape.hpp │ │ │ ├── shrink.cpp │ │ │ ├── shrink.hpp │ │ │ ├── sigmoid.hpp │ │ │ ├── sign.hpp │ │ │ ├── sin.hpp │ │ │ ├── sinh.hpp │ │ │ ├── size.cpp │ │ │ ├── size.hpp │ │ │ ├── slice.cpp │ │ │ ├── slice.hpp │ │ │ ├── softmax.cpp │ │ │ ├── softmax.hpp │ │ │ ├── softplus.cpp │ │ │ ├── softplus.hpp │ │ │ ├── softsign.cpp │ │ │ ├── softsign.hpp │ │ │ ├── space_to_depth.cpp │ │ │ ├── space_to_depth.hpp │ │ │ ├── split.cpp │ │ │ ├── split.hpp │ │ │ ├── sqrt.hpp │ │ │ ├── squeeze.cpp │ │ │ ├── squeeze.hpp │ │ │ ├── sub.hpp │ │ │ ├── sum.hpp │ │ │ ├── supported_ops.md │ │ │ ├── tan.hpp │ │ │ ├── tanh.hpp │ │ │ ├── thresholded_relu.cpp │ │ │ ├── thresholded_relu.hpp │ │ │ ├── tile.cpp │ │ │ ├── tile.hpp │ │ │ ├── topk.cpp │ │ │ ├── topk.hpp │ │ │ ├── transpose.cpp │ │ │ ├── transpose.hpp │ │ │ ├── unsqueeze.cpp │ │ │ ├── unsqueeze.hpp │ │ │ ├── where.hpp │ │ │ └── xor.hpp │ │ │ ├── ops_bridge.cpp │ │ │ ├── ops_bridge.hpp │ │ │ └── utils │ │ │ ├── arg_min_max_factory.cpp │ │ │ ├── arg_min_max_factory.hpp │ │ │ ├── common.cpp │ │ │ ├── common.hpp │ │ │ ├── convpool.cpp │ │ │ ├── convpool.hpp │ │ │ ├── onnx_importer_visibility.hpp │ │ │ ├── pooling_factory.cpp │ │ │ ├── pooling_factory.hpp │ │ │ ├── reduction.cpp │ │ │ ├── reduction.hpp │ │ │ ├── reshape.cpp │ │ │ ├── reshape.hpp │ │ │ └── variadic.hpp │ ├── function.cpp │ ├── function.hpp │ ├── graph_util.cpp │ ├── graph_util.hpp │ ├── interval.cpp │ ├── interval.hpp │ ├── lambda.cpp │ ├── lambda.hpp │ ├── log.cpp │ ├── log.hpp │ ├── ngraph.cpp │ ├── ngraph.hpp │ ├── ngraph_visibility.hpp │ ├── node.cpp │ ├── node.hpp │ ├── node_input.cpp │ ├── node_input.hpp │ ├── node_output.cpp │ ├── node_output.hpp │ ├── op │ │ ├── abs.cpp │ │ ├── abs.hpp │ │ ├── acos.cpp │ │ ├── acos.hpp │ │ ├── acosh.cpp │ │ ├── acosh.hpp │ │ ├── add.cpp │ │ ├── add.hpp │ │ ├── all.cpp │ │ ├── all.hpp │ │ ├── allreduce.cpp │ │ ├── allreduce.hpp │ │ ├── any.cpp │ │ ├── any.hpp │ │ ├── argmax.cpp │ │ ├── argmax.hpp │ │ ├── argmin.cpp │ │ ├── argmin.hpp │ │ ├── asin.cpp │ │ ├── asin.hpp │ │ ├── asinh.cpp │ │ ├── asinh.hpp │ │ ├── atan.cpp │ │ ├── atan.hpp │ │ ├── atan2.cpp │ │ ├── atan2.hpp │ │ ├── atanh.cpp │ │ ├── atanh.hpp │ │ ├── avg_pool.cpp │ │ ├── avg_pool.hpp │ │ ├── batch_mat_mul_transpose.cpp │ │ ├── batch_mat_mul_transpose.hpp │ │ ├── batch_norm.cpp │ │ ├── batch_norm.hpp │ │ ├── batch_to_space.cpp │ │ ├── batch_to_space.hpp │ │ ├── binary_convolution.cpp │ │ ├── binary_convolution.hpp │ │ ├── broadcast.cpp │ │ ├── broadcast.hpp │ │ ├── broadcast_distributed.cpp │ │ ├── broadcast_distributed.hpp │ │ ├── bucketize.cpp │ │ ├── bucketize.hpp │ │ ├── ceiling.cpp │ │ ├── ceiling.hpp │ │ ├── clamp.cpp │ │ ├── clamp.hpp │ │ ├── concat.cpp │ │ ├── concat.hpp │ │ ├── constant.cpp │ │ ├── constant.hpp │ │ ├── conv_fused.cpp │ │ ├── conv_fused.hpp │ │ ├── convert.cpp │ │ ├── convert.hpp │ │ ├── convert_like.cpp │ │ ├── convert_like.hpp │ │ ├── convolution.cpp │ │ ├── convolution.hpp │ │ ├── cos.cpp │ │ ├── cos.hpp │ │ ├── cosh.cpp │ │ ├── cosh.hpp │ │ ├── crop_and_resize.cpp │ │ ├── crop_and_resize.hpp │ │ ├── crossentropy.cpp │ │ ├── crossentropy.hpp │ │ ├── ctc_greedy_decoder.cpp │ │ ├── ctc_greedy_decoder.hpp │ │ ├── cum_sum.cpp │ │ ├── cum_sum.hpp │ │ ├── deformable_convolution.cpp │ │ ├── deformable_convolution.hpp │ │ ├── deformable_psroi_pooling.cpp │ │ ├── deformable_psroi_pooling.hpp │ │ ├── depth_to_space.cpp │ │ ├── depth_to_space.hpp │ │ ├── dequantize.cpp │ │ ├── dequantize.hpp │ │ ├── detection_output.cpp │ │ ├── detection_output.hpp │ │ ├── divide.cpp │ │ ├── divide.hpp │ │ ├── dot.cpp │ │ ├── dot.hpp │ │ ├── elu.cpp │ │ ├── elu.hpp │ │ ├── embedding_lookup.cpp │ │ ├── embedding_lookup.hpp │ │ ├── embedding_segments_sum.cpp │ │ ├── embedding_segments_sum.hpp │ │ ├── embeddingbag_offsets_sum.cpp │ │ ├── embeddingbag_offsets_sum.hpp │ │ ├── embeddingbag_packedsum.cpp │ │ ├── embeddingbag_packedsum.hpp │ │ ├── equal.cpp │ │ ├── equal.hpp │ │ ├── erf.cpp │ │ ├── erf.hpp │ │ ├── exp.cpp │ │ ├── exp.hpp │ │ ├── experimental │ │ │ ├── batch_mat_mul.cpp │ │ │ ├── batch_mat_mul.hpp │ │ │ ├── compiled_kernel.cpp │ │ │ ├── compiled_kernel.hpp │ │ │ ├── dyn_broadcast.cpp │ │ │ ├── dyn_broadcast.hpp │ │ │ ├── dyn_pad.cpp │ │ │ ├── dyn_pad.hpp │ │ │ ├── dyn_replace_slice.cpp │ │ │ ├── dyn_replace_slice.hpp │ │ │ ├── dyn_slice.cpp │ │ │ ├── dyn_slice.hpp │ │ │ ├── generate_mask.cpp │ │ │ ├── generate_mask.hpp │ │ │ ├── layers │ │ │ │ ├── ctc_greedy_decoder.hpp │ │ │ │ ├── detection_output.hpp │ │ │ │ ├── interpolate.hpp │ │ │ │ ├── prior_box.hpp │ │ │ │ ├── prior_box_clustered.hpp │ │ │ │ ├── proposal.hpp │ │ │ │ ├── psroi_pooling.hpp │ │ │ │ ├── region_yolo.hpp │ │ │ │ ├── reorg_yolo.hpp │ │ │ │ └── roi_pooling.hpp │ │ │ ├── quantized_conv_bias.cpp │ │ │ ├── quantized_conv_bias.hpp │ │ │ ├── quantized_conv_relu.cpp │ │ │ ├── quantized_conv_relu.hpp │ │ │ ├── quantized_dot_bias.cpp │ │ │ ├── quantized_dot_bias.hpp │ │ │ ├── random_uniform.cpp │ │ │ ├── random_uniform.hpp │ │ │ ├── range.hpp │ │ │ ├── shape_of.hpp │ │ │ ├── tile.hpp │ │ │ └── transpose.hpp │ │ ├── extractimagepatches.cpp │ │ ├── extractimagepatches.hpp │ │ ├── fake_quantize.cpp │ │ ├── fake_quantize.hpp │ │ ├── floor.cpp │ │ ├── floor.hpp │ │ ├── floor_mod.cpp │ │ ├── floor_mod.hpp │ │ ├── gather.cpp │ │ ├── gather.hpp │ │ ├── gather_nd.cpp │ │ ├── gather_nd.hpp │ │ ├── gather_tree.cpp │ │ ├── gather_tree.hpp │ │ ├── gelu.cpp │ │ ├── gelu.hpp │ │ ├── gemm.cpp │ │ ├── gemm.hpp │ │ ├── greater.cpp │ │ ├── greater.hpp │ │ ├── greater_equal.cpp │ │ ├── greater_equal.hpp │ │ ├── grn.cpp │ │ ├── grn.hpp │ │ ├── group_conv.cpp │ │ ├── group_conv.hpp │ │ ├── gru_cell.cpp │ │ ├── gru_cell.hpp │ │ ├── hard_sigmoid.cpp │ │ ├── hard_sigmoid.hpp │ │ ├── interpolate.cpp │ │ ├── interpolate.hpp │ │ ├── layer_norm.cpp │ │ ├── layer_norm.hpp │ │ ├── less.cpp │ │ ├── less.hpp │ │ ├── less_equal.cpp │ │ ├── less_equal.hpp │ │ ├── log.cpp │ │ ├── log.hpp │ │ ├── logical_and.cpp │ │ ├── logical_and.hpp │ │ ├── logical_not.cpp │ │ ├── logical_not.hpp │ │ ├── logical_or.cpp │ │ ├── logical_or.hpp │ │ ├── logical_xor.cpp │ │ ├── logical_xor.hpp │ │ ├── lrn.cpp │ │ ├── lrn.hpp │ │ ├── lstm_cell.cpp │ │ ├── lstm_cell.hpp │ │ ├── lstm_sequence.cpp │ │ ├── lstm_sequence.hpp │ │ ├── matmul.cpp │ │ ├── matmul.hpp │ │ ├── max.cpp │ │ ├── max.hpp │ │ ├── max_pool.cpp │ │ ├── max_pool.hpp │ │ ├── maximum.cpp │ │ ├── maximum.hpp │ │ ├── min.cpp │ │ ├── min.hpp │ │ ├── minimum.cpp │ │ ├── minimum.hpp │ │ ├── mod.cpp │ │ ├── mod.hpp │ │ ├── multiply.cpp │ │ ├── multiply.hpp │ │ ├── mvn.cpp │ │ ├── mvn.hpp │ │ ├── negative.cpp │ │ ├── negative.hpp │ │ ├── non_max_suppression.cpp │ │ ├── non_max_suppression.hpp │ │ ├── non_zero.cpp │ │ ├── non_zero.hpp │ │ ├── normalize_l2.cpp │ │ ├── normalize_l2.hpp │ │ ├── not_equal.cpp │ │ ├── not_equal.hpp │ │ ├── one_hot.cpp │ │ ├── one_hot.hpp │ │ ├── op.cpp │ │ ├── op.hpp │ │ ├── pad.cpp │ │ ├── pad.hpp │ │ ├── parameter.cpp │ │ ├── parameter.hpp │ │ ├── partial_slice.cpp │ │ ├── partial_slice.hpp │ │ ├── passthrough.cpp │ │ ├── passthrough.hpp │ │ ├── power.cpp │ │ ├── power.hpp │ │ ├── prelu.cpp │ │ ├── prelu.hpp │ │ ├── prior_box.cpp │ │ ├── prior_box.hpp │ │ ├── prior_box_clustered.cpp │ │ ├── prior_box_clustered.hpp │ │ ├── product.cpp │ │ ├── product.hpp │ │ ├── proposal.cpp │ │ ├── proposal.hpp │ │ ├── psroi_pooling.cpp │ │ ├── psroi_pooling.hpp │ │ ├── quantize.cpp │ │ ├── quantize.hpp │ │ ├── quantized_convolution.cpp │ │ ├── quantized_convolution.hpp │ │ ├── quantized_dot.cpp │ │ ├── quantized_dot.hpp │ │ ├── range.cpp │ │ ├── range.hpp │ │ ├── recv.cpp │ │ ├── recv.hpp │ │ ├── reduce_logical_and.cpp │ │ ├── reduce_logical_and.hpp │ │ ├── reduce_logical_or.cpp │ │ ├── reduce_logical_or.hpp │ │ ├── reduce_mean.cpp │ │ ├── reduce_mean.hpp │ │ ├── reduce_prod.cpp │ │ ├── reduce_prod.hpp │ │ ├── reduce_sum.cpp │ │ ├── reduce_sum.hpp │ │ ├── region_yolo.cpp │ │ ├── region_yolo.hpp │ │ ├── relu.cpp │ │ ├── relu.hpp │ │ ├── reorg_yolo.cpp │ │ ├── reorg_yolo.hpp │ │ ├── replace_slice.cpp │ │ ├── replace_slice.hpp │ │ ├── reshape.cpp │ │ ├── reshape.hpp │ │ ├── result.cpp │ │ ├── result.hpp │ │ ├── reverse.cpp │ │ ├── reverse.hpp │ │ ├── reverse_sequence.cpp │ │ ├── reverse_sequence.hpp │ │ ├── rnn_cell.cpp │ │ ├── rnn_cell.hpp │ │ ├── roi_align.cpp │ │ ├── roi_align.hpp │ │ ├── roi_pooling.cpp │ │ ├── roi_pooling.hpp │ │ ├── round.cpp │ │ ├── round.hpp │ │ ├── scale_shift.cpp │ │ ├── scale_shift.hpp │ │ ├── scatter_add.cpp │ │ ├── scatter_add.hpp │ │ ├── scatter_elements_update.cpp │ │ ├── scatter_elements_update.hpp │ │ ├── scatter_nd.cpp │ │ ├── scatter_nd.hpp │ │ ├── scatter_nd_add.cpp │ │ ├── scatter_nd_add.hpp │ │ ├── scatter_nd_update.cpp │ │ ├── scatter_nd_update.hpp │ │ ├── scatter_update.cpp │ │ ├── scatter_update.hpp │ │ ├── select.cpp │ │ ├── select.hpp │ │ ├── selu.cpp │ │ ├── selu.hpp │ │ ├── send.cpp │ │ ├── send.hpp │ │ ├── shape_of.cpp │ │ ├── shape_of.hpp │ │ ├── shuffle_channels.cpp │ │ ├── shuffle_channels.hpp │ │ ├── sigmoid.cpp │ │ ├── sigmoid.hpp │ │ ├── sign.cpp │ │ ├── sign.hpp │ │ ├── sin.cpp │ │ ├── sin.hpp │ │ ├── sinh.cpp │ │ ├── sinh.hpp │ │ ├── slice.cpp │ │ ├── slice.hpp │ │ ├── softmax.cpp │ │ ├── softmax.hpp │ │ ├── softmax_crossentropy.cpp │ │ ├── softmax_crossentropy.hpp │ │ ├── space_to_batch.cpp │ │ ├── space_to_batch.hpp │ │ ├── space_to_depth.cpp │ │ ├── space_to_depth.hpp │ │ ├── split.cpp │ │ ├── split.hpp │ │ ├── sqrt.cpp │ │ ├── sqrt.hpp │ │ ├── squared_difference.cpp │ │ ├── squared_difference.hpp │ │ ├── squeeze.cpp │ │ ├── squeeze.hpp │ │ ├── stack.cpp │ │ ├── stack.hpp │ │ ├── stop_gradient.cpp │ │ ├── stop_gradient.hpp │ │ ├── strided_slice.cpp │ │ ├── strided_slice.hpp │ │ ├── subtract.cpp │ │ ├── subtract.hpp │ │ ├── sum.cpp │ │ ├── sum.hpp │ │ ├── tan.cpp │ │ ├── tan.hpp │ │ ├── tanh.cpp │ │ ├── tanh.hpp │ │ ├── tensor_iterator.cpp │ │ ├── tensor_iterator.hpp │ │ ├── tile.cpp │ │ ├── tile.hpp │ │ ├── topk.cpp │ │ ├── topk.hpp │ │ ├── transpose.cpp │ │ ├── transpose.hpp │ │ ├── unsqueeze.cpp │ │ ├── unsqueeze.hpp │ │ ├── util │ │ │ ├── activation_functions.cpp │ │ │ ├── activation_functions.hpp │ │ │ ├── arithmetic_reduction.cpp │ │ │ ├── arithmetic_reduction.hpp │ │ │ ├── arithmetic_reductions_keep_dims.cpp │ │ │ ├── arithmetic_reductions_keep_dims.hpp │ │ │ ├── attr_types.cpp │ │ │ ├── attr_types.hpp │ │ │ ├── binary_elementwise.cpp │ │ │ ├── binary_elementwise.hpp │ │ │ ├── binary_elementwise_arithmetic.cpp │ │ │ ├── binary_elementwise_arithmetic.hpp │ │ │ ├── binary_elementwise_comparison.cpp │ │ │ ├── binary_elementwise_comparison.hpp │ │ │ ├── binary_elementwise_logical.cpp │ │ │ ├── binary_elementwise_logical.hpp │ │ │ ├── broadcast_base.cpp │ │ │ ├── broadcast_base.hpp │ │ │ ├── embeddingbag_offsets_base.cpp │ │ │ ├── embeddingbag_offsets_base.hpp │ │ │ ├── embeddingbag_packed_base.cpp │ │ │ ├── embeddingbag_packed_base.hpp │ │ │ ├── eval_copy.hpp │ │ │ ├── fused_op.cpp │ │ │ ├── fused_op.hpp │ │ │ ├── index_reduction.cpp │ │ │ ├── index_reduction.hpp │ │ │ ├── logical_reduction.cpp │ │ │ ├── logical_reduction.hpp │ │ │ ├── logical_reduction_keep_dims.cpp │ │ │ ├── logical_reduction_keep_dims.hpp │ │ │ ├── op_annotations.hpp │ │ │ ├── rnn_cell_base.cpp │ │ │ ├── rnn_cell_base.hpp │ │ │ ├── scatter_base.cpp │ │ │ ├── scatter_base.hpp │ │ │ ├── scatter_nd_base.cpp │ │ │ ├── scatter_nd_base.hpp │ │ │ ├── unary_elementwise_arithmetic.cpp │ │ │ └── unary_elementwise_arithmetic.hpp │ │ ├── variadic_split.cpp │ │ └── variadic_split.hpp │ ├── ops.hpp │ ├── opset │ │ ├── opset.cpp │ │ ├── opset.hpp │ │ ├── opset0.hpp │ │ ├── opset0_tbl.hpp │ │ ├── opset1.hpp │ │ ├── opset1_tbl.hpp │ │ ├── opset3.hpp │ │ ├── opset3_tbl.hpp │ │ ├── opset_orphans.hpp │ │ └── opset_orphans_tbl.hpp │ ├── output_vector.hpp │ ├── partial_shape.cpp │ ├── partial_shape.hpp │ ├── pass │ │ ├── algebraic_simplification.cpp │ │ ├── algebraic_simplification.hpp │ │ ├── assign_layout.hpp │ │ ├── batch_fusion.cpp │ │ ├── batch_fusion.hpp │ │ ├── common_function_collection.cpp │ │ ├── common_function_collection.hpp │ │ ├── concat_fusion.cpp │ │ ├── concat_fusion.hpp │ │ ├── constant_folding.cpp │ │ ├── constant_folding.hpp │ │ ├── constant_folding_arithmetic_reduction.cpp │ │ ├── constant_folding_convert.cpp │ │ ├── constant_folding_dequantize.cpp │ │ ├── constant_folding_dyn_broadcast.cpp │ │ ├── constant_folding_dyn_reshape.cpp │ │ ├── constant_folding_dyn_slice.cpp │ │ ├── constant_folding_gather.cpp │ │ ├── constant_folding_logical_reduction.cpp │ │ ├── constant_folding_one_hot.cpp │ │ ├── constant_folding_pad.cpp │ │ ├── constant_folding_quantize.cpp │ │ ├── constant_folding_reverse.cpp │ │ ├── constant_folding_scatter.cpp │ │ ├── constant_folding_select.cpp │ │ ├── constant_folding_slice.cpp │ │ ├── constant_folding_split.cpp │ │ ├── constant_folding_tile.cpp │ │ ├── constant_folding_transpose.cpp │ │ ├── constant_folding_variadic_split.cpp │ │ ├── constant_to_broadcast.cpp │ │ ├── constant_to_broadcast.hpp │ │ ├── convert_fp32_to_fp16.cpp │ │ ├── convert_fp32_to_fp16.hpp │ │ ├── convert_opset_0_to_1.cpp │ │ ├── convert_opset_0_to_1.hpp │ │ ├── convert_opset_1_to_0.cpp │ │ ├── convert_opset_1_to_0.hpp │ │ ├── convert_opset_3_to_1.cpp │ │ ├── convert_opset_3_to_1.hpp │ │ ├── core_fusion.cpp │ │ ├── core_fusion.hpp │ │ ├── cse.cpp │ │ ├── cse.hpp │ │ ├── dump_sorted.cpp │ │ ├── dump_sorted.hpp │ │ ├── dyn_elimination.cpp │ │ ├── dyn_elimination.hpp │ │ ├── fused_op_decomposition.cpp │ │ ├── fused_op_decomposition.hpp │ │ ├── graph_rewrite.cpp │ │ ├── graph_rewrite.hpp │ │ ├── implicit_broadcast_elimination.cpp │ │ ├── implicit_broadcast_elimination.hpp │ │ ├── like_replacement.cpp │ │ ├── like_replacement.hpp │ │ ├── liveness.cpp │ │ ├── liveness.hpp │ │ ├── manager.cpp │ │ ├── manager.hpp │ │ ├── manager_state.hpp │ │ ├── memory_layout.cpp │ │ ├── memory_layout.hpp │ │ ├── memory_visualize.cpp │ │ ├── memory_visualize.hpp │ │ ├── nop_elimination.cpp │ │ ├── nop_elimination.hpp │ │ ├── pass.cpp │ │ ├── pass.hpp │ │ ├── pass_config.cpp │ │ ├── pass_config.hpp │ │ ├── pass_util.cpp │ │ ├── pass_util.hpp │ │ ├── propagate_cacheability.cpp │ │ ├── propagate_cacheability.hpp │ │ ├── reshape_elimination.cpp │ │ ├── reshape_elimination.hpp │ │ ├── reshape_elimination_v1.cpp │ │ ├── reshape_elimination_v1.hpp │ │ ├── reshape_sinking.cpp │ │ ├── reshape_sinking.hpp │ │ ├── serialize.cpp │ │ ├── serialize.hpp │ │ ├── shape_relevance.cpp │ │ ├── shape_relevance.hpp │ │ ├── validate.cpp │ │ ├── validate.hpp │ │ ├── validate_graph.cpp │ │ ├── validate_graph.hpp │ │ ├── visualize_tree.cpp │ │ ├── visualize_tree.hpp │ │ ├── zero_dim_tensor_elimination.cpp │ │ └── zero_dim_tensor_elimination.hpp │ ├── pattern │ │ ├── matcher.cpp │ │ ├── matcher.hpp │ │ └── op │ │ │ ├── any.cpp │ │ │ ├── any.hpp │ │ │ ├── any_of.cpp │ │ │ ├── any_of.hpp │ │ │ ├── branch.cpp │ │ │ ├── branch.hpp │ │ │ ├── capture.cpp │ │ │ ├── capture.hpp │ │ │ ├── label.cpp │ │ │ ├── label.hpp │ │ │ ├── or.cpp │ │ │ ├── or.hpp │ │ │ ├── pattern.cpp │ │ │ ├── pattern.hpp │ │ │ ├── skip.cpp │ │ │ ├── skip.hpp │ │ │ ├── true.cpp │ │ │ └── true.hpp │ ├── provenance.cpp │ ├── provenance.hpp │ ├── rank.hpp │ ├── rt_info.cpp │ ├── rt_info.hpp │ ├── runtime │ │ ├── CMakeLists.txt │ │ ├── aligned_buffer.cpp │ │ ├── aligned_buffer.hpp │ │ ├── allocator.cpp │ │ ├── allocator.hpp │ │ ├── backend.cpp │ │ ├── backend.hpp │ │ ├── backend_manager.cpp │ │ ├── backend_manager.hpp │ │ ├── cpu │ │ │ ├── CMakeLists.txt │ │ │ ├── builder │ │ │ │ ├── add.cpp │ │ │ │ ├── allreduce.cpp │ │ │ │ ├── argmax.cpp │ │ │ │ ├── argmin.cpp │ │ │ │ ├── avg_pool.cpp │ │ │ │ ├── batch_norm.cpp │ │ │ │ ├── bounded_relu.cpp │ │ │ │ ├── broadcast.cpp │ │ │ │ ├── broadcast_distributed.cpp │ │ │ │ ├── concat.cpp │ │ │ │ ├── convert.cpp │ │ │ │ ├── convert_layout.cpp │ │ │ │ ├── convolution.cpp │ │ │ │ ├── cum_sum.cpp │ │ │ │ ├── dot.cpp │ │ │ │ ├── dropout.cpp │ │ │ │ ├── embedding_lookup.cpp │ │ │ │ ├── erf.cpp │ │ │ │ ├── gather.cpp │ │ │ │ ├── gather_nd.cpp │ │ │ │ ├── gelu.cpp │ │ │ │ ├── leaky_relu.cpp │ │ │ │ ├── lrn.cpp │ │ │ │ ├── lstm.cpp │ │ │ │ ├── matmul_bias.cpp │ │ │ │ ├── max.cpp │ │ │ │ ├── max_pool.cpp │ │ │ │ ├── min.cpp │ │ │ │ ├── mlir_cpu_compiled_kernel.cpp │ │ │ │ ├── one_hot.cpp │ │ │ │ ├── pad.cpp │ │ │ │ ├── product.cpp │ │ │ │ ├── quantization.cpp │ │ │ │ ├── quantized_conv.cpp │ │ │ │ ├── quantized_dot.cpp │ │ │ │ ├── quantized_matmul.cpp │ │ │ │ ├── random_uniform.cpp │ │ │ │ ├── reduce_function.cpp │ │ │ │ ├── reduction.hpp │ │ │ │ ├── relu.cpp │ │ │ │ ├── replace_slice.cpp │ │ │ │ ├── reshape.cpp │ │ │ │ ├── reverse.cpp │ │ │ │ ├── reverse_sequence.cpp │ │ │ │ ├── rnn.cpp │ │ │ │ ├── scatter_add.cpp │ │ │ │ ├── scatter_nd_add.cpp │ │ │ │ ├── select.cpp │ │ │ │ ├── sigmoid.cpp │ │ │ │ ├── slice.cpp │ │ │ │ ├── softmax.cpp │ │ │ │ ├── state.cpp │ │ │ │ ├── sum.cpp │ │ │ │ ├── tile.cpp │ │ │ │ ├── topk.cpp │ │ │ │ └── update_slice.cpp │ │ │ ├── cpu_backend.cpp │ │ │ ├── cpu_backend.hpp │ │ │ ├── cpu_backend_visibility.h │ │ │ ├── cpu_builder.cpp │ │ │ ├── cpu_builder.hpp │ │ │ ├── cpu_builder_registry.cpp │ │ │ ├── cpu_builder_registry.hpp │ │ │ ├── cpu_call_frame.cpp │ │ │ ├── cpu_call_frame.hpp │ │ │ ├── cpu_cse.cpp │ │ │ ├── cpu_cse.hpp │ │ │ ├── cpu_debug_tracer.cpp │ │ │ ├── cpu_debug_tracer.hpp │ │ │ ├── cpu_debugger.cpp │ │ │ ├── cpu_debugger.hpp │ │ │ ├── cpu_eigen_utils.hpp │ │ │ ├── cpu_emitter.cpp │ │ │ ├── cpu_emitter.hpp │ │ │ ├── cpu_executable.cpp │ │ │ ├── cpu_executable.hpp │ │ │ ├── cpu_execution_mode.hpp │ │ │ ├── cpu_executor.cpp │ │ │ ├── cpu_executor.hpp │ │ │ ├── cpu_external_function.cpp │ │ │ ├── cpu_external_function.hpp │ │ │ ├── cpu_kernel_emitters.cpp │ │ │ ├── cpu_kernel_emitters.hpp │ │ │ ├── cpu_kernel_utils.cpp │ │ │ ├── cpu_kernel_utils.hpp │ │ │ ├── cpu_kernels.cpp │ │ │ ├── cpu_kernels.hpp │ │ │ ├── cpu_layout_descriptor.cpp │ │ │ ├── cpu_layout_descriptor.hpp │ │ │ ├── cpu_op_annotations.cpp │ │ │ ├── cpu_op_annotations.hpp │ │ │ ├── cpu_runtime_context.hpp │ │ │ ├── cpu_tensor.cpp │ │ │ ├── cpu_tensor.hpp │ │ │ ├── cpu_tensor_wrapper.cpp │ │ │ ├── cpu_tensor_wrapper.hpp │ │ │ ├── cpu_tracing.cpp │ │ │ ├── cpu_tracing.hpp │ │ │ ├── cpu_visualize_tree.cpp │ │ │ ├── cpu_visualize_tree.hpp │ │ │ ├── dnnl_emitter.cpp │ │ │ ├── dnnl_emitter.hpp │ │ │ ├── dnnl_invoke.cpp │ │ │ ├── dnnl_invoke.hpp │ │ │ ├── dnnl_utils.cpp │ │ │ ├── dnnl_utils.hpp │ │ │ ├── kernel │ │ │ │ ├── abs.hpp │ │ │ │ ├── acos.hpp │ │ │ │ ├── add.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── argmax.hpp │ │ │ │ ├── argmin.hpp │ │ │ │ ├── asin.hpp │ │ │ │ ├── atan.hpp │ │ │ │ ├── atan2.hpp │ │ │ │ ├── avg_pool.hpp │ │ │ │ ├── batchnorm.hpp │ │ │ │ ├── broadcast.hpp │ │ │ │ ├── ceil.hpp │ │ │ │ ├── concat.hpp │ │ │ │ ├── convert.hpp │ │ │ │ ├── convolution.hpp │ │ │ │ ├── cos.hpp │ │ │ │ ├── cosh.hpp │ │ │ │ ├── cum_sum.hpp │ │ │ │ ├── cwise_pow.hpp │ │ │ │ ├── divide.hpp │ │ │ │ ├── dot.hpp │ │ │ │ ├── dropout.hpp │ │ │ │ ├── equal.hpp │ │ │ │ ├── erf.hpp │ │ │ │ ├── exp.hpp │ │ │ │ ├── floor.hpp │ │ │ │ ├── gather.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_eq.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_eq.hpp │ │ │ │ ├── log.hpp │ │ │ │ ├── max_pool.hpp │ │ │ │ ├── maximum.hpp │ │ │ │ ├── minimum.hpp │ │ │ │ ├── multiply.hpp │ │ │ │ ├── negative.hpp │ │ │ │ ├── not.hpp │ │ │ │ ├── not_equal.hpp │ │ │ │ ├── one_hot.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── pad.cpp │ │ │ │ ├── pad.hpp │ │ │ │ ├── reduce_max.cpp │ │ │ │ ├── reduce_max.hpp │ │ │ │ ├── reduce_min.hpp │ │ │ │ ├── reduce_product.hpp │ │ │ │ ├── reduce_sum.cpp │ │ │ │ ├── reduce_sum.hpp │ │ │ │ ├── relu.hpp │ │ │ │ ├── replace_slice.hpp │ │ │ │ ├── reshape.cpp │ │ │ │ ├── reshape.hpp │ │ │ │ ├── result.hpp │ │ │ │ ├── reverse.hpp │ │ │ │ ├── reverse_sequence.hpp │ │ │ │ ├── round.hpp │ │ │ │ ├── scatter_add.hpp │ │ │ │ ├── select.hpp │ │ │ │ ├── sigmoid_multiply.hpp │ │ │ │ ├── sign.hpp │ │ │ │ ├── sin.hpp │ │ │ │ ├── sinh.hpp │ │ │ │ ├── slice.hpp │ │ │ │ ├── softmax.hpp │ │ │ │ ├── sqrt.hpp │ │ │ │ ├── subtract.hpp │ │ │ │ ├── tan.hpp │ │ │ │ ├── tanh.hpp │ │ │ │ ├── tile.hpp │ │ │ │ ├── update_slice.hpp │ │ │ │ └── xor.hpp │ │ │ ├── kernel_selectors.hpp │ │ │ ├── op │ │ │ │ ├── batch_norm_relu.cpp │ │ │ │ ├── batch_norm_relu.hpp │ │ │ │ ├── bounded_relu.cpp │ │ │ │ ├── bounded_relu.hpp │ │ │ │ ├── conv_add.cpp │ │ │ │ ├── conv_add.hpp │ │ │ │ ├── conv_relu.cpp │ │ │ │ ├── conv_relu.hpp │ │ │ │ ├── convert_layout.cpp │ │ │ │ ├── convert_layout.hpp │ │ │ │ ├── deconv.cpp │ │ │ │ ├── deconv.hpp │ │ │ │ ├── dropout.cpp │ │ │ │ ├── dropout.hpp │ │ │ │ ├── gelu_backprop.cpp │ │ │ │ ├── gelu_backprop.hpp │ │ │ │ ├── group_conv_bias.cpp │ │ │ │ ├── group_conv_bias.hpp │ │ │ │ ├── leaky_relu.cpp │ │ │ │ ├── leaky_relu.hpp │ │ │ │ ├── lstm.cpp │ │ │ │ ├── lstm.hpp │ │ │ │ ├── matmul_bias.cpp │ │ │ │ ├── matmul_bias.hpp │ │ │ │ ├── max_pool_with_indices.cpp │ │ │ │ ├── max_pool_with_indices.hpp │ │ │ │ ├── quantized_matmul.cpp │ │ │ │ ├── quantized_matmul.hpp │ │ │ │ ├── rnn.cpp │ │ │ │ ├── rnn.hpp │ │ │ │ ├── rnn_utils.hpp │ │ │ │ ├── sigmoid_mul.cpp │ │ │ │ ├── sigmoid_mul.hpp │ │ │ │ ├── update_slice.cpp │ │ │ │ └── update_slice.hpp │ │ │ ├── pass │ │ │ │ ├── cpu_assignment.cpp │ │ │ │ ├── cpu_assignment.hpp │ │ │ │ ├── cpu_collapse_dims.cpp │ │ │ │ ├── cpu_collapse_dims.hpp │ │ │ │ ├── cpu_dnnl_primitive_build.cpp │ │ │ │ ├── cpu_dnnl_primitive_build.hpp │ │ │ │ ├── cpu_fusion.cpp │ │ │ │ ├── cpu_fusion.hpp │ │ │ │ ├── cpu_horizontal_fusion.cpp │ │ │ │ ├── cpu_horizontal_fusion.hpp │ │ │ │ ├── cpu_layout.cpp │ │ │ │ ├── cpu_layout.hpp │ │ │ │ ├── cpu_mat_fusion.cpp │ │ │ │ ├── cpu_mat_fusion.hpp │ │ │ │ ├── cpu_memory_assignment.cpp │ │ │ │ ├── cpu_memory_assignment.hpp │ │ │ │ ├── cpu_memory_optimization.cpp │ │ │ │ ├── cpu_memory_optimization.hpp │ │ │ │ ├── cpu_post_layout_optimizations.cpp │ │ │ │ ├── cpu_post_layout_optimizations.hpp │ │ │ │ ├── cpu_rnn_fusion.cpp │ │ │ │ ├── cpu_rnn_fusion.hpp │ │ │ │ ├── cpu_workspace_insertion.cpp │ │ │ │ └── cpu_workspace_insertion.hpp │ │ │ ├── pregenerated_src │ │ │ │ └── cpu_cg_runtime_context.hpp │ │ │ ├── static_initialize.hpp │ │ │ └── unit_test.manifest │ │ ├── dynamic │ │ │ ├── dynamic_backend.cpp │ │ │ ├── dynamic_backend.hpp │ │ │ ├── dynamic_executable.cpp │ │ │ ├── dynamic_executable.hpp │ │ │ ├── dynamic_tensor.cpp │ │ │ └── dynamic_tensor.hpp │ │ ├── eval │ │ │ ├── CMakeLists.txt │ │ │ ├── eval_backend.cpp │ │ │ ├── eval_backend.hpp │ │ │ ├── eval_backend_visibility.hpp │ │ │ ├── eval_executable.cpp │ │ │ ├── eval_executable.hpp │ │ │ └── unit_test.manifest │ │ ├── executable.cpp │ │ ├── executable.hpp │ │ ├── executable_cache.cpp │ │ ├── executable_cache.hpp │ │ ├── gcpu │ │ │ ├── CMakeLists.txt │ │ │ ├── gcpu_backend.cpp │ │ │ ├── gcpu_backend.hpp │ │ │ ├── gcpu_backend_visibility.hpp │ │ │ ├── gcpu_executable.cpp │ │ │ ├── gcpu_executable.hpp │ │ │ ├── kernel │ │ │ │ └── dot.hpp │ │ │ └── unit_test.manifest │ │ ├── host_tensor.cpp │ │ ├── host_tensor.hpp │ │ ├── interpreter │ │ │ ├── CMakeLists.txt │ │ │ ├── int_backend.cpp │ │ │ ├── int_backend.hpp │ │ │ ├── int_backend_visibility.hpp │ │ │ ├── int_executable.cpp │ │ │ ├── int_executable.hpp │ │ │ └── unit_test.manifest │ │ ├── mlir │ │ │ ├── CMakeLists.txt │ │ │ ├── mlir_backend.cpp │ │ │ ├── mlir_backend.hpp │ │ │ ├── mlir_backend_visibility.hpp │ │ │ ├── mlir_executable.cpp │ │ │ ├── mlir_executable.hpp │ │ │ └── unit_test.manifest │ │ ├── opt_kernel │ │ │ ├── broadcast.hpp │ │ │ └── reshape.hpp │ │ ├── performance_counter.hpp │ │ ├── reference │ │ │ ├── abs.hpp │ │ │ ├── acos.hpp │ │ │ ├── acosh.hpp │ │ │ ├── add.hpp │ │ │ ├── all.hpp │ │ │ ├── allreduce.hpp │ │ │ ├── and.hpp │ │ │ ├── any.hpp │ │ │ ├── argmax.hpp │ │ │ ├── argmin.hpp │ │ │ ├── asin.hpp │ │ │ ├── asinh.hpp │ │ │ ├── atan.hpp │ │ │ ├── atan2.hpp │ │ │ ├── atanh.hpp │ │ │ ├── autobroadcast_binop.hpp │ │ │ ├── avg_pool.hpp │ │ │ ├── batch_mat_mul.hpp │ │ │ ├── batch_norm.hpp │ │ │ ├── broadcast.hpp │ │ │ ├── broadcast_distributed.hpp │ │ │ ├── ceiling.hpp │ │ │ ├── clamp.hpp │ │ │ ├── concat.hpp │ │ │ ├── constant.hpp │ │ │ ├── convert.hpp │ │ │ ├── convolution.hpp │ │ │ ├── copy.hpp │ │ │ ├── cos.hpp │ │ │ ├── cosh.hpp │ │ │ ├── cum_sum.hpp │ │ │ ├── dequantize.hpp │ │ │ ├── divide.hpp │ │ │ ├── dot.hpp │ │ │ ├── embedding_lookup.hpp │ │ │ ├── equal.hpp │ │ │ ├── erf.hpp │ │ │ ├── exp.hpp │ │ │ ├── floor.hpp │ │ │ ├── gather.hpp │ │ │ ├── gather_nd.hpp │ │ │ ├── generate_mask.hpp │ │ │ ├── greater.hpp │ │ │ ├── greater_equal.hpp │ │ │ ├── less.hpp │ │ │ ├── less_equal.hpp │ │ │ ├── log.hpp │ │ │ ├── lrn.hpp │ │ │ ├── matmul.hpp │ │ │ ├── max.hpp │ │ │ ├── max_pool.hpp │ │ │ ├── maximum.hpp │ │ │ ├── mean.hpp │ │ │ ├── min.hpp │ │ │ ├── minimum.hpp │ │ │ ├── mod.hpp │ │ │ ├── multiply.hpp │ │ │ ├── negate.hpp │ │ │ ├── non_zero.hpp │ │ │ ├── not.hpp │ │ │ ├── not_equal.hpp │ │ │ ├── one_hot.hpp │ │ │ ├── or.hpp │ │ │ ├── pad.hpp │ │ │ ├── power.hpp │ │ │ ├── product.hpp │ │ │ ├── quantize.hpp │ │ │ ├── random_uniform.hpp │ │ │ ├── range.hpp │ │ │ ├── recv.hpp │ │ │ ├── relu.hpp │ │ │ ├── replace_slice.hpp │ │ │ ├── reshape.hpp │ │ │ ├── result.hpp │ │ │ ├── reverse.hpp │ │ │ ├── reverse_sequence.hpp │ │ │ ├── round.hpp │ │ │ ├── scatter_add.hpp │ │ │ ├── scatter_elements_update.hpp │ │ │ ├── scatter_nd_add.hpp │ │ │ ├── select.hpp │ │ │ ├── send.hpp │ │ │ ├── shape_of.hpp │ │ │ ├── sigmoid.hpp │ │ │ ├── sign.hpp │ │ │ ├── sin.hpp │ │ │ ├── sinh.hpp │ │ │ ├── slice.hpp │ │ │ ├── softmax.hpp │ │ │ ├── sqrt.hpp │ │ │ ├── strided_slice.hpp │ │ │ ├── subtract.hpp │ │ │ ├── sum.hpp │ │ │ ├── tan.hpp │ │ │ ├── tanh.hpp │ │ │ ├── tile.hpp │ │ │ ├── topk.hpp │ │ │ └── xor.hpp │ │ ├── tensor.cpp │ │ └── tensor.hpp │ ├── serializer.cpp │ ├── serializer.hpp │ ├── serializer_stub.cpp │ ├── shape.cpp │ ├── shape.hpp │ ├── shape_util.cpp │ ├── shape_util.hpp │ ├── slice_plan.cpp │ ├── slice_plan.hpp │ ├── specialize_function.cpp │ ├── specialize_function.hpp │ ├── state │ │ ├── bernoulli_rng_state.cpp │ │ ├── bernoulli_rng_state.hpp │ │ ├── state.hpp │ │ ├── uniform_rng_state.cpp │ │ └── uniform_rng_state.hpp │ ├── strides.cpp │ ├── strides.hpp │ ├── type.cpp │ ├── type.hpp │ ├── type │ │ ├── bfloat16.cpp │ │ ├── bfloat16.hpp │ │ ├── element_type.cpp │ │ ├── element_type.hpp │ │ ├── element_type_traits.hpp │ │ ├── float16.cpp │ │ └── float16.hpp │ ├── util.cpp │ ├── util.hpp │ ├── validation_util.cpp │ ├── validation_util.hpp │ ├── variant.cpp │ ├── variant.hpp │ ├── version.in.hpp │ └── visibility.hpp ├── resource │ ├── CMakeLists.txt │ ├── header_rewrite.cpp │ ├── header_rewrite.hpp │ ├── main.cpp │ ├── uncomment.cpp │ ├── uncomment.hpp │ ├── util.cpp │ └── util.hpp ├── runtime │ ├── CMakeLists.txt │ ├── gpu │ │ ├── CMakeLists.txt │ │ ├── cublas_emitter.cpp │ │ ├── cublas_emitter.hpp │ │ ├── cuda_emitter.cpp │ │ ├── cuda_emitter.hpp │ │ ├── cuda_error_check.hpp │ │ ├── cudnn_descriptors.hpp │ │ ├── cudnn_emitter.cpp │ │ ├── cudnn_emitter.hpp │ │ ├── cudnn_host_parameters.hpp │ │ ├── cudnn_invoke.cpp │ │ ├── cudnn_invoke.hpp │ │ ├── gpu_backend.cpp │ │ ├── gpu_backend.hpp │ │ ├── gpu_backend_visibility.hpp │ │ ├── gpu_call_frame.cpp │ │ ├── gpu_call_frame.hpp │ │ ├── gpu_compiled_function.cpp │ │ ├── gpu_compiled_function.hpp │ │ ├── gpu_cuda_context_manager.cpp │ │ ├── gpu_cuda_context_manager.hpp │ │ ├── gpu_cuda_function_builder.cpp │ │ ├── gpu_cuda_function_builder.hpp │ │ ├── gpu_cuda_function_pool.cpp │ │ ├── gpu_cuda_function_pool.hpp │ │ ├── gpu_cuda_kernel_builder.cpp │ │ ├── gpu_cuda_kernel_builder.hpp │ │ ├── gpu_cuda_kernel_ops.hpp │ │ ├── gpu_emitter.cpp │ │ ├── gpu_emitter.hpp │ │ ├── gpu_executable.cpp │ │ ├── gpu_executable.hpp │ │ ├── gpu_external_function.cpp │ │ ├── gpu_external_function.hpp │ │ ├── gpu_host_parameters.hpp │ │ ├── gpu_internal_function.cpp │ │ ├── gpu_internal_function.hpp │ │ ├── gpu_invoke.cpp │ │ ├── gpu_invoke.hpp │ │ ├── gpu_kernel_args.cpp │ │ ├── gpu_kernel_args.hpp │ │ ├── gpu_kernel_emitters.cpp │ │ ├── gpu_kernel_emitters.hpp │ │ ├── gpu_memory_manager.cpp │ │ ├── gpu_memory_manager.hpp │ │ ├── gpu_op_annotations.hpp │ │ ├── gpu_primitive_emitter.cpp │ │ ├── gpu_primitive_emitter.hpp │ │ ├── gpu_runtime_constructor.cpp │ │ ├── gpu_runtime_constructor.hpp │ │ ├── gpu_runtime_context.cpp │ │ ├── gpu_runtime_context.hpp │ │ ├── gpu_tensor.cpp │ │ ├── gpu_tensor.hpp │ │ ├── gpu_tensor_wrapper.cpp │ │ ├── gpu_tensor_wrapper.hpp │ │ ├── gpu_util.cpp │ │ ├── gpu_util.hpp │ │ ├── host_emitter.cpp │ │ ├── host_emitter.hpp │ │ ├── nvcc │ │ │ ├── example.cu.cpp │ │ │ └── kernels.hpp │ │ ├── nvdiff.hpp │ │ ├── nvrtc │ │ │ └── helpers.hpp │ │ ├── nvshape.hpp │ │ ├── op │ │ │ ├── batch_norm.cpp │ │ │ ├── batch_norm.hpp │ │ │ ├── op_tbl.hpp │ │ │ ├── rnn.cpp │ │ │ └── rnn.hpp │ │ ├── pass │ │ │ ├── gpu_batch_norm_cache.cpp │ │ │ ├── gpu_batch_norm_cache.hpp │ │ │ ├── gpu_layout.cpp │ │ │ ├── gpu_layout.hpp │ │ │ ├── gpu_rnn_fusion.cpp │ │ │ ├── gpu_rnn_fusion.hpp │ │ │ ├── tensor_memory_reservation.cpp │ │ │ └── tensor_memory_reservation.hpp │ │ ├── type_info.cpp │ │ ├── type_info.hpp │ │ └── unit_test.manifest │ └── nop │ │ ├── CMakeLists.txt │ │ ├── nop_backend.cpp │ │ ├── nop_backend.hpp │ │ └── nop_backend_visibility.hpp └── tools │ ├── CMakeLists.txt │ ├── nbench │ ├── CMakeLists.txt │ ├── benchmark.cpp │ ├── benchmark.hpp │ ├── benchmark_pipelined.cpp │ ├── benchmark_pipelined.hpp │ ├── benchmark_utils.cpp │ ├── benchmark_utils.hpp │ └── nbench.cpp │ ├── reserialize │ ├── CMakeLists.txt │ └── reserialize.cpp │ ├── run_onnx_model │ ├── CMakeLists.txt │ └── run_onnx_model.cpp │ └── serialize_onnx │ ├── CMakeLists.txt │ └── serialize_onnx.cpp └── test ├── CMakeLists.txt ├── algebraic_simplification.cpp ├── aligned_buffer.cpp ├── all_close_f.cpp ├── assertion.cpp ├── attributes.cpp ├── backend ├── abc.in.cpp ├── abs.in.cpp ├── acos.in.cpp ├── acosh.in.cpp ├── add.in.cpp ├── aliased_output.in.cpp ├── all.in.cpp ├── any.in.cpp ├── api.in.cpp ├── arg_reduce.in.cpp ├── asin.in.cpp ├── asinh.in.cpp ├── atan.in.cpp ├── atan2.in.cpp ├── atanh.in.cpp ├── auto_broadcast.in.cpp ├── autodiff.in.cpp ├── batch_mat_mul.in.cpp ├── batch_norm.in.cpp ├── broadcast.in.cpp ├── builder_flatten.in.cpp ├── builder_reduce_ops_opset1.in.cpp ├── ceiling.in.cpp ├── clamp.in.cpp ├── comparison.in.cpp ├── computation_reuse.in.cpp ├── concat.in.cpp ├── constant.in.cpp ├── conv_bias.in.cpp ├── convert.in.cpp ├── convolution.in.cpp ├── convolution_reference.in.cpp ├── cos.in.cpp ├── cosh.in.cpp ├── cross_entropy.in.cpp ├── cum_sum.in.cpp ├── divide.in.cpp ├── dot.in.cpp ├── dyn_broadcast.in.cpp ├── dyn_replace_slice_reference.in.cpp ├── dyn_reshape.in.cpp ├── dyn_slice_reference.in.cpp ├── dynamic.in.cpp ├── elu.in.cpp ├── embedding_lookup.in.cpp ├── erf.in.cpp ├── exp.in.cpp ├── fake_quantize.in.cpp ├── floor.in.cpp ├── function_name.in.cpp ├── gather.in.cpp ├── gelu.in.cpp ├── gemm.in.cpp ├── generate_mask.in.cpp ├── graph_comparison.in.cpp ├── grn.in.cpp ├── group_conv.in.cpp ├── group_convolution.in.cpp ├── gru_cell.in.cpp ├── hard_sigmoid.in.cpp ├── layer_norm.in.cpp ├── log.in.cpp ├── logical_and.in.cpp ├── logical_or.in.cpp ├── logical_xor.in.cpp ├── lrn.in.cpp ├── lstm_cell.in.cpp ├── matmul.in.cpp ├── max.in.cpp ├── maximum.in.cpp ├── min.in.cpp ├── minimum.in.cpp ├── mlir.in.cpp ├── mod.in.cpp ├── multiple_backends.in.cpp ├── multiple_result.in.cpp ├── multiply.in.cpp ├── mvn.in.cpp ├── negative.in.cpp ├── node_name.in.cpp ├── non_zero.in.cpp ├── normalize.in.cpp ├── not.in.cpp ├── numeric.in.cpp ├── numpy.in.cpp ├── one_hot.in.cpp ├── pad.in.cpp ├── parameter_as_output.in.cpp ├── partial_slice.in.cpp ├── pool.in.cpp ├── power.in.cpp ├── prelu.in.cpp ├── product.in.cpp ├── quantize_dequantize.in.cpp ├── quantized_convolution.in.cpp ├── quantized_dot.in.cpp ├── random_uniform.in.cpp ├── range.in.cpp ├── reduce_max.in.cpp ├── reduce_mean.in.cpp ├── reduce_min.in.cpp ├── reduce_prod.in.cpp ├── reduce_sum.in.cpp ├── relu.in.cpp ├── replace_slice.in.cpp ├── reshape.in.cpp ├── reverse.in.cpp ├── reverse_sequence.in.cpp ├── rnn_cell.in.cpp ├── round.in.cpp ├── scale.in.cpp ├── scatter.in.cpp ├── select.in.cpp ├── shape_of.in.cpp ├── shuffle_channels.in.cpp ├── sigmoid.in.cpp ├── sign.in.cpp ├── sin.in.cpp ├── sinh.in.cpp ├── slice.in.cpp ├── softmax.in.cpp ├── split.in.cpp ├── sqrt.in.cpp ├── squared_difference.in.cpp ├── squeeze.in.cpp ├── stack.in.cpp ├── strided_slice.in.cpp ├── subtract.in.cpp ├── sum.in.cpp ├── tan.in.cpp ├── tanh.in.cpp ├── tile.in.cpp ├── topk.in.cpp ├── transpose.in.cpp ├── unhandled_op.in.cpp ├── unsqueeze.in.cpp ├── validate_call.in.cpp └── zero_sized.in.cpp ├── backend_api.cpp ├── backend_debug_api.cpp ├── backend_performance.cpp ├── bfloat16.cpp ├── build_graph.cpp ├── builder.cpp ├── builder_autobroadcast.cpp ├── builder_quantization.cpp ├── check.cpp ├── concat_fusion.cpp ├── constant.cpp ├── constant_folding.cpp ├── control_dependencies.cpp ├── convert_u1_to_string.cpp ├── coordinate.cpp ├── copy.cpp ├── core.cpp ├── core_fusion.cpp ├── cpio.cpp ├── cpu_codegen.cpp ├── cpu_core_fusion.in.cpp ├── cpu_debug_tracer.in.cpp ├── cpu_debugger.in.cpp ├── cpu_fusion.cpp ├── cpu_fusion.in.cpp ├── cpu_test.in.cpp ├── cse.cpp ├── dnnl.cpp ├── dyn_elimination.cpp ├── element_type.cpp ├── eval.cpp ├── file_util.cpp ├── files ├── graph_with_goe.json ├── onnx │ ├── convtranspose_output_shape │ │ ├── w.bin │ │ ├── x.bin │ │ └── y.bin │ ├── qlinearconv2d │ │ ├── x.bin │ │ └── y.bin │ └── qlinearconv3d │ │ ├── x.bin │ │ └── y.bin └── test.cpio ├── float16.cpp ├── gpu_fusion.cpp ├── gpu_test.cpp ├── header_standalone.in.cpp ├── includes.cpp ├── input_output_assign.cpp ├── intervals.cpp ├── main.cpp ├── misc.cpp ├── misc.hpp ├── mlir ├── CMakeLists.txt ├── affine_conversion │ ├── bare_ptr_call_conv.mlir │ ├── callback_ops.mlir │ ├── core_ops.mlir │ ├── memory_opt.mlir │ └── types.mlir ├── lit.cfg.py ├── lit.site.cfg.py.in ├── ngraph_dialect │ ├── elementwise_binary_ops.mlir │ ├── fused_ops.mlir │ ├── module_function.mlir │ ├── pattern │ │ └── fused_ops.mlir │ └── types.mlir ├── ops_test.cpp └── transforms │ └── op_fusion.mlir ├── models ├── conv_bias.json ├── mxnet │ ├── 10_bucket_LSTM.json │ ├── 1_lstm_cell_forward.json │ ├── 1rnn_layer_3lstm_cell.json │ ├── 2layer_3timestep_ic100oc100.json │ ├── 2rnn_layer_1timestep.json │ ├── 2rnn_layer_3lstm_cell.json │ ├── 3_lstm_cell_forward.json │ ├── Graph_fprop_sigmoid.json │ ├── LSTM_backward.json │ ├── LSTM_forward.json │ ├── Seq2Seq_backward.json │ ├── Seq2Seq_forward.json │ ├── Sockeye_Seq2Seq_backward.json │ ├── Sockeye_Seq2Seq_forward.json │ ├── batch_dot_3.json │ ├── bn_bprop.json │ ├── bn_fprop.json │ ├── bn_fprop_b2c3h2w2.json │ ├── gru_debug.json │ ├── lstm_bi_directional.json │ ├── mnist_mlp_forward.json │ ├── mxnet_densenet121_inference_batch1_float32.json │ ├── rnn-10-step-fusion-test.json │ └── tranpose.json ├── onnx │ ├── acosh.prototxt │ ├── add_abc.onnx │ ├── add_abc.prototxt │ ├── add_abc_initializers.prototxt │ ├── add_bcast.prototxt │ ├── addmul_abc.prototxt │ ├── argmax_int32.prototxt │ ├── argmin_int32.prototxt │ ├── argmin_no_keepdims.prototxt │ ├── asinh.prototxt │ ├── atanh.prototxt │ ├── average_pool_2d.prototxt │ ├── average_pool_2d_pads.prototxt │ ├── batchnorm_default.prototxt │ ├── bool_const_op.prototxt │ ├── bool_init_and.prototxt │ ├── bool_init_raw.prototxt │ ├── bool_input_or.prototxt │ ├── concat.prototxt │ ├── concat_negative_axis.prototxt │ ├── conv2d_dilation_assym_pads_strides.prototxt │ ├── conv3d_bias.prototxt │ ├── conv_integer.prototxt │ ├── conv_integer_no_zero_point.prototxt │ ├── conv_integer_pads.prototxt │ ├── conv_transpose_w_groups.prototxt │ ├── conv_with_strides_and_asymmetric_padding.prototxt │ ├── conv_with_strides_no_padding.prototxt │ ├── conv_with_strides_padding.prototxt │ ├── conv_with_strides_padding_bias.prototxt │ ├── convtranspose_dyn_data.prototxt │ ├── convtranspose_dyn_filters.prototxt │ ├── convtranspose_groups_pads_bias.prototxt │ ├── convtranspose_groups_w_pads.prototxt │ ├── convtranspose_output_shape.prototxt │ ├── convtranspose_output_shape_auto_pads_same_lower.prototxt │ ├── convtranspose_output_shape_auto_pads_same_upper.prototxt │ ├── cosh.prototxt │ ├── cum_sum_1d.prototxt │ ├── cum_sum_2d_axis_input.prototxt │ ├── cum_sum_2d_dynamic_axis_input.prototxt │ ├── cum_sum_3d_exclusive_reverse.prototxt │ ├── custom_operator.prototxt │ ├── custom_operator_default_domain.prototxt │ ├── depth_to_space.prototxt │ ├── depth_to_space_bad_blocksize.prototxt │ ├── depth_to_space_chw.prototxt │ ├── depth_to_space_no_blocksize.prototxt │ ├── dequant_lin.prototxt │ ├── dequantize_linear_0.prototxt │ ├── dequantize_linear_1.prototxt │ ├── dequantize_linear_2.prototxt │ ├── dequantize_linear_3.prototxt │ ├── dequantize_linear_4.prototxt │ ├── dequantize_linear_5.prototxt │ ├── div.prototxt │ ├── dynamic_shapes │ │ ├── a_plus_b_dyn_rank.prototxt │ │ ├── ab_plus_c.prototxt │ │ ├── acosh_dyn_shape.prototxt │ │ ├── argmax_dyn.prototxt │ │ ├── argmin_no_keep_dims_dyn.prototxt │ │ ├── asinh_dyn_shape.prototxt │ │ ├── atanh_dyn_shape.prototxt │ │ ├── average_pool_2d_dyn.prototxt │ │ ├── constant_of_shape_float_zeros.prototxt │ │ ├── constant_of_shape_int_ones.prototxt │ │ ├── conv_with_dynamic_batch.prototxt │ │ ├── expand_dyn.prototxt │ │ ├── expand_uint16_dyn.prototxt │ │ ├── flatten_dyn_shape_axis.prototxt │ │ ├── flatten_dyn_shape_axis0.prototxt │ │ ├── flatten_dyn_shape_neg_axis.prototxt │ │ ├── global_average_pool_dyn.prototxt │ │ ├── global_max_pool_dyn.prototxt │ │ ├── max_pool_2d_dyn.prototxt │ │ ├── scalar_initializers.prototxt │ │ ├── slice_2d_default_steps_dyn_begin_end.prototxt │ │ ├── slice_2d_input.prototxt │ │ ├── slice_3d_input.prototxt │ │ ├── slice_3d_input_12_axes.prototxt │ │ ├── slice_3d_input_20_axes.prototxt │ │ ├── slice_3d_input_neg_axes.prototxt │ │ ├── slice_4d_input_0231_axes_ends_max.prototxt │ │ ├── slice_4d_input_2103_axes.prototxt │ │ ├── slice_4d_input_23_axes.prototxt │ │ ├── slice_4d_input_23_axes_21_steps.prototxt │ │ ├── slice_default_axes.prototxt │ │ ├── slice_default_steps.prototxt │ │ └── transpose.prototxt │ ├── elu.prototxt │ ├── erf.prototxt │ ├── erf_int32.prototxt │ ├── expand_static_shape.prototxt │ ├── eye_like.prototxt │ ├── filename.prototxt │ ├── flatten.prototxt │ ├── gatherND_float.prototxt │ ├── gatherND_int32.prototxt │ ├── gemm_abc.prototxt │ ├── global_lp_pool_dynamic_hw.prototxt │ ├── global_lp_pool_p0.prototxt │ ├── global_lp_pool_p1.prototxt │ ├── global_lp_pool_p2.prototxt │ ├── global_lp_pool_p3.prototxt │ ├── hardmax.prototxt │ ├── initializer_wo_input.prototxt │ ├── instance_norm.prototxt │ ├── leaky_relu.prototxt │ ├── lp_norm_default.prototxt │ ├── lp_norm_p1.prototxt │ ├── lp_norm_p2.prototxt │ ├── lstm_bdir_short_input_seq.prototxt │ ├── lstm_fwd_hardsigmoid_activation.prototxt │ ├── lstm_fwd_large_batch_no_clip.prototxt │ ├── lstm_fwd_mixed_seq.prototxt │ ├── lstm_fwd_with_clip.prototxt │ ├── lstm_mixed_seq_reverse.prototxt │ ├── matmul.prototxt │ ├── matmul_float.prototxt │ ├── matmul_integer.prototxt │ ├── matmul_integer_4d.prototxt │ ├── matmul_integer_4d_no_zero_point.prototxt │ ├── matmul_integer_no_zero_point.prototxt │ ├── matmul_integer_scalar.prototxt │ ├── matmul_vec_ten3d.prototxt │ ├── max.prototxt │ ├── max_opset1.prototxt │ ├── max_pool_2d_pads.prototxt │ ├── mean.prototxt │ ├── mean_opset1.prototxt │ ├── min_two_inputs.prototxt │ ├── min_two_inputs_opset1.prototxt │ ├── missing_input.prototxt │ ├── missing_op_domain.prototxt │ ├── mod_sign.prototxt │ ├── non_zero_1d.prototxt │ ├── non_zero_1d_float.prototxt │ ├── non_zero_2d_bool.prototxt │ ├── non_zero_3d.prototxt │ ├── non_zero_scalar.prototxt │ ├── one_hot_axis.prototxt │ ├── one_hot_no_axis.prototxt │ ├── onnx_prototxt_converter.py │ ├── onnx_prototxt_converter_requirements.txt │ ├── override_op.prototxt │ ├── pad_constant.prototxt │ ├── prelu.prototxt │ ├── provenance_downgrade_topk.prototxt │ ├── provenance_input_tags.prototxt │ ├── provenance_multiple_outputs_op.prototxt │ ├── provenance_node_name_and_outputs.prototxt │ ├── provenance_only_outputs.prototxt │ ├── provenance_tag_add.prototxt │ ├── qlinear_conv_2d.prototxt │ ├── qlinear_conv_3d.prototxt │ ├── qlinear_matmul.prototxt │ ├── qlinear_matmul_3d.prototxt │ ├── quant_conv_lin.prototxt │ ├── quantize_linear.prototxt │ ├── quantize_linear_axis_negative.prototxt │ ├── quantize_linear_axis_zero.prototxt │ ├── quantize_linear_zero_point.prototxt │ ├── reciprocal.prototxt │ ├── reduce_l1.prototxt │ ├── reduce_l2.prototxt │ ├── reduce_log_sum.prototxt │ ├── reduce_log_sum_exp.prototxt │ ├── reduce_max.prototxt │ ├── reduce_mean.prototxt │ ├── reduce_min.prototxt │ ├── reduce_prod.prototxt │ ├── reduce_sum.prototxt │ ├── reduce_sum_square.prototxt │ ├── relu.prototxt │ ├── reshape_extended_dims.prototxt │ ├── reshape_negative_dim.prototxt │ ├── reshape_negative_with_zero_dims.prototxt │ ├── reshape_output_shape_as_input.prototxt │ ├── reshape_reduced_dims.prototxt │ ├── reshape_reordered_dims.prototxt │ ├── reshape_single_dim.prototxt │ ├── resize_opset10.prototxt │ ├── reverse_sequence_incorrect_batch_axis.prototxt │ ├── reverse_sequence_incorrect_time_axis.prototxt │ ├── reverse_sequence_time_0_batch_1.prototxt │ ├── reverse_sequence_time_1_batch_0.prototxt │ ├── reverse_sequence_time_and_batch_axis_equal.prototxt │ ├── round.prototxt │ ├── scatter_elements_opset11.prototxt │ ├── scatter_nd.prototxt │ ├── scatter_opset10.prototxt │ ├── selu.prototxt │ ├── shape.prototxt │ ├── shrink_float.prototxt │ ├── shrink_int.prototxt │ ├── sigmoid.prototxt │ ├── sign.prototxt │ ├── sinh.prototxt │ ├── softmax_0D.prototxt │ ├── softmax_1D.prototxt │ ├── softmax_axis_0.prototxt │ ├── softmax_axis_1.prototxt │ ├── softmax_axis_2.prototxt │ ├── softmax_invalid_axis_1D.prototxt │ ├── softmax_invalid_axis_3D.prototxt │ ├── softplus.prototxt │ ├── space_to_depth.prototxt │ ├── space_to_depth_bad_blocksize.prototxt │ ├── space_to_depth_chw.prototxt │ ├── space_to_depth_no_blocksize.prototxt │ ├── split_equal_parts_2d.prototxt │ ├── split_equal_parts_default.prototxt │ ├── split_variable_parts_2d.prototxt │ ├── squeeze_duplicate_axes.prototxt │ ├── sub.prototxt │ ├── sum.prototxt │ ├── sum_one_input.prototxt │ ├── sum_opset1.prototxt │ ├── sum_opset8.prototxt │ ├── tanh.prototxt │ ├── thresholded_relu.prototxt │ ├── tile.prototxt │ ├── tile_static.prototxt │ ├── top_k.prototxt │ ├── top_k_opset_10.prototxt │ ├── top_k_opset_10_const_k.prototxt │ ├── top_k_opset_11_const_k_smallest.prototxt │ ├── unknown_domain.prototxt │ ├── unknown_domain_add.prototxt │ ├── unsqueeze.prototxt │ ├── unsqueeze_negative_axes.prototxt │ ├── unsupported_op.prototxt │ └── where.prototxt ├── paddlepaddle │ ├── ngraph-paddlepaddle-bprop0.json │ ├── ngraph-paddlepaddle-bprop1.json │ ├── ngraph-paddlepaddle-function1.json │ └── ngraph-paddlepaddle-function3.json ├── tensorflow │ ├── mnist_cnn_maxpool │ │ ├── tf_function_cluster_13[_XlaCompiledKernel=true,_XlaNumConstantArgs=0,_XlaNumResourceArgs=0].v33.json │ │ └── tf_function_cluster_17[_XlaCompiledKernel=true,_XlaNumConstantArgs=1,_XlaNumResourceArgs=0].v170.json │ ├── mnist_mlp │ │ └── tf_function_cluster_4[_XlaCompiledKernel=true,_XlaNumConstantArgs=1,_XlaNumResourceArgs=0].v82.json │ ├── resnet8 │ │ ├── tf_function_cluster_12[_XlaCompiledKernel=true,_XlaNumConstantArgs=3,_XlaNumResourceArgs=0].v23.json │ │ ├── tf_function_cluster_16[_XlaCompiledKernel=true,_XlaNumConstantArgs=6,_XlaNumResourceArgs=0].v42.json │ │ ├── tf_function_cluster_20[_XlaCompiledKernel=true,_XlaNumConstantArgs=3,_XlaNumResourceArgs=0].v23.json │ │ ├── tf_function_cluster_22[_XlaCompiledKernel=true,_XlaNumConstantArgs=4,_XlaNumResourceArgs=0].v24.json │ │ ├── tf_function_cluster_23[_XlaCompiledKernel=true,_XlaNumConstantArgs=1,_XlaNumResourceArgs=0].v296.json │ │ ├── tf_function_cluster_28[_XlaCompiledKernel=true,_XlaNumConstantArgs=0,_XlaNumResourceArgs=0].v13.json │ │ ├── tf_function_cluster_34[_XlaCompiledKernel=true,_XlaNumConstantArgs=7,_XlaNumResourceArgs=0].v73.json │ │ ├── tf_function_cluster_4[_XlaCompiledKernel=true,_XlaNumConstantArgs=1,_XlaNumResourceArgs=0].v14.json │ │ └── tf_function_cluster_8[_XlaCompiledKernel=true,_XlaNumConstantArgs=2,_XlaNumResourceArgs=0].v28.json │ └── rnn │ │ └── vanilla_rnn_3_time_step.json └── tf_conv_mnist_nhwc.json ├── ngraph_api.cpp ├── node_input_output.cpp ├── nop_elimination.cpp ├── onnx ├── onnx_import.in.cpp ├── onnx_import_const_folding.in.cpp ├── onnx_import_convpool.in.cpp ├── onnx_import_dyn_shapes.in.cpp ├── onnx_import_library.in.cpp ├── onnx_import_provenance.in.cpp ├── onnx_import_quant.in.cpp ├── onnx_import_reshape.in.cpp └── onnx_import_rnn.in.cpp ├── op.cpp ├── op_eval ├── matmul.cpp ├── mod.cpp ├── non_zero.cpp └── strided_slice.cpp ├── op_is.cpp ├── opset1.cpp ├── opset_pass ├── broadcast_opset_pass.cpp ├── convolution_opset_pass.cpp ├── gather_opset_pass.cpp ├── generate_mask_opset_pass.cpp ├── one_hot_opset_pass.cpp ├── pad_opset_pass.cpp ├── poolings_opset_pass.cpp ├── reduction_opset_pass.cpp ├── reverse_opset_pass.cpp ├── select_opset_pass.cpp ├── slice_opset_pass.cpp ├── softmax_opset_pass.cpp ├── topk_opset_pass.cpp └── transpose_opset_pass.cpp ├── partial_shape.cpp ├── pass.cpp ├── pass_liveness.cpp ├── pass_manager.cpp ├── pass_memory_layout.cpp ├── pass_shape_relevance.cpp ├── pattern.cpp ├── provenance.cpp ├── ref_generators ├── generate_convolution_ref.py ├── generate_dyn_replace_slice_ref.py ├── generate_dyn_slice_ref.py ├── generate_lrn_across_axes.py └── generate_normalize_l2_ref.py ├── replace_node.cpp ├── reshape_elimination.cpp ├── reshape_elimination_v1.cpp ├── reshape_sinking.cpp ├── serialize.cpp ├── shape.cpp ├── specialize_function.cpp ├── tensor.cpp ├── tools.cpp ├── type_info.cpp ├── type_prop ├── all.cpp ├── any.cpp ├── avg_pool.cpp ├── batch_mat_mul.cpp ├── batch_mat_mul_transpose.cpp ├── batch_norm.cpp ├── batch_to_space.cpp ├── binary_elementwise.cpp ├── broadcast.cpp ├── bucketize.cpp ├── clamp.cpp ├── compat.cpp ├── concat.cpp ├── constant.cpp ├── convert.cpp ├── convolution.cpp ├── convolution_bias.cpp ├── crop_and_resize.cpp ├── deformable_psroi_pooling.cpp ├── depth_to_space.cpp ├── dequantize.cpp ├── dot.cpp ├── dyn_broadcast.cpp ├── dyn_pad.cpp ├── dyn_replace_slice.cpp ├── dyn_reshape.cpp ├── dyn_slice.cpp ├── elu.cpp ├── embedding_lookup.cpp ├── embedding_segments_sum.cpp ├── embeddingbag_offsetssum.cpp ├── embeddingbag_packedsum.cpp ├── extractimagepatches.cpp ├── fake_quantize.cpp ├── gather.cpp ├── gather_nd.cpp ├── gather_tree.cpp ├── gemm.cpp ├── grn.cpp ├── group_convolution.cpp ├── group_convolution_backprop_data.cpp ├── gru_cell.cpp ├── hard_sigmoid.cpp ├── index_reduction.cpp ├── layer_norm.cpp ├── lrn.cpp ├── lstm_cell.cpp ├── lstm_sequence.cpp ├── matmul.cpp ├── max_pool.cpp ├── mvn.cpp ├── non_max_suppression.cpp ├── non_zero.cpp ├── normalize.cpp ├── one_hot.cpp ├── pad.cpp ├── parameter.cpp ├── prelu.cpp ├── proposal.cpp ├── quantize.cpp ├── quantized_convolution.cpp ├── quantized_dot.cpp ├── random_uniform.cpp ├── range.cpp ├── reduce_prod.cpp ├── reduce_sum.cpp ├── replace_slice.cpp ├── reshape.cpp ├── reverse.cpp ├── reverse_sequence.cpp ├── rnn_cell.cpp ├── roi_align.cpp ├── scale_shift.cpp ├── scatter_add.cpp ├── scatter_elements_update.cpp ├── scatter_nd.cpp ├── scatter_nd_update.cpp ├── scatter_update.cpp ├── select.cpp ├── shape_of.cpp ├── shuffle_channels.cpp ├── slice.cpp ├── space_to_batch.cpp ├── space_to_depth.cpp ├── split.cpp ├── squared_difference.cpp ├── squeeze.cpp ├── strided_slice.cpp ├── sum.cpp ├── tile.cpp ├── top_k.cpp ├── transpose.cpp ├── unary_elementwise.cpp ├── unsqueeze.cpp └── variadic_split.cpp ├── type_prop_benchmark.cpp ├── type_prop_layers.cpp ├── update_convolution_reference.sh ├── update_dyn_replace_slice_reference.sh ├── update_dyn_slice_reference.sh ├── util.cpp ├── util ├── CMakeLists.txt ├── all_close.hpp ├── all_close_f.cpp ├── all_close_f.hpp ├── autodiff │ ├── backprop_derivative.hpp │ ├── backprop_function.cpp │ ├── backprop_function.hpp │ ├── numeric_compare.hpp │ └── numeric_derivative.hpp ├── float_util.cpp ├── float_util.hpp ├── known_element_types.hpp ├── matcher.hpp ├── ndarray.hpp ├── provenance_enabler.hpp ├── random.hpp ├── test_case.cpp ├── test_case.hpp ├── test_control.cpp ├── test_control.hpp ├── test_tools.cpp ├── test_tools.hpp ├── type_prop.hpp ├── unit-test-execution │ ├── README.md │ ├── conftest.py │ ├── requirements.txt │ └── unit_test_executable.py └── visitor.hpp └── zero_dim_tensor_elimination.cpp /.ci/onnx/jenkins/README.md: -------------------------------------------------------------------------------- 1 | # nGraph-ONNX Continuous Integration Script 2 | The proper script running nGraph-ONNX tests can be found in ngraph-onnx repository: 3 | https://github.com/NervanaSystems/ngraph-onnx/tree/master/.ci/jenkins/ci.groovy 4 | 5 | Jenkinsfile in this directory just downloads and runs CI stored in repository mentioned above. 6 | This is due to how Jenkins Multibranch Pipeline jobs are implemented, which don't provide an option to automatically clone different repository than the one for which the build is triggered. 7 | 8 | # MANUAL REPRODUCTION INSTRUCTION 9 | From directory containing CI scripts execute runCI.sh bash script: 10 | 11 | ``` 12 | cd /.ci/onnx/jenkins/ 13 | ./runCI.sh 14 | ``` 15 | 16 | To remove all items created during script execution (files, directories, docker images and containers), run: 17 | 18 | ``` 19 | ./runCI.sh --cleanup 20 | ``` 21 | 22 | After first run, executing the script will rerun tox tests. To rebuild nGraph and run tests use: 23 | 24 | ``` 25 | ./runCI.sh --rebuild 26 | ``` 27 | -------------------------------------------------------------------------------- /.ci/onnx/onnxruntime/proxy.patch: -------------------------------------------------------------------------------- 1 | diff --git a/tools/ci_build/github/linux/docker/Dockerfile.ubuntu b/tools/ci_build/github/linux/docker/Dockerfile.ubuntu 2 | index bdff95e1..cd9c0008 100644 3 | --- a/tools/ci_build/github/linux/docker/Dockerfile.ubuntu 4 | +++ b/tools/ci_build/github/linux/docker/Dockerfile.ubuntu 5 | @@ -3,6 +3,18 @@ FROM ubuntu:${OS_VERSION} 6 | 7 | ARG PYTHON_VERSION=3.5 8 | 9 | +ENV http_proxy={HTTP_PROXY} 10 | +ENV socks_proxy={SOCKS_PROXY} 11 | +ENV https_proxy={HTTP_PROXY} 12 | +ENV ftp_proxy={HTTP_PROXY} 13 | +ENV rsync_proxy={HTTP_PROXY} 14 | +ENV no_proxy=intel.com,.intel.com,localhost 15 | +ENV HTTP_PROXY={HTTP_PROXY} 16 | +ENV HTTPS_PROXY={HTTP_PROXY} 17 | +ENV FTP_PROXY={HTTP_PROXY} 18 | +ENV SOCKS_PROXY={SOCKS_PROXY} 19 | +ENV NO_PROXY=intel.com,.intel.com,localhost 20 | + 21 | ADD scripts /tmp/scripts 22 | RUN /tmp/scripts/install_ubuntu.sh -p ${PYTHON_VERSION} && /tmp/scripts/install_deps.sh && rm -rf /tmp/scripts 23 | 24 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | *.cpp text 7 | *.hpp text 8 | -------------------------------------------------------------------------------- /VERSION.in: -------------------------------------------------------------------------------- 1 | ${NGRAPH_VERSION} 2 | -------------------------------------------------------------------------------- /cmake/Modules/FindGraphviz.cmake: -------------------------------------------------------------------------------- 1 | find_program(GRAPHVIZ_EXECUTABLE dot) 2 | 3 | # Handle REQUIRED and QUIET arguments 4 | # this will also set GRAPHVIZ_FOUND to true if GRAPHVIZ_EXECUTABLE exists 5 | include(FindPackageHandleStandardArgs) 6 | find_package_handle_standard_args(Graphviz 7 | "Failed to locate graphviz executable" 8 | GRAPHVIZ_EXECUTABLE) 9 | -------------------------------------------------------------------------------- /cmake/Modules/gen_op_version.cmake: -------------------------------------------------------------------------------- 1 | cmake_policy(SET CMP0074 NEW) 2 | cmake_policy(SET CMP0007 NEW) 3 | 4 | # Make the string OPSETS into a list by replacing spaces with semicolons 5 | string(REPLACE " " ";" OPSETS "${OPSETS}") 6 | set(ALL_OPS) 7 | foreach(OPSET ${OPSETS}) 8 | file(STRINGS ${CURRENT_DIR}/${OPSET} CONTENTS) 9 | 10 | # Remove // style comments 11 | list(TRANSFORM CONTENTS REPLACE "( |)//.*" "") 12 | 13 | # Remove # C preprocessor statements 14 | list(TRANSFORM CONTENTS REPLACE "#.*" "") 15 | 16 | # Convert ngraph::op::vN to N 17 | list(TRANSFORM CONTENTS REPLACE "ngraph::op::v" "") 18 | 19 | list(APPEND ALL_OPS ${CONTENTS}) 20 | endforeach() 21 | list(REMOVE_DUPLICATES ALL_OPS) 22 | list(SORT ALL_OPS) 23 | string(REPLACE ";" "\n" NEW_CONTENTS "${ALL_OPS}") 24 | file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/op_version_tbl.hpp ${NEW_CONTENTS}) 25 | -------------------------------------------------------------------------------- /cmake/Modules/print_switch.cmake: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | function(PRINT_OPTION arg) 18 | message(STATUS "arg = ${ARG}") 19 | endfunction() 20 | -------------------------------------------------------------------------------- /doc/doxygen/Doxyfile.in: -------------------------------------------------------------------------------- 1 | PROJECT_NAME = "Intel® nGraph™ library" 2 | PROJECT_BRIEF = "Intel® nGraph™ library" 3 | 4 | OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@ 5 | INPUT = @PROJECT_SOURCE_DIR@/src 6 | INCLUDE_PATH = @PROJECT_SOURCE_DIR@/src 7 | RECURSIVE = YES 8 | 9 | USE_MATHJAX = YES 10 | 11 | GENERATE_XML = YES 12 | 13 | IMAGE_PATH = @PROJECT_SOURCE_DIR@/doc/doxygen/images/ 14 | 15 | WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@ 16 | QUIET = @DOXYGEN_QUIET@ 17 | 18 | ENABLE_PREPROCESSING = YES 19 | MACRO_EXPANSION = YES 20 | EXPAND_ONLY_PREDEF = YES 21 | PREDEFINED = NGRAPH_API= \ 22 | NOP_BACKEND_API= \ 23 | CPU_BACKEND_API= \ 24 | GCPU_BACKEND_API= \ 25 | GPU_BACKEND_API= \ 26 | INTERPRETER_BACKEND_API= \ 27 | PLAID_BACKEND_API= \ 28 | 29 | EXCLUDE_PATTERNS = */plaidml/* 30 | EXCLUDE_PATTERNS += */gpu/* 31 | EXCLUDE_PATTERNS += */src/contrib/mlir/* 32 | -------------------------------------------------------------------------------- /doc/doxygen/images/README.md: -------------------------------------------------------------------------------- 1 | Add any images required for Doxygen documentation in this folder. 2 | 3 | How to use the image in your documentation: 4 | 1. Add the image to be displayed in your documentation to this folder say example.svg 5 | 6 | 2. To use this image to display in your code say in code.hpp, following is an example 7 | /// This is the comment description and the line below displays the image 8 | /// \image html example.svg 9 | 10 | 3. For more details http://www.doxygen.nl/manual/commands.html#cmdimage 11 | -------------------------------------------------------------------------------- /doc/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | if (NGRAPH_CPU_ENABLE) 18 | add_subdirectory(abc) 19 | add_subdirectory(abc_operator) 20 | add_subdirectory(dynamic_tensor) 21 | add_subdirectory(mnist_mlp) 22 | add_subdirectory(update) 23 | endif() 24 | -------------------------------------------------------------------------------- /doc/examples/README.md: -------------------------------------------------------------------------------- 1 | # nGraph Code Examples 2 | 3 | `You are at: ngraph/doc/examples/README.md` 4 | 5 | The code examples in this folder are for documentation purposes. 6 | Any modifications to the code or comments on example programs 7 | in this directory have DOCUMENTATION BREAKING IMPLICATIONS. You 8 | are welcome to refactor these code examples, if you think they 9 | can be made more clear; however, you must also find and update 10 | all `.rst` documentation files affected by your change(s). Every 11 | example file added to this directory must be accompanied separate 12 | and proper documentation files formatted in `.rst`, as per the 13 | specification in our [doc contributor README] file. 14 | 15 | 16 | 17 | 18 | [doc contributor README](http://ngraph.nervanasys.com/docs/latest/project/doc-contributor-README.html) 19 | -------------------------------------------------------------------------------- /doc/examples/abc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | add_executable(abc abc.cpp) 18 | add_dependencies(abc ngraph cpu_backend) 19 | target_link_libraries(abc ngraph cpu_backend) 20 | -------------------------------------------------------------------------------- /doc/examples/abc_operator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | add_executable(abc_op abc_operator.cpp) 18 | add_dependencies(abc_op ngraph cpu_backend) 19 | target_link_libraries(abc_op ngraph cpu_backend) 20 | -------------------------------------------------------------------------------- /doc/examples/dynamic_tensor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | add_executable(partial_shape partial_shape.cpp) 18 | add_dependencies(partial_shape ngraph cpu_backend) 19 | target_link_libraries(partial_shape ngraph cpu_backend) 20 | -------------------------------------------------------------------------------- /doc/examples/update/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | add_executable(update update.cpp) 18 | add_dependencies(update ngraph cpu_backend) 19 | target_link_libraries(update ngraph cpu_backend) 20 | -------------------------------------------------------------------------------- /doc/sphinx/generate_python_api_doc.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ############################################################################### 4 | # 5 | # This script generates stub files for automatically generated documentation 6 | # of the nGraph Python API. 7 | # 8 | ############################################################################### 9 | 10 | # paths relative to this file location 11 | NGRAPH_REPO=../.. 12 | DOC_DIR=${NGRAPH_REPO}/doc 13 | TMP_DIR=/tmp/sphinx_auto_py_doc 14 | EXCLUDE_DIRS="${NGRAPH_REPO}/python/ngraph/impl* 15 | ${NGRAPH_REPO}/python/ngraph/utils*" 16 | CURRENT_DIR=. 17 | 18 | cd ${NGRAPH_REPO}/python/ngraph 19 | PYTHONPATH=. sphinx-autogen -t ${DOC_DIR}/sphinx/source/_templates/ -o ${TMP_DIR} \ 20 | ${DOC_DIR}/sphinx/source/python_api/structure.rst 21 | sphinx-apidoc -f -M -d 1 -T -o ${TMP_DIR} ${CURRENT_DIR} ${EXCLUDE_DIRS} 22 | 23 | rm ${TMP_DIR}/ngraph.runtime.rst 24 | cp ${TMP_DIR}/* ${DOC_DIR}/sphinx/source/python_api/_autosummary/ 25 | 26 | rm -rf ${TMP_DIR} 27 | -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/__init__.py: -------------------------------------------------------------------------------- 1 | """Sphinx ReadTheDocs theme. 2 | 3 | From https://github.com/ryan-roemer/sphinx-bootstrap-theme. 4 | 5 | """ 6 | import os 7 | 8 | VERSION = (0, 1, 9) 9 | 10 | __version__ = ".".join(str(v) for v in VERSION) 11 | __version_full__ = __version__ 12 | 13 | 14 | def get_html_theme_path(): 15 | """Return list of HTML theme paths.""" 16 | cur_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) 17 | return cur_dir 18 | -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/searchbox.html: -------------------------------------------------------------------------------- 1 | {%- if builder != 'singlehtml' %} 2 |
3 |
4 | 5 | 6 | 7 |
8 |
9 | {%- endif %} 10 | -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/favicon.ico -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/fonts/Inconsolata-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/fonts/Inconsolata-Bold.ttf -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/fonts/Inconsolata-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/fonts/Inconsolata-Regular.ttf -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/fonts/RobotoSlab-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/fonts/RobotoSlab-Bold.ttf -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/fonts/RobotoSlab-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/fonts/RobotoSlab-Light.ttf -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/fonts/RobotoSlab-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/fonts/RobotoSlab-Regular.ttf -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/fonts/RobotoSlab-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/fonts/RobotoSlab-Thin.ttf -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/js/doctools.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/js/doctools.js -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/logo.png -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/static/slack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/ngraph_theme/static/slack.png -------------------------------------------------------------------------------- /doc/sphinx/ngraph_theme/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = css/theme.css 4 | 5 | [options] 6 | typekit_id = hiw1hhg 7 | analytics_id = 8 | sticky_navigation = True 9 | logo_only = 10 | collapse_navigation = False 11 | display_version = True 12 | use_bower = False 13 | -------------------------------------------------------------------------------- /doc/sphinx/source/_templates/autosummary/module.rst: -------------------------------------------------------------------------------- 1 | {{ fullname | escape | underline}} 2 | 3 | .. automodule:: {{ fullname }} 4 | 5 | {% block functions %} 6 | {% if functions %} 7 | 8 | .. rubric:: Functions 9 | 10 | .. autosummary:: 11 | :nosignatures: 12 | {% for item in functions %} 13 | {{ item }} 14 | {%- endfor %} 15 | {% endif %} 16 | {% endblock %} 17 | 18 | 19 | {% block classes %} 20 | {% if classes %} 21 | 22 | .. rubric:: Classes 23 | 24 | .. autosummary:: 25 | :nosignatures: 26 | {% for item in classes %} 27 | {{ item }} 28 | {%- endfor %} 29 | {% endif %} 30 | {% endblock %} 31 | 32 | 33 | {% block exceptions %} 34 | {% if exceptions %} 35 | 36 | .. rubric:: Exceptions 37 | 38 | .. autosummary:: 39 | :nosignatures: 40 | {% for item in exceptions %} 41 | {{ item }} 42 | {%- endfor %} 43 | {% endif %} 44 | {% endblock %} 45 | -------------------------------------------------------------------------------- /doc/sphinx/source/_templates/format_release_notes.rst: -------------------------------------------------------------------------------- 1 | format_release_notes.rst 2 | 3 | 4 | Release Notes 5 | ############# 6 | 7 | 8 | This is the `Release Notes` template for latest nGraph Compiler stack 9 | release versioning. 10 | 11 | We are pleased to announce the release of version |version|. 12 | 13 | 14 | What's new? 15 | ----------- 16 | 17 | Additional functionality included with this release: 18 | 19 | 20 | 21 | 22 | What's updated? 23 | --------------- 24 | 25 | The following sections provide detailed lists of major updates/removals 26 | by component: 27 | 28 | 29 | Core 30 | ~~~~ 31 | 32 | 33 | 34 | Frameworks 35 | ~~~~~~~~~~ 36 | 37 | 38 | 39 | Backends 40 | ~~~~~~~~ 41 | 42 | 43 | 44 | Visualization Tools 45 | ~~~~~~~~~~~~~~~~~~~ 46 | 47 | 48 | 49 | Other 50 | ~~~~~ 51 | 52 | 53 | -------------------------------------------------------------------------------- /doc/sphinx/source/backends/backend-api/index.rst: -------------------------------------------------------------------------------- 1 | .. backends/backend-api/index.rst: 2 | 3 | 4 | .. _backend_api_macros: 5 | 6 | Backend APIs 7 | ############ 8 | 9 | Each backend ``BACKEND`` needs to define the macro ``${BACKEND}_API`` 10 | appropriately to import symbols referenced from outside the library, 11 | and to export them from within the library. See any of the 12 | ``${backend}_backend_visibility`` header files for an example; see 13 | also :ref:`what_is_backend` 14 | -------------------------------------------------------------------------------- /doc/sphinx/source/backends/cpp-api.rst: -------------------------------------------------------------------------------- 1 | .. backends/cpp-api.rst: 2 | 3 | Backend APIs 4 | ############ 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | backend-api/index 10 | dynamicbackend-api/index 11 | plaidml-ng-api/index 12 | 13 | 14 | As of version ``0.15``, there is a new backend API to work with functions that 15 | can be compiled as a runtime ``Executable``. Where previously ``Backend`` used a 16 | ``shared_ptr`` as the handle passed to the ``call`` method to execute 17 | a compiled object, the addition of the ``shared_ptr`` object has 18 | more direct methods to actions such as ``validate``, ``call``, ``get_performance_data``, 19 | and so on. This new API permits any executable to be saved or loaded *into* or 20 | *out of* storage and makes it easier to distinguish when a Function is compiled, 21 | thus making the internals of the ``Backend`` and ``Executable`` easier to 22 | implement. 23 | -------------------------------------------------------------------------------- /doc/sphinx/source/backends/dynamicbackend-api/index.rst: -------------------------------------------------------------------------------- 1 | .. backends/hosttensor-api/index.rst: 2 | 3 | 4 | DynamicBackend 5 | ============== 6 | 7 | .. doxygenclass:: ngraph::runtime::dynamic::DynamicBackend 8 | :project: ngraph 9 | :members: 10 | -------------------------------------------------------------------------------- /doc/sphinx/source/core/constructing-graphs/operator.rst: -------------------------------------------------------------------------------- 1 | .. operator.rst 2 | 3 | ############################ 4 | Build a graph with operators 5 | ############################ 6 | 7 | This section illustrates the use of C++ operators to simplify the 8 | building of graphs. 9 | 10 | Several C++ operators are overloaded to simplify graph construction. 11 | For example, the following: 12 | 13 | .. literalinclude:: ../../../../examples/abc/abc.cpp 14 | :language: cpp 15 | :lines: 32-32 16 | 17 | can be simplified to: 18 | 19 | .. literalinclude:: ../../../../examples/abc_operator/abc_operator.cpp 20 | :language: cpp 21 | :lines: 31 22 | 23 | The expression ``a + b`` is equivalent to 24 | ``std::make_shared(a, b)`` and the ``*`` operator similarly 25 | returns ``std::make_shared`` to its arguments. 26 | -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/cat.jpg -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/fusion_pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/fusion_pattern.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr1_graph1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr1_graph1.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr1_graph2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr1_graph2.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr1_graph3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr1_graph3.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr1_graph4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr1_graph4.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr1_graph5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr1_graph5.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr1_pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr1_pattern.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr1_pattern2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr1_pattern2.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr2_graph1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr2_graph1.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr2_graph2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr2_graph2.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr2_graph3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr2_graph3.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/pr2_pattern2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/pr2_pattern2.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/rp_graph1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/rp_graph1.png -------------------------------------------------------------------------------- /doc/sphinx/source/core/fusion/mg/rp_pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/core/fusion/mg/rp_pattern.png -------------------------------------------------------------------------------- /doc/sphinx/source/features.rst: -------------------------------------------------------------------------------- 1 | .. features.rst 2 | 3 | :orphan: 4 | 5 | .. _features: 6 | 7 | Features 8 | ======== 9 | 10 | What follows here are a few notable features of the nGraph Compiler stack. 11 | 12 | .. as well as a brief illustration or demonstration of that feature. 13 | 14 | * **Fusion** -- Fuse multiple ops to to decrease memory usage. 15 | * **Data layout abstraction** -- Make abstraction easier and faster with nGraph 16 | translating element order to work best for a given or available device. 17 | * **Data reuse** -- Save results and reuse for subgraphs with the same input. 18 | * **Graph scheduling** -- Run similar subgraphs in parallel via multi-threading. 19 | * **Graph partitioning** -- Partition subgraphs to run on different devices to 20 | speed up computation; make better use of spare CPU cycles with nGraph. 21 | * **Memory management** -- Prevent peak memory usage by intercepting a graph 22 | with or by a "saved checkpoint," and to enable data auditing. 23 | 24 | -------------------------------------------------------------------------------- /doc/sphinx/source/frameworks/index.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. frameworks/index.rst 4 | 5 | Working with Frameworks 6 | ####################### 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | overview.rst 12 | quickstart.rst 13 | onnx_integ.rst 14 | paddle_integ.rst 15 | tensorflow_connect.rst 16 | -------------------------------------------------------------------------------- /doc/sphinx/source/frameworks/tensorflow_connect.rst: -------------------------------------------------------------------------------- 1 | .. frameworks/tensorflow_connect.rst: 2 | 3 | TensorFlow\* 4 | ============ 5 | 6 | 7 | See the `README`_ on the `ngraph_bridge repo`_ for the many ways to connect 8 | Tensorflow to nGraph, enabling a `DSO`_ backend that can speed up your TensorFlow 9 | training and inference workloads. 10 | 11 | 12 | .. _README: https://github.com/tensorflow/ngraph-bridge/blob/master/README.md 13 | .. _ngraph_bridge repo: https://github.com/tensorflow/ngraph-bridge 14 | .. _DSO: http://csweb.cs.wfu.edu/%7Etorgerse/Kokua/More_SGI/007-2360-010/sgi_html/ch03.html 15 | -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/algebraic-simpl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/algebraic-simpl.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/arch_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/arch_complex.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/arch_simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/arch_simple.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/arch_simple_pad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/arch_simple_pad.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/bridge-to-graph-compiler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/bridge-to-graph-compiler.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/bridge-to-graph-compiler.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/bridge-to-graph-compiler.xcf -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/classngraph_patternmatcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/classngraph_patternmatcher.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/classngraph_tensor_descriptor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/classngraph_tensor_descriptor.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/components-dl-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/components-dl-stack.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/core-fusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/core-fusion.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/favicon.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/favicon.xcf -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/framework-to-graph-opt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/framework-to-graph-opt.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/framework-to-kernel-lib.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/framework-to-kernel-lib.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/full-ngstck-updated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/full-ngstck-updated.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/full-ngstck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/full-ngstck.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/full-ngstck.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/full-ngstck.xcf -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/graph-compilers-at-a-glance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/graph-compilers-at-a-glance.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/intro_graph_optimization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/intro_graph_optimization.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/intro_kernel_explosion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/intro_kernel_explosion.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/intro_kernels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/intro_kernels.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/kernel-problem-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/kernel-problem-1.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/kernel-problem-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/kernel-problem-2.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/kernel-problem-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/kernel-problem-3.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/main_diagram_fw_hw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/main_diagram_fw_hw.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/mobilenet-group-conv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/mobilenet-group-conv.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/nGraphCompilerstack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/nGraphCompilerstack.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/nGraph_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/nGraph_main.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/nGraph_mask_1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/nGraph_mask_1-1.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngcompiler-ecosystem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngcompiler-ecosystem.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngcompiler-ecosystem.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngcompiler-ecosystem.xcf -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngpipelines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngpipelines.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph-algebraic-simp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph-algebraic-simp.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph-mxnet-models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph-mxnet-models.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph_arch_diag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph_arch_diag.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph_full_stack_diagrams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph_full_stack_diagrams.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph_header.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph_logo_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph_logo_header.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph_logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph_logo_small.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph_logo_smallest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph_logo_smallest.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph_wireframes_with_notice.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph_wireframes_with_notice.xcf -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/ngraph_wireframes_with_notice_updated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/ngraph_wireframes_with_notice_updated.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/paddlepaddle_directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/paddlepaddle_directory.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/passes-to-graph-rewrite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/passes-to-graph-rewrite.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/readme_stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/readme_stack.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/slack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/slack.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/stackngrknl-notice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/stackngrknl-notice.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/stackngrknl.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/stackngrknl.xcf -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/tablengraphops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/tablengraphops.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/tensor-compilers-at-a-glance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/tensor-compilers-at-a-glance.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/translation-flow-to-ng-fofx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/translation-flow-to-ng-fofx.png -------------------------------------------------------------------------------- /doc/sphinx/source/graphics/whole-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/doc/sphinx/source/graphics/whole-stack.png -------------------------------------------------------------------------------- /doc/sphinx/source/inspection/debug_onnx.rst: -------------------------------------------------------------------------------- 1 | .. inspection/debug_onnx: 2 | 3 | .. _debug_onnx: 4 | 5 | Debug ONNX 6 | ========== 7 | 8 | .. note:: These flags are all disabled by default 9 | 10 | .. csv-table:: 11 | :header: "Flag", "Description" 12 | :widths: 20, 35 13 | :escape: ~ 14 | 15 | ``ONNXRUNTIME_NGRAPH_DUMP_OPS``, Dumps ONNX ops 16 | ``ONNXRUNTIME_NGRAPH_LRU_CACHE_SIZE``, Modify LRU cache size (``NGRAPH_EP_LRU_CACHE_DEFAULT_SIZE 500``) -------------------------------------------------------------------------------- /doc/sphinx/source/inspection/debug_paddle.rst: -------------------------------------------------------------------------------- 1 | .. inspection/debug_paddle.rst: 2 | 3 | .. _debug_paddle: 4 | 5 | Debug PaddlePaddle\* 6 | ==================== 7 | 8 | PaddlePaddle has its `own env vars`_. 9 | 10 | 11 | 12 | .. _own env vars: https://github.com/PaddlePaddle/Paddle/blob/cdd46d7e022add8de56995e681fa807982b02124/python/paddle/fluid/__init__.py#L161-L227 -------------------------------------------------------------------------------- /doc/sphinx/source/inspection/index.rst: -------------------------------------------------------------------------------- 1 | .. inspection/index: 2 | 3 | :orphan: 4 | 5 | .. _inspection: 6 | 7 | Debug Tools 8 | ########### 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | debug_core.rst 14 | debug_tf.rst 15 | debug_onnx.rst 16 | debug_paddle.rst 17 | viz_tools.rst 18 | profiling.rst 19 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/arg_max.rst: -------------------------------------------------------------------------------- 1 | .. arg_max.rst: 2 | 3 | ####### 4 | ArgMax 5 | ####### 6 | 7 | .. code-block:: cpp 8 | 9 | ArgMax // Argmax 10 | 11 | 12 | C++ Interface 13 | ============= 14 | 15 | .. doxygenclass:: ngraph::op::v0::ArgMax 16 | :project: ngraph 17 | :members: 18 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/arg_min.rst: -------------------------------------------------------------------------------- 1 | .. arg_min.rst: 2 | 3 | ####### 4 | ArgMin 5 | ####### 6 | 7 | .. code-block:: cpp 8 | 9 | ArgMin // Argmin 10 | 11 | 12 | 13 | C++ Interface 14 | ============= 15 | 16 | 17 | C++ Interface 18 | ============= 19 | 20 | .. doxygenclass:: ngraph::op::v0::ArgMin 21 | :project: ngraph 22 | :members: 23 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/avg_pool_backprop.rst: -------------------------------------------------------------------------------- 1 | .. avg_pool_backprop.rst: 2 | 3 | ############### 4 | AvgPoolBackprop 5 | ############### 6 | 7 | .. code-block:: cpp 8 | 9 | AvgPoolBackprop // Average Pooling backprop operation. 10 | 11 | 12 | Description 13 | =========== 14 | 15 | 16 | 17 | C++ Interface 18 | ============= 19 | 20 | .. doxygenclass:: ngraph::op::v0::AvgPoolBackprop 21 | :project: ngraph 22 | :members: 23 | 24 | Python Interface 25 | ================ 26 | 27 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/checklist.txt: -------------------------------------------------------------------------------- 1 | checklist.txt 2 | 3 | 1. Add classes for the op to src/ngraph/op 4 | 2. Add the op to src/ngraph/op/op_tbl.hpp 5 | 3. Add a reference kernel to src/runtime/reference 6 | 4. Add a call to the reference kernel to src/interpreter/int_backend.hpp 7 | 5. Add the header for the op class to src/ngraph/ngraph.hpp 8 | 6. Add serializer *and* deserializer support to src/ngraph/serializer.cpp 9 | 7. Add type propagation tests to test/type_prop.cpp 10 | 8. Add execution tests to test/backend_test.in.cpp 11 | 9. Update unit test manifests for non-INTERPRETER backends (CPU, GPU, INTELGPU) to exclude your new execution tests 12 | (Or, if you know what you're doing, update those backends to support your new op.) 13 | 10. Add .rst files documenting the op to doc/sphinx/source/ops 14 | 11. Add links to your new doc files to doc/sphinx/source/ops/index.rst -------------------------------------------------------------------------------- /doc/sphinx/source/ops/drop_out.rst: -------------------------------------------------------------------------------- 1 | .. unsqueeze.rst: 2 | 3 | ######### 4 | Unsqueeze 5 | ######### 6 | 7 | .. code-block:: cpp 8 | 9 | Unsqueeze // Unsqueeze 10 | 11 | 12 | 13 | 14 | C++ Interface 15 | ============= 16 | 17 | .. doxygenclass:: ngraph::op::v0::Unsqueeze 18 | :project: ngraph 19 | :members: 20 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/tensor_iterator.rst: -------------------------------------------------------------------------------- 1 | .. tensor_iterator.rst: 2 | 3 | ############## 4 | TensorIterator 5 | ############## 6 | 7 | 8 | `v0` C++ Interface 9 | =================== 10 | 11 | .. doxygenclass:: ngraph::op::v0::TensorIterator 12 | :project: ngraph 13 | :members: 14 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/tile.rst: -------------------------------------------------------------------------------- 1 | .. tile.rst: 2 | 3 | #### 4 | Tile 5 | #### 6 | 7 | .. code-block:: cpp 8 | 9 | Tile // Tile 10 | 11 | 12 | `v0` C++ Interface 13 | =================== 14 | 15 | .. doxygenclass:: ngraph::op::v0::Tile 16 | :project: ngraph 17 | :members: 18 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/topk.rst: -------------------------------------------------------------------------------- 1 | .. topk.rst: 2 | 3 | #### 4 | TopK 5 | #### 6 | 7 | .. code-block:: cpp 8 | 9 | TopK // TopK 10 | 11 | 12 | `v0` C++ Interface 13 | =================== 14 | 15 | .. doxygenclass:: ngraph::op::v0::TopK 16 | :project: ngraph 17 | :members: 18 | 19 | 20 | 21 | `v1` C++ Interface 22 | =================== 23 | 24 | .. doxygenclass:: ngraph::op::v1::TopK 25 | :project: ngraph 26 | :members: 27 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/unsqueeze.rst: -------------------------------------------------------------------------------- 1 | .. unsqueeze.rst: 2 | 3 | ######### 4 | Unsqueeze 5 | ######### 6 | 7 | .. code-block:: cpp 8 | 9 | Unsqueeze // Unsqueeze 10 | 11 | 12 | C++ Interface 13 | ============= 14 | 15 | .. doxygenclass:: ngraph::op::v0::Unsqueeze 16 | :project: ngraph 17 | :members: 18 | -------------------------------------------------------------------------------- /doc/sphinx/source/ops/variadic_split.rst: -------------------------------------------------------------------------------- 1 | .. variadic_split.rst: 2 | 3 | ############# 4 | VariadicSplit 5 | ############# 6 | 7 | .. code-block:: cpp 8 | 9 | VariadicSplit // VariadicSplit 10 | 11 | 12 | C++ Interface 13 | ============= 14 | 15 | .. doxygenclass:: ngraph::op::v1::VariadicSplit 16 | :project: ngraph 17 | :members: 18 | -------------------------------------------------------------------------------- /doc/sphinx/source/project/extras/homomorphic_encryption.rst: -------------------------------------------------------------------------------- 1 | .. project/extras/homomorphic_encryption.rst: 2 | 3 | Homomorphic Encryption (HE) 4 | =========================== 5 | 6 | * **Encryption with Intel® HE transformer for nGraph™** 7 | 8 | * `Blog post`_ 9 | * `Examples`_ 10 | 11 | .. note:: Some implementations using TensorFlow* may also work with the 12 | `nGraph Bridge repo`_ if older versions of ``ngraph-tf`` are not 13 | available. 14 | 15 | .. figure:: ../../graphics/nGraph_mask_1-1.png 16 | :alt: nGraph HE logo 17 | :width: 200px 18 | 19 | The Intel Homomorphic Encryption (HE) transformer for nGraph 20 | enables deep learning on encrypted data using homomorphic 21 | encryption. 22 | 23 | .. _Blog post: https://www.intel.ai/he-transformer-for-ngraph-enabling-deep-learning-on-encrypted-data/ 24 | .. _examples: https://github.com/NervanaSystems/he-transformer#examples 25 | .. _nGraph Bridge repo: https://github.com/tensorflow/ngraph-bridge 26 | -------------------------------------------------------------------------------- /doc/sphinx/source/project/extras/index.rst: -------------------------------------------------------------------------------- 1 | .. project/extras/index.rst 2 | 3 | ####### 4 | Extras 5 | ####### 6 | 7 | 8 | This section contains extra tools and tips for working with 9 | previously-tested, or up-and-coming features of the nGraph 10 | Compiler stack. 11 | 12 | 13 | .. toctree:: 14 | :maxdepth: 1 15 | 16 | homomorphic_encryption.rst 17 | distributed_training.rst 18 | testing_latency.rst 19 | -------------------------------------------------------------------------------- /doc/sphinx/source/project/governance.rst: -------------------------------------------------------------------------------- 1 | .. governance: 2 | 3 | :orphan: 4 | 5 | 6 | Governance 7 | ########## -------------------------------------------------------------------------------- /doc/sphinx/source/project/index.rst: -------------------------------------------------------------------------------- 1 | .. project/index: 2 | 3 | ################# 4 | More about nGraph 5 | ################# 6 | 7 | This section contains documentation about the project and how to contribute. 8 | 9 | 10 | .. toctree:: 11 | :maxdepth: 2 12 | 13 | contribution-guide.rst 14 | governance.rst 15 | -------------------------------------------------------------------------------- /doc/sphinx/source/provenance/index.rst: -------------------------------------------------------------------------------- 1 | .. provenance/index.rst 2 | 3 | Provenance 4 | ########## 5 | 6 | 7 | .. include:: overview.rst 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | 12 | .. other.rst -------------------------------------------------------------------------------- /doc/sphinx/source/python_api/_autosummary/ngraph.exceptions.rst: -------------------------------------------------------------------------------- 1 | ngraph.exceptions 2 | ================= 3 | 4 | .. automodule:: ngraph.exceptions 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | .. rubric:: Exceptions 20 | 21 | .. autosummary:: 22 | :nosignatures: 23 | 24 | NgraphError 25 | NgraphTypeError 26 | UserInputError 27 | 28 | -------------------------------------------------------------------------------- /doc/sphinx/source/python_api/_autosummary/ngraph.rst: -------------------------------------------------------------------------------- 1 | ngraph package 2 | ============== 3 | 4 | .. automodule:: ngraph 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | 9 | Submodules 10 | ---------- 11 | 12 | ngraph.exceptions module 13 | ------------------------ 14 | 15 | .. automodule:: ngraph.exceptions 16 | :members: 17 | :undoc-members: 18 | :show-inheritance: 19 | 20 | ngraph.ops module 21 | ----------------- 22 | 23 | .. automodule:: ngraph.ops 24 | :members: 25 | :undoc-members: 26 | :show-inheritance: 27 | 28 | ngraph.runtime module 29 | --------------------- 30 | 31 | .. automodule:: ngraph.runtime 32 | :members: 33 | :undoc-members: 34 | :show-inheritance: 35 | 36 | 37 | -------------------------------------------------------------------------------- /doc/sphinx/source/python_api/_autosummary/ngraph.runtime.rst: -------------------------------------------------------------------------------- 1 | ============== 2 | ngraph.runtime 3 | ============== 4 | 5 | .. automodule:: ngraph.runtime 6 | 7 | .. rubric:: Functions 8 | 9 | .. autosummary:: 10 | :nosignatures: 11 | 12 | runtime 13 | 14 | .. rubric:: Classes 15 | 16 | .. autosummary:: 17 | :nosignatures: 18 | 19 | Computation 20 | Runtime -------------------------------------------------------------------------------- /doc/sphinx/source/python_api/structure.rst: -------------------------------------------------------------------------------- 1 | ================== 2 | nGraph Python APIs 3 | ================== 4 | 5 | 6 | .. autosummary:: 7 | :toctree: _autosummary 8 | :nosignatures: 9 | 10 | ngraph 11 | ngraph.exceptions 12 | ngraph.ops 13 | ngraph.runtime -------------------------------------------------------------------------------- /doc/sphinx/source/training/data_ingest.rst: -------------------------------------------------------------------------------- 1 | .. training/data_ingest.rst: 2 | 3 | Data Ingestion 4 | ############## 5 | 6 | 7 | Using TensorFlow 8 | ---------------- 9 | 10 | .. include:: tf_dist.rst 11 | 12 | 13 | Using PaddlePaddle 14 | ------------------ 15 | 16 | .. include:: paddle_dist.rst 17 | 18 | 19 | Using a custom framework 20 | ------------------------ 21 | 22 | .. include:: ../core/constructing-graphs/distribute-train.rst 23 | 24 | To synchronize gradients across all workers, the essential operation for data 25 | parallel training, due to its simplicity and scalability over parameter servers, 26 | is ``allreduce``. The AllReduce op is one of the nGraph Library’s core ops. To 27 | enable gradient synchronization for a network, we simply inject the AllReduce op 28 | into the computation graph, connecting the graph for the autodiff computation 29 | and optimizer update (which then becomes part of the nGraph graph). The 30 | nGraph Backend will handle the rest. 31 | 32 | -------------------------------------------------------------------------------- /doc/sphinx/source/training/index.rst: -------------------------------------------------------------------------------- 1 | .. training/index.rst: 2 | 3 | .. _training: 4 | 5 | Distributed Training 6 | #################### 7 | 8 | .. important:: Distributed training for CPU backend is not supported. Distributed 9 | training support is provided only with the Intel® Nervana™ Neural Network 10 | Processor for Training (Intel® Nervana™ NNP-T). Run ``nnptool`` and see the 11 | system software for details. 12 | 13 | Distributed training with Docker/Kubernetes is available with Intel® Nervana™ 14 | Neural Network Processor for Training (Intel® Nervana™ NNP-T). See the User 15 | Guide for details. 16 | 17 | .. include:: overview.rst 18 | 19 | .. toctree:: 20 | :maxdepth: 1 21 | 22 | data_ingest.rst 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /doc/sphinx/source/training/paddle_dist.rst: -------------------------------------------------------------------------------- 1 | .. training/paddle_dist.rst: 2 | 3 | Distributed Training with PaddlePaddle 4 | ====================================== 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /doc/sphinx/source/training/tf_dist.rst: -------------------------------------------------------------------------------- 1 | .. training/tf_dist.rst: 2 | 3 | Distributed Training with TensorFlow 4 | ==================================== 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /licenses/notifications.txt: -------------------------------------------------------------------------------- 1 | The MPL 2.0 license used by the eigen library used by this ngraph core 2 | component requires distribution of the following information: 3 | 4 | Eigen source code can be viewed or downloaded from here: 5 | http://eigen.tuxfamily.org 6 | -------------------------------------------------------------------------------- /maint/external-prereq-packages.ubuntu-16.04.txt: -------------------------------------------------------------------------------- 1 | # Required to build the main components of nGraph-C++ 2 | build-essential 3 | cmake 4 | git 5 | 6 | # Required to build the documentation of nGraph-C++ 7 | doxygen 8 | sphinx-build 9 | 10 | -------------------------------------------------------------------------------- /python/requirements.txt: -------------------------------------------------------------------------------- 1 | six 2 | numpy==1.15.4; python_version == "3.4" 3 | numpy; python_version != "3.4" 4 | typing 5 | -------------------------------------------------------------------------------- /python/src/ngraph/impl/onnx_import/__init__.py: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | """ 17 | Package: ngraph 18 | Low level wrappers for the nGraph c++ api in ngraph::onnx_import. 19 | """ 20 | 21 | # flake8: noqa 22 | 23 | from _pyngraph import import_onnx_model 24 | from _pyngraph import import_onnx_model_file 25 | -------------------------------------------------------------------------------- /python/src/ngraph/impl/passes/__init__.py: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | # flake8: noqa 17 | 18 | from _pyngraph.passes import Manager 19 | -------------------------------------------------------------------------------- /python/src/ngraph/impl/runtime/__init__.py: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | # flake8: noqa 17 | 18 | from _pyngraph.runtime import Backend 19 | from _pyngraph.runtime import Executable 20 | from _pyngraph.runtime import Tensor 21 | -------------------------------------------------------------------------------- /python/src/ngraph/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | """Generic utilities. Factor related functions out to separate files.""" 17 | -------------------------------------------------------------------------------- /python/src/pyngraph/axis_set.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_AxisSet(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/axis_vector.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_AxisVector(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/coordinate.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_Coordinate(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/coordinate_diff.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_CoordinateDiff(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/dimension.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_Dimension(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/function.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_Function(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/node.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_Node(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/node_factory.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_NodeFactory(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/onnx_import/onnx_import.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | #if defined(NGRAPH_ONNX_IMPORT_ENABLE) 19 | 20 | #include 21 | 22 | namespace py = pybind11; 23 | 24 | void regmodule_pyngraph_onnx_import(py::module m); 25 | #endif 26 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/constant.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_Constant(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/op.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_Op(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/parameter.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_Parameter(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/result.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_Result(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/util/arithmetic_reduction.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_util_ArithmeticReduction(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/util/binary_elementwise_arithmetic.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_util_BinaryElementwiseArithmetic(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/util/binary_elementwise_comparison.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_util_BinaryElementwiseComparison(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/util/binary_elementwise_logical.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_util_BinaryElementwiseLogical(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/util/index_reduction.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_util_IndexReduction(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/util/op_annotations.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_util_OpAnnotations(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/ops/util/unary_elementwise_arithmetic.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_op_util_UnaryElementwiseArithmetic(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/output.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_Output(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/partial_shape.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_PartialShape(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/passes/manager.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_passes_Manager(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/passes/regmodule_pyngraph_passes.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | #include "pyngraph/passes/manager.hpp" 21 | 22 | namespace py = pybind11; 23 | 24 | void regmodule_pyngraph_passes(py::module m); 25 | -------------------------------------------------------------------------------- /python/src/pyngraph/runtime/backend.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_runtime_Backend(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/runtime/executable.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_runtime_Executable(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/runtime/tensor.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_runtime_Tensor(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/serializer.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_Serializer(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/shape.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_Shape(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/strides.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_Strides(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/types/regmodule_pyngraph_types.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | #include "pyngraph/types/element_type.hpp" 22 | 23 | namespace py = pybind11; 24 | 25 | void regmodule_pyngraph_types(py::module m); 26 | -------------------------------------------------------------------------------- /python/src/pyngraph/types/type.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regclass_pyngraph_TensorViewType(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/util.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | namespace py = pybind11; 22 | 23 | void regmodule_pyngraph_util(py::module m); 24 | -------------------------------------------------------------------------------- /python/src/pyngraph/util.py: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | # flake8: noqa 17 | 18 | from _pyngraph import util 19 | 20 | numpy_to_c = util.numpy_to_c 21 | -------------------------------------------------------------------------------- /python/test/__init__.py: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | # test.BACKEND_NAME is a configuration variable determining which 18 | # nGraph backend tests will use. It's set during pytest configuration time. 19 | # See `pytest_configure` hook in `conftest.py` for more details. 20 | BACKEND_NAME = None 21 | -------------------------------------------------------------------------------- /python/test/ngraph/__init__.py: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | -------------------------------------------------------------------------------- /python/test/ngraph/models/add_abc.onnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/python/test/ngraph/models/add_abc.onnx -------------------------------------------------------------------------------- /python/test_requirements.txt: -------------------------------------------------------------------------------- 1 | flake8 2 | flake8-comprehensions 3 | flake8-docstrings 4 | flake8-quotes 5 | pydocstyle 6 | pytest 7 | tox 8 | wheel 9 | zipp==0.5.0 10 | -------------------------------------------------------------------------------- /src/contrib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | add_subdirectory(mlir) 18 | -------------------------------------------------------------------------------- /src/contrib/mlir/.clang-format: -------------------------------------------------------------------------------- 1 | # This is the MLIR style but will use ngraph style while in ngraph repo 2 | # BasedOnStyle: LLVM 3 | -------------------------------------------------------------------------------- /src/ngraph/assertion.cpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/assertion.hpp" 18 | 19 | const char* ngraph::AssertionFailure::what() const noexcept 20 | { 21 | return m_what.c_str(); 22 | } 23 | -------------------------------------------------------------------------------- /src/ngraph/frontend/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | if (NGRAPH_ONNX_IMPORT_ENABLE) 18 | add_subdirectory(onnx_import) 19 | endif() 20 | -------------------------------------------------------------------------------- /src/ngraph/frontend/onnx_import/default_opset.hpp: -------------------------------------------------------------------------------- 1 | #include "ngraph/opset/opset3.hpp" 2 | 3 | namespace ngraph 4 | { 5 | namespace onnx_import 6 | { 7 | namespace default_opset = ngraph::opset3; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/ctc_greedy_decoder.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/ctc_greedy_decoder.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/detection_output.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/detection_output.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/interpolate.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/interpolate.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/prior_box.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/prior_box.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/prior_box_clustered.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/prior_box_clustered.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/proposal.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/proposal.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/psroi_pooling.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/psroi_pooling.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/region_yolo.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/region_yolo.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/reorg_yolo.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/reorg_yolo.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/layers/roi_pooling.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/roi_pooling.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/range.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/range.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/shape_of.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/shape_of.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/tile.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/tile.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/experimental/transpose.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/op/transpose.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/op/util/eval_copy.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #define COPY_TENSOR(a) \ 20 | case element::Type_t::a: rc = copy_tensor 21 | -------------------------------------------------------------------------------- /src/ngraph/opset/opset0.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include "ngraph/ops.hpp" 20 | 21 | namespace ngraph 22 | { 23 | namespace opset0 24 | { 25 | #define NGRAPH_OP(a, b) using b::a; 26 | #include "ngraph/opset/opset0_tbl.hpp" 27 | #undef NGRAPH_OP 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/ngraph/opset/opset1.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include "ngraph/ops.hpp" 20 | 21 | namespace ngraph 22 | { 23 | namespace opset1 24 | { 25 | #define NGRAPH_OP(a, b) using b::a; 26 | #include "ngraph/opset/opset1_tbl.hpp" 27 | #undef NGRAPH_OP 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/ngraph/opset/opset3.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include "ngraph/ops.hpp" 20 | 21 | namespace ngraph 22 | { 23 | namespace opset3 24 | { 25 | #define NGRAPH_OP(a, b) using b::a; 26 | #include "ngraph/opset/opset3_tbl.hpp" 27 | #undef NGRAPH_OP 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/ngraph/opset/opset_orphans.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include "ngraph/ops.hpp" 20 | 21 | namespace ngraph 22 | { 23 | namespace opset_orphans 24 | { 25 | #define NGRAPH_OP(a, b) using b::a; 26 | #include "ngraph/opset/opset4_tbl.hpp" 27 | #undef NGRAPH_OP 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/ngraph/opset/opset_orphans_tbl.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | NGRAPH_OP(Acosh, ngraph::op::v3) 18 | NGRAPH_OP(Asinh, ngraph::op::v3) 19 | NGRAPH_OP(Atanh, ngraph::op::v3) 20 | NGRAPH_OP(Interpolate, ngraph::op::v3) 21 | -------------------------------------------------------------------------------- /src/ngraph/provenance.cpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include 18 | 19 | #include "provenance.hpp" 20 | 21 | namespace ngraph 22 | { 23 | void set_provenance_enabled(bool enabled) { s_provenance_enabled = enabled; } 24 | bool get_provenance_enabled() { return s_provenance_enabled; } 25 | } 26 | -------------------------------------------------------------------------------- /src/ngraph/runtime/cpu/cpu_kernels.cpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/runtime/cpu/cpu_kernels.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/runtime/cpu/static_initialize.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | namespace ngraph 20 | { 21 | namespace runtime 22 | { 23 | namespace cpu 24 | { 25 | void static_initialize(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/ngraph/runtime/eval/eval_backend_visibility.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/visibility.hpp" 18 | 19 | #ifdef EVAL_BACKEND_DLL_EXPORTS 20 | #define EVAL_BACKEND_API NGRAPH_HELPER_DLL_EXPORT 21 | #else 22 | #define EVAL_BACKEND_API NGRAPH_HELPER_DLL_IMPORT 23 | #endif 24 | -------------------------------------------------------------------------------- /src/ngraph/runtime/gcpu/unit_test.manifest: -------------------------------------------------------------------------------- 1 | tile_3d_small_data_rank 2 | tile_3d_few_repeats 3 | fake_quantize_pdpd 4 | convert_float32_bf16 5 | convert_bf16_float32 6 | 7 | onnx_model_quant_conv_linear 8 | onnx_top_k_opset_10 9 | onnx_dyn_shapes_slice_10_3d_input_12_axes 10 | 11 | # Need use evaluate, only applicable to INTERPRETER 12 | non_zero 13 | non_zero_all_1s 14 | non_zero_all_0s 15 | 16 | unhandled_op 17 | -------------------------------------------------------------------------------- /src/ngraph/state/uniform_rng_state.cpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/state/uniform_rng_state.hpp" 18 | -------------------------------------------------------------------------------- /src/ngraph/variant.cpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/variant.hpp" 18 | 19 | using namespace ngraph; 20 | 21 | // Define variant for std::string 22 | constexpr VariantTypeInfo VariantWrapper::type_info; 23 | constexpr VariantTypeInfo VariantWrapper::type_info; 24 | -------------------------------------------------------------------------------- /src/ngraph/version.in.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | const char* NGRAPH_VERSION_NUMBER = "${NGRAPH_VERSION}"; 18 | -------------------------------------------------------------------------------- /src/resource/header_rewrite.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include 18 | 19 | const std::string rewrite_header(const std::string& s, const std::string& path); 20 | -------------------------------------------------------------------------------- /src/resource/uncomment.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | #include 20 | 21 | std::string uncomment(const std::string& s); 22 | -------------------------------------------------------------------------------- /src/runtime/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | if (NGRAPH_GPU_ENABLE) 18 | add_subdirectory(gpu) 19 | endif() 20 | 21 | if (NGRAPH_NOP_ENABLE) 22 | add_subdirectory(nop) 23 | endif() 24 | -------------------------------------------------------------------------------- /src/runtime/gpu/nvcc/kernels.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #pragma once 18 | 19 | namespace ngraph 20 | { 21 | namespace runtime 22 | { 23 | namespace gpu 24 | { 25 | void example_kernel(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/runtime/gpu/op/op_tbl.hpp: -------------------------------------------------------------------------------- 1 | //***************************************************************************** 2 | // Copyright 2017-2020 Intel Corporation 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | //***************************************************************************** 16 | 17 | #include "ngraph/opset/opset0_tbl.hpp" 18 | #if CUDNN_VERSION >= 7200 19 | NGRAPH_OP(Rnn, ngraph::op::gpu) 20 | #endif 21 | NGRAPH_OP(BatchNormTrainingWithStats, ngraph::op::gpu) 22 | -------------------------------------------------------------------------------- /src/tools/reserialize/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | add_executable(reserialize reserialize.cpp) 18 | add_dependencies(reserialize ngraph) 19 | target_link_libraries(reserialize ngraph) 20 | -------------------------------------------------------------------------------- /src/tools/serialize_onnx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ****************************************************************************** 2 | # Copyright 2017-2020 Intel Corporation 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ****************************************************************************** 16 | 17 | add_executable(serialize_onnx serialize_onnx.cpp) 18 | add_dependencies(serialize_onnx ngraph) 19 | target_link_libraries(serialize_onnx ngraph onnx_importer) 20 | 21 | install(TARGETS serialize_onnx RUNTIME DESTINATION ${NGRAPH_INSTALL_BIN}) 22 | -------------------------------------------------------------------------------- /test/files/onnx/convtranspose_output_shape/w.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/files/onnx/convtranspose_output_shape/w.bin -------------------------------------------------------------------------------- /test/files/onnx/convtranspose_output_shape/x.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/files/onnx/convtranspose_output_shape/x.bin -------------------------------------------------------------------------------- /test/files/onnx/convtranspose_output_shape/y.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/files/onnx/convtranspose_output_shape/y.bin -------------------------------------------------------------------------------- /test/files/onnx/qlinearconv2d/x.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/files/onnx/qlinearconv2d/x.bin -------------------------------------------------------------------------------- /test/files/onnx/qlinearconv2d/y.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/files/onnx/qlinearconv2d/y.bin -------------------------------------------------------------------------------- /test/files/onnx/qlinearconv3d/x.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/files/onnx/qlinearconv3d/x.bin -------------------------------------------------------------------------------- /test/files/onnx/qlinearconv3d/y.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/files/onnx/qlinearconv3d/y.bin -------------------------------------------------------------------------------- /test/files/test.cpio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/files/test.cpio -------------------------------------------------------------------------------- /test/mlir/affine_conversion/bare_ptr_call_conv.mlir: -------------------------------------------------------------------------------- 1 | // RUN: ngraph-opt %s -convert-ngraph-to-affine -ngraph-bare-ptr-memref-lowering -split-input-file | FileCheck %s --check-prefix=BARE-PTR-CC 2 | // RUN: ngraph-opt %s -convert-ngraph-to-affine -split-input-file | FileCheck %s --check-prefix=STD-CC 3 | 4 | // Tests related to the bare pointer calling convention. 5 | 6 | // Verify that the `noalias` attribute is generated when the bare pointer calling 7 | // convention is used but not with the standard calling convention. 8 | func @noalias_attribute(%arg0: !ng.tensor<16x!ng.i64>, %arg1: !ng.tensor<512x32xf32>){ 9 | "ng.return"() : () -> () 10 | } 11 | // BARE-PTR-CC-LABEL: func @noalias_attribute 12 | // BARE-PTR-CC-SAME: %{{.*}}: memref<16xi64> {llvm.noalias = true} 13 | // BARE-PTR-CC-SAME: %{{.*}}: memref<512x32xf32> {llvm.noalias = true}) 14 | 15 | // STD-CC-LABEL: func @noalias_attribute 16 | // STD-CC-NOT: llvm.noalias 17 | -------------------------------------------------------------------------------- /test/models/mxnet/Graph_fprop_sigmoid.json: -------------------------------------------------------------------------------- 1 | [{"name":"Function_0","ops":[{"element_type":"float","inputs":[],"name":"Parameter_0","op":"Parameter","outputs":["Parameter_0_0"],"shape":[3,4]},{"element_type":"float","inputs":[],"name":"Constant_1","op":"Constant","outputs":["Constant_1_0"],"shape":[],"value":["1"]},{"inputs":["Parameter_0"],"name":"Negative_3","op":"Negative","outputs":["Negative_3_0"]},{"axes":[0,1],"inputs":["Constant_1"],"name":"Broadcast_2","op":"Broadcast","outputs":["Broadcast_2_0"],"shape":[3,4]},{"inputs":["Negative_3"],"name":"Exp_4","op":"Exp","outputs":["Exp_4_0"]},{"inputs":["Broadcast_2","Exp_4"],"name":"Add_5","op":"Add","outputs":["Add_5_0"]},{"inputs":["Broadcast_2","Add_5"],"name":"Divide_6","op":"Divide","outputs":["Divide_6_0"]}],"parameters":["Parameter_0"],"result":["Divide_6"]}] 2 | -------------------------------------------------------------------------------- /test/models/onnx/acosh.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Acosh" 8 | } 9 | name: "acosh_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 3 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 1 34 | } 35 | dim { 36 | dim_value: 3 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 9 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/add_abc.onnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NervanaSystems/ngraph/f677a119765ca30636cf407009dabd118664951f/test/models/onnx/add_abc.onnx -------------------------------------------------------------------------------- /test/models/onnx/argmin_no_keepdims.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "data" 6 | output: "result" 7 | op_type: "ArgMin" 8 | attribute { 9 | name: "axis" 10 | i: 1 11 | type: INT 12 | } 13 | attribute { 14 | name: "keepdims" 15 | i: 0 16 | type: INT 17 | } 18 | } 19 | name: "test_argmin_no_keepdims_example" 20 | input { 21 | name: "data" 22 | type { 23 | tensor_type { 24 | elem_type: 1 25 | shape { 26 | dim { 27 | dim_value: 2 28 | } 29 | dim { 30 | dim_value: 2 31 | } 32 | } 33 | } 34 | } 35 | } 36 | output { 37 | name: "result" 38 | type { 39 | tensor_type { 40 | elem_type: 7 41 | shape { 42 | dim { 43 | dim_value: 2 44 | } 45 | } 46 | } 47 | } 48 | } 49 | } 50 | opset_import { 51 | version: 8 52 | } 53 | -------------------------------------------------------------------------------- /test/models/onnx/asinh.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Asinh" 8 | } 9 | name: "asinh_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 3 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 1 34 | } 35 | dim { 36 | dim_value: 3 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 9 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/atanh.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Atanh" 8 | } 9 | name: "atanh_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 3 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 1 34 | } 35 | dim { 36 | dim_value: 3 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 9 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/bool_const_op.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | name: "test_graph" 5 | node { 6 | output: "A" 7 | op_type: "Constant" 8 | attribute { 9 | name: "value" 10 | t { 11 | dims: 2 12 | dims: 2 13 | data_type: 9 14 | int32_data: 1 15 | int32_data: 0 16 | int32_data: 0 17 | int32_data: 1 18 | name: "const_bool_tensor" 19 | } 20 | type: TENSOR 21 | } 22 | } 23 | output { 24 | name: "A" 25 | type { 26 | tensor_type { 27 | elem_type: 9 28 | shape { 29 | dim { 30 | dim_value: 2 31 | } 32 | dim { 33 | dim_value: 2 34 | } 35 | } 36 | } 37 | } 38 | } 39 | } 40 | opset_import { 41 | version: 4 42 | } 43 | -------------------------------------------------------------------------------- /test/models/onnx/bool_init_and.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | name: "test_graph" 5 | node { 6 | input: "A" 7 | input: "B" 8 | output: "Y" 9 | name: "node" 10 | op_type: "And" 11 | } 12 | initializer { 13 | data_type: 9 14 | name: "A" 15 | int32_data: 1 16 | } 17 | input { 18 | name: "A" 19 | type { 20 | tensor_type { 21 | elem_type: 9 22 | shape { 23 | } 24 | } 25 | } 26 | } 27 | initializer { 28 | data_type: 9 29 | name: "B" 30 | raw_data: "\001" 31 | } 32 | input { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 9 37 | shape { 38 | } 39 | } 40 | } 41 | } 42 | output { 43 | name: "Y" 44 | type { 45 | tensor_type { 46 | elem_type: 9 47 | shape { 48 | } 49 | } 50 | } 51 | } 52 | } 53 | opset_import { 54 | version: 4 55 | } 56 | -------------------------------------------------------------------------------- /test/models/onnx/bool_init_raw.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | name: "test_graph" 5 | initializer { 6 | dims: 1 7 | dims: 3 8 | data_type: 9 9 | name: "A" 10 | raw_data: "\001\000\001" 11 | } 12 | input { 13 | name: "A" 14 | type { 15 | tensor_type { 16 | elem_type: 9 17 | shape { 18 | dim { 19 | dim_value: 1 20 | } 21 | dim { 22 | dim_value: 3 23 | } 24 | } 25 | } 26 | } 27 | } 28 | output { 29 | name: "A" 30 | type { 31 | tensor_type { 32 | elem_type: 9 33 | shape { 34 | dim { 35 | dim_value: 1 36 | } 37 | dim { 38 | dim_value: 3 39 | } 40 | } 41 | } 42 | } 43 | } 44 | } 45 | opset_import { 46 | version: 4 47 | } 48 | -------------------------------------------------------------------------------- /test/models/onnx/cosh.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Cosh" 8 | } 9 | name: "cosh_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 3 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 1 34 | } 35 | dim { 36 | dim_value: 3 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 9 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/cum_sum_1d.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 5 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "CumSum" 8 | attribute { 9 | name: "exclusive" 10 | i: 0 11 | type: INT 12 | } 13 | attribute { 14 | name: "reverse" 15 | i: 0 16 | type: INT 17 | } 18 | } 19 | name: "test_cum_sum" 20 | input { 21 | name: "x" 22 | type { 23 | tensor_type { 24 | elem_type: 1 25 | shape { 26 | dim { 27 | dim_value: 3 28 | } 29 | } 30 | } 31 | } 32 | } 33 | output { 34 | name: "y" 35 | type { 36 | tensor_type { 37 | elem_type: 1 38 | shape { 39 | dim { 40 | dim_value: 3 41 | } 42 | } 43 | } 44 | } 45 | } 46 | } 47 | opset_import { 48 | version: 11 49 | } 50 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/a_plus_b_dyn_rank.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | node { 6 | name: "addition" 7 | input: "A" 8 | input: "B" 9 | output: "add_out" 10 | op_type: "Add" 11 | } 12 | input { 13 | name: "A" 14 | type { 15 | tensor_type { 16 | elem_type: 7 17 | } 18 | } 19 | } 20 | input { 21 | name: "B" 22 | type { 23 | tensor_type { 24 | elem_type: 7 25 | shape { 26 | } 27 | } 28 | } 29 | } 30 | output { 31 | name: "add_out" 32 | type { 33 | tensor_type { 34 | elem_type: 7 35 | } 36 | } 37 | } 38 | name: "simple_dyn_shapes_graph" 39 | } 40 | opset_import { 41 | domain: "" 42 | version: 7 43 | } 44 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/acosh_dyn_shape.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Acosh" 8 | } 9 | name: "acosh_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_param: "dynamic_1" 18 | } 19 | dim { 20 | dim_param: "dynamic_2" 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | } 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 9 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/asinh_dyn_shape.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Asinh" 8 | } 9 | name: "asinh_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_param: "dynamic_1" 18 | } 19 | dim { 20 | dim_param: "dynamic_2" 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | } 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 9 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/atanh_dyn_shape.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Atanh" 8 | } 9 | name: "atanh_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_param: "dynamic_1" 18 | } 19 | dim { 20 | dim_param: "dynamic_2" 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | } 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 9 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/constant_of_shape_int_ones.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 4 2 | producer_name: "backend-test" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "ConstantOfShape" 8 | attribute { 9 | name: "value" 10 | t { 11 | dims: 1 12 | data_type: 6 13 | int32_data: 1 14 | name: "value" 15 | } 16 | type: TENSOR 17 | } 18 | } 19 | name: "test_constantofshape_int_zeros" 20 | input { 21 | name: "x" 22 | type { 23 | tensor_type { 24 | elem_type: 7 25 | shape { 26 | dim { 27 | dim_value: 2 28 | } 29 | } 30 | } 31 | } 32 | } 33 | output { 34 | name: "y" 35 | type { 36 | tensor_type { 37 | elem_type: 6 38 | shape { 39 | dim { 40 | dim_value: 2 41 | } 42 | dim { 43 | dim_value: 3 44 | } 45 | } 46 | } 47 | } 48 | } 49 | } 50 | opset_import { 51 | version: 9 52 | } 53 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/expand_dyn.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 4 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "data" 6 | input: "shape" 7 | output: "expanded" 8 | name: "expand_1" 9 | op_type: "Expand" 10 | } 11 | name: "expand test" 12 | input { 13 | name: "data" 14 | type { 15 | tensor_type { 16 | elem_type: 1 17 | } 18 | } 19 | } 20 | input { 21 | name: "shape" 22 | type { 23 | tensor_type { 24 | elem_type: 7 25 | } 26 | } 27 | } 28 | output { 29 | name: "expanded" 30 | type { 31 | tensor_type { 32 | elem_type: 1 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 1 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/expand_uint16_dyn.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 4 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "data" 6 | input: "shape" 7 | output: "expanded" 8 | name: "expand_1" 9 | op_type: "Expand" 10 | } 11 | name: "expand test" 12 | input { 13 | name: "data" 14 | type { 15 | tensor_type { 16 | elem_type: 4 17 | } 18 | } 19 | } 20 | input { 21 | name: "shape" 22 | type { 23 | tensor_type { 24 | elem_type: 7 25 | } 26 | } 27 | } 28 | output { 29 | name: "expanded" 30 | type { 31 | tensor_type { 32 | elem_type: 4 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 1 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/flatten_dyn_shape_axis.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 6 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | name: "Dynamic Flatten" 6 | node { 7 | input: "A" 8 | output: "flatten_out" 9 | name: "FlattenNode" 10 | op_type: "Flatten" 11 | attribute { 12 | name: "axis" 13 | i: 3 14 | type: INT 15 | } 16 | } 17 | input { 18 | name: "A" 19 | type { 20 | tensor_type { 21 | elem_type: 1 22 | } 23 | } 24 | } 25 | output { 26 | name: "flatten_out" 27 | type { 28 | tensor_type { 29 | elem_type: 1 30 | } 31 | } 32 | } 33 | } 34 | opset_import { 35 | version: 11 36 | } 37 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/flatten_dyn_shape_axis0.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 6 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | name: "Dynamic Flatten" 6 | node { 7 | input: "A" 8 | output: "flatten_out" 9 | name: "FlattenNode" 10 | op_type: "Flatten" 11 | attribute { 12 | name: "axis" 13 | i: 0 14 | type: INT 15 | } 16 | } 17 | input { 18 | name: "A" 19 | type { 20 | tensor_type { 21 | elem_type: 1 22 | } 23 | } 24 | } 25 | output { 26 | name: "flatten_out" 27 | type { 28 | tensor_type { 29 | elem_type: 1 30 | } 31 | } 32 | } 33 | } 34 | opset_import { 35 | version: 11 36 | } 37 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/flatten_dyn_shape_neg_axis.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 6 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | name: "Dynamic Flatten" 6 | node { 7 | input: "A" 8 | output: "flatten_out" 9 | name: "FlattenNode" 10 | op_type: "Flatten" 11 | attribute { 12 | name: "axis" 13 | i: -3 14 | type: INT 15 | } 16 | } 17 | input { 18 | name: "A" 19 | type { 20 | tensor_type { 21 | elem_type: 1 22 | } 23 | } 24 | } 25 | output { 26 | name: "flatten_out" 27 | type { 28 | tensor_type { 29 | elem_type: 1 30 | } 31 | } 32 | } 33 | } 34 | opset_import { 35 | version: 11 36 | } 37 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/global_average_pool_dyn.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "GlobalAveragePool" 8 | attribute { 9 | name: "strides" 10 | ints: 2 11 | ints: 2 12 | type: INTS 13 | } 14 | } 15 | name: "compute_graph" 16 | input { 17 | name: "x" 18 | type { 19 | tensor_type { 20 | elem_type: 1 21 | shape { 22 | dim { 23 | dim_param: "batch" 24 | } 25 | dim { 26 | dim_param: "batch" 27 | } 28 | dim { 29 | dim_value: 5 30 | } 31 | dim { 32 | dim_value: 5 33 | } 34 | } 35 | } 36 | } 37 | } 38 | output { 39 | name: "y" 40 | type { 41 | tensor_type { 42 | elem_type: 1 43 | shape { 44 | } 45 | } 46 | } 47 | } 48 | } 49 | opset_import { 50 | version: 7 51 | } 52 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/global_max_pool_dyn.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "GlobalMaxPool" 8 | attribute { 9 | name: "strides" 10 | ints: 2 11 | ints: 2 12 | type: INTS 13 | } 14 | } 15 | name: "compute_graph" 16 | input { 17 | name: "x" 18 | type { 19 | tensor_type { 20 | elem_type: 1 21 | shape { 22 | dim { 23 | dim_param: "batch" 24 | } 25 | dim { 26 | dim_param: "batch" 27 | } 28 | dim { 29 | dim_value: 5 30 | } 31 | dim { 32 | dim_value: 5 33 | } 34 | } 35 | } 36 | } 37 | } 38 | output { 39 | name: "y" 40 | type { 41 | tensor_type { 42 | elem_type: 1 43 | shape { 44 | } 45 | } 46 | } 47 | } 48 | } 49 | opset_import { 50 | version: 7 51 | } 52 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/scalar_initializers.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "initializer_of_A" 6 | input: "initializer_of_B" 7 | output: "output_of_add" 8 | op_type: "Add" 9 | name: "Add_node" 10 | } 11 | name: "test_graph" 12 | initializer { 13 | data_type: 7 14 | int64_data: 1 15 | name: "initializer_of_A" 16 | } 17 | initializer { 18 | dims: 0 19 | data_type: 7 20 | int64_data: 2 21 | name: "initializer_of_B" 22 | } 23 | output { 24 | name: "output_of_add" 25 | type { 26 | tensor_type { 27 | elem_type: 7 28 | shape { 29 | dim { 30 | dim_value: 1 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 9 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/dynamic_shapes/transpose.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 6 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | name: "Dynamic Transpose" 6 | node { 7 | input: "A" 8 | output: "transposed" 9 | name: "TransposeNode" 10 | op_type: "Transpose" 11 | } 12 | input { 13 | name: "A" 14 | type { 15 | tensor_type { 16 | elem_type: 1 17 | } 18 | } 19 | } 20 | output { 21 | name: "transposed" 22 | type { 23 | tensor_type { 24 | elem_type: 1 25 | } 26 | } 27 | } 28 | } 29 | opset_import { 30 | version: 11 31 | } 32 | -------------------------------------------------------------------------------- /test/models/onnx/elu.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Elu" 8 | attribute { 9 | name: "alpha" 10 | f: 2 11 | type: FLOAT 12 | } 13 | } 14 | name: "test_elu" 15 | input { 16 | name: "x" 17 | type { 18 | tensor_type { 19 | elem_type: 1 20 | shape { 21 | dim { 22 | dim_value: 3 23 | } 24 | dim { 25 | dim_value: 4 26 | } 27 | dim { 28 | dim_value: 5 29 | } 30 | } 31 | } 32 | } 33 | } 34 | output { 35 | name: "y" 36 | type { 37 | tensor_type { 38 | elem_type: 1 39 | shape { 40 | dim { 41 | dim_value: 3 42 | } 43 | dim { 44 | dim_value: 4 45 | } 46 | dim { 47 | dim_value: 5 48 | } 49 | } 50 | } 51 | } 52 | } 53 | } 54 | opset_import { 55 | version: 7 56 | } 57 | -------------------------------------------------------------------------------- /test/models/onnx/erf.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Erf" 8 | } 9 | name: "erf_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 3 18 | } 19 | dim { 20 | dim_value: 2 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 3 34 | } 35 | dim { 36 | dim_value: 2 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 9 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/erf_int32.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Erf" 8 | } 9 | name: "erf_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 6 15 | shape { 16 | dim { 17 | dim_value: 5 18 | } 19 | } 20 | } 21 | } 22 | } 23 | output { 24 | name: "y" 25 | type { 26 | tensor_type { 27 | elem_type: 6 28 | shape { 29 | dim { 30 | dim_value: 5 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 9 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/eye_like.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "EyeLike" 8 | attribute { 9 | name: "k" 10 | i: -1 11 | type: INT 12 | } 13 | } 14 | name: "hardmax_graph" 15 | input { 16 | name: "x" 17 | type { 18 | tensor_type { 19 | elem_type: 1 20 | shape { 21 | dim { 22 | dim_value: 3 23 | } 24 | dim { 25 | dim_value: 4 26 | } 27 | } 28 | } 29 | } 30 | } 31 | output { 32 | name: "y" 33 | type { 34 | tensor_type { 35 | elem_type: 1 36 | shape { 37 | dim { 38 | dim_value: 3 39 | } 40 | dim { 41 | dim_value: 4 42 | } 43 | } 44 | } 45 | } 46 | } 47 | } 48 | opset_import { 49 | version: 9 50 | } 51 | -------------------------------------------------------------------------------- /test/models/onnx/flatten.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | node { 6 | input: "Input3" 7 | output: "Block87_Output_0" 8 | name: "Block87" 9 | op_type: "Flatten" 10 | attribute { 11 | name: "axis" 12 | i: 1 13 | type: INT 14 | } 15 | doc_string: "" 16 | domain: "" 17 | } 18 | name: "CNTKGraph" 19 | input { 20 | name: "Input3" 21 | type { 22 | tensor_type { 23 | elem_type: 1 24 | } 25 | } 26 | } 27 | output { 28 | name: "Block87_Output_0" 29 | type { 30 | tensor_type { 31 | elem_type: 1 32 | } 33 | } 34 | } 35 | } 36 | opset_import { 37 | domain: "" 38 | version: 2 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/global_lp_pool_dynamic_hw.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 4 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "input" 6 | output: "output" 7 | op_type: "GlobalLpPool" 8 | attribute { 9 | name: "p" 10 | i: 0 11 | type: INT 12 | } 13 | } 14 | name: "compute_graph" 15 | input { 16 | name: "input" 17 | type { 18 | tensor_type { 19 | elem_type: 7 20 | shape { 21 | dim { 22 | dim_value: 1 23 | } 24 | dim { 25 | dim_value: 2 26 | } 27 | dim { 28 | dim_param: "batch" 29 | } 30 | dim { 31 | dim_param: "batch" 32 | } 33 | } 34 | } 35 | } 36 | } 37 | output { 38 | name: "output" 39 | type { 40 | tensor_type { 41 | elem_type: 7 42 | shape { 43 | } 44 | } 45 | } 46 | } 47 | } 48 | opset_import { 49 | version: 1 50 | } 51 | -------------------------------------------------------------------------------- /test/models/onnx/hardmax.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Hardmax" 8 | attribute { 9 | name: "axis" 10 | i: 2 11 | type: INT 12 | } 13 | } 14 | name: "hardmax_graph" 15 | input { 16 | name: "x" 17 | type { 18 | tensor_type { 19 | elem_type: 1 20 | shape { 21 | dim { 22 | dim_value: 3 23 | } 24 | dim { 25 | dim_value: 4 26 | } 27 | dim { 28 | dim_value: 5 29 | } 30 | } 31 | } 32 | } 33 | } 34 | output { 35 | name: "y" 36 | type { 37 | tensor_type { 38 | elem_type: 1 39 | shape { 40 | dim { 41 | dim_value: 3 42 | } 43 | dim { 44 | dim_value: 4 45 | } 46 | dim { 47 | dim_value: 5 48 | } 49 | } 50 | } 51 | } 52 | } 53 | } 54 | opset_import { 55 | version: 9 56 | } 57 | -------------------------------------------------------------------------------- /test/models/onnx/lp_norm_default.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "LpNormalization" 8 | } 9 | name: "lp_norm_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 2 18 | } 19 | dim { 20 | dim_value: 3 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | } 26 | } 27 | } 28 | } 29 | output { 30 | name: "y" 31 | type { 32 | tensor_type { 33 | elem_type: 1 34 | shape { 35 | dim { 36 | dim_value: 2 37 | } 38 | dim { 39 | dim_value: 3 40 | } 41 | dim { 42 | dim_value: 4 43 | } 44 | } 45 | } 46 | } 47 | } 48 | } 49 | opset_import { 50 | version: 1 51 | } 52 | -------------------------------------------------------------------------------- /test/models/onnx/min_two_inputs.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "data_0" 6 | input: "data_1" 7 | output: "result" 8 | op_type: "Min" 9 | } 10 | name: "test_min_two_inputs" 11 | input { 12 | name: "data_0" 13 | type { 14 | tensor_type { 15 | elem_type: 1 16 | shape { 17 | dim { 18 | dim_value: 1 19 | } 20 | } 21 | } 22 | } 23 | } 24 | input { 25 | name: "data_1" 26 | type { 27 | tensor_type { 28 | elem_type: 1 29 | shape { 30 | dim { 31 | dim_value: 3 32 | } 33 | } 34 | } 35 | } 36 | } 37 | output { 38 | name: "result" 39 | type { 40 | tensor_type { 41 | elem_type: 1 42 | shape { 43 | dim { 44 | dim_value: 3 45 | } 46 | } 47 | } 48 | } 49 | } 50 | } 51 | opset_import { 52 | version: 8 53 | } 54 | -------------------------------------------------------------------------------- /test/models/onnx/min_two_inputs_opset1.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "data_0" 6 | input: "data_1" 7 | output: "result" 8 | op_type: "Min" 9 | } 10 | name: "test_min_two_inputs" 11 | input { 12 | name: "data_0" 13 | type { 14 | tensor_type { 15 | elem_type: 1 16 | shape { 17 | dim { 18 | dim_value: 3 19 | } 20 | } 21 | } 22 | } 23 | } 24 | input { 25 | name: "data_1" 26 | type { 27 | tensor_type { 28 | elem_type: 1 29 | shape { 30 | dim { 31 | dim_value: 3 32 | } 33 | } 34 | } 35 | } 36 | } 37 | output { 38 | name: "result" 39 | type { 40 | tensor_type { 41 | elem_type: 1 42 | shape { 43 | dim { 44 | dim_value: 3 45 | } 46 | } 47 | } 48 | } 49 | } 50 | } 51 | opset_import { 52 | version: 1 53 | } 54 | -------------------------------------------------------------------------------- /test/models/onnx/mod_sign.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 5 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | input: "B" 7 | output: "Y" 8 | op_type: "Mod" 9 | attribute { 10 | name: "fmod" 11 | i: 1 12 | type: INT 13 | } 14 | } 15 | name: "test_mod" 16 | input { 17 | name: "A" 18 | type { 19 | tensor_type { 20 | elem_type: 7 21 | shape { 22 | dim { 23 | dim_value: 6 24 | } 25 | } 26 | } 27 | } 28 | } 29 | input { 30 | name: "B" 31 | type { 32 | tensor_type { 33 | elem_type: 7 34 | shape { 35 | dim { 36 | dim_value: 6 37 | } 38 | } 39 | } 40 | } 41 | } 42 | output { 43 | name: "Y" 44 | type { 45 | tensor_type { 46 | elem_type: 7 47 | shape { 48 | dim { 49 | dim_value: 6 50 | } 51 | } 52 | } 53 | } 54 | } 55 | } 56 | opset_import { 57 | version: 10 58 | } 59 | -------------------------------------------------------------------------------- /test/models/onnx/non_zero_1d.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | node { 6 | name: "non_zero" 7 | input: "A" 8 | output: "out" 9 | op_type: "NonZero" 10 | } 11 | input { 12 | name: "A" 13 | type { 14 | tensor_type { 15 | elem_type: 6 16 | shape { 17 | dim { 18 | dim_value: 5 19 | } 20 | } 21 | } 22 | } 23 | } 24 | initializer { 25 | data_type: 6 26 | name: "A" 27 | dims: 5 28 | int32_data: 0 29 | int32_data: 1 30 | int32_data: 2 31 | int32_data: 0 32 | int32_data: 3 33 | } 34 | output { 35 | name: "out" 36 | type { 37 | tensor_type { 38 | elem_type: 7 39 | } 40 | } 41 | } 42 | name: "non_zero_1d" 43 | } 44 | opset_import { 45 | domain: "" 46 | version: 9 47 | } 48 | -------------------------------------------------------------------------------- /test/models/onnx/non_zero_1d_float.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | node { 6 | name: "non_zero" 7 | input: "A" 8 | output: "out" 9 | op_type: "NonZero" 10 | } 11 | input { 12 | name: "A" 13 | type { 14 | tensor_type { 15 | elem_type: 1 16 | shape { 17 | dim { 18 | dim_value: 10 19 | } 20 | } 21 | } 22 | } 23 | } 24 | initializer { 25 | data_type: 1 26 | name: "A" 27 | dims: 10 28 | float_data: -1234.567 29 | float_data: -0.5 30 | float_data: 0.0 31 | float_data: 0.1 32 | float_data: 0.01 33 | float_data: 0.001 34 | float_data: 0.0001 35 | float_data: 0.00001 36 | float_data: 0.000001 37 | float_data: 0.0000001 38 | } 39 | output { 40 | name: "out" 41 | type { 42 | tensor_type { 43 | elem_type: 7 44 | } 45 | } 46 | } 47 | name: "non_zero_1d_float" 48 | } 49 | opset_import { 50 | domain: "" 51 | version: 9 52 | } 53 | -------------------------------------------------------------------------------- /test/models/onnx/non_zero_2d_bool.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | node { 6 | name: "non_zero" 7 | input: "A" 8 | output: "out" 9 | op_type: "NonZero" 10 | } 11 | input { 12 | name: "A" 13 | type { 14 | tensor_type { 15 | elem_type: 9 16 | shape { 17 | dim { 18 | dim_value: 2 19 | } 20 | dim { 21 | dim_value: 2 22 | } 23 | } 24 | } 25 | } 26 | } 27 | initializer { 28 | data_type: 9 29 | name: "A" 30 | dims: 2 31 | dims: 2 32 | int32_data: 0 33 | int32_data: 1 34 | int32_data: 1 35 | int32_data: 0 36 | } 37 | output { 38 | name: "out" 39 | type { 40 | tensor_type { 41 | elem_type: 7 42 | } 43 | } 44 | } 45 | name: "non_zero_2d_bool" 46 | } 47 | opset_import { 48 | domain: "" 49 | version: 9 50 | } 51 | -------------------------------------------------------------------------------- /test/models/onnx/non_zero_scalar.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | model_version: 1 4 | graph { 5 | node { 6 | name: "non_zero" 7 | input: "A" 8 | output: "out" 9 | op_type: "NonZero" 10 | } 11 | input { 12 | name: "A" 13 | type { 14 | tensor_type { 15 | elem_type: 6 16 | shape { 17 | } 18 | } 19 | } 20 | } 21 | initializer { 22 | data_type: 6 23 | name: "A" 24 | int32_data: 777 25 | } 26 | output { 27 | name: "out" 28 | type { 29 | tensor_type { 30 | elem_type: 7 31 | } 32 | } 33 | } 34 | name: "non_zero_scalar" 35 | } 36 | opset_import { 37 | domain: "" 38 | version: 9 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/onnx_prototxt_converter_requirements.txt: -------------------------------------------------------------------------------- 1 | docopt 2 | protobuf 3 | onnx 4 | -------------------------------------------------------------------------------- /test/models/onnx/provenance_input_tags.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "initializer_of_A" 6 | input: "input_B" 7 | output: "output_of_add" 8 | op_type: "Add" 9 | name: "Add_node" 10 | } 11 | name: "test_graph" 12 | initializer { 13 | dims: 1 14 | data_type: 7 15 | int64_data: 1 16 | name: "initializer_of_A" 17 | } 18 | input { 19 | name: "input_B" 20 | type { 21 | tensor_type { 22 | elem_type: 7 23 | shape { 24 | } 25 | } 26 | } 27 | } 28 | output { 29 | name: "output_of_add" 30 | type { 31 | tensor_type { 32 | elem_type: 7 33 | shape { 34 | dim { 35 | dim_value: 1 36 | } 37 | } 38 | } 39 | } 40 | } 41 | } 42 | opset_import { 43 | version: 9 44 | } 45 | -------------------------------------------------------------------------------- /test/models/onnx/provenance_node_name_and_outputs.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "input_A" 6 | input: "input_B" 7 | output: "output_of_add" 8 | op_type: "Add" 9 | name: "Add_node" 10 | } 11 | name: "test_graph" 12 | input { 13 | name: "input_A" 14 | type { 15 | tensor_type { 16 | elem_type: 1 17 | shape { 18 | dim { 19 | } 20 | } 21 | } 22 | } 23 | } 24 | input { 25 | name: "input_B" 26 | type { 27 | tensor_type { 28 | elem_type: 1 29 | shape { 30 | dim { 31 | } 32 | } 33 | } 34 | } 35 | } 36 | output { 37 | name: "output_of_add" 38 | type { 39 | tensor_type { 40 | elem_type: 1 41 | shape { 42 | dim { 43 | } 44 | } 45 | } 46 | } 47 | } 48 | } 49 | opset_import { 50 | version: 9 51 | } 52 | -------------------------------------------------------------------------------- /test/models/onnx/provenance_only_outputs.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "input_A" 6 | input: "input_B" 7 | output: "output_of_add" 8 | op_type: "Add" 9 | } 10 | name: "test_graph" 11 | input { 12 | name: "input_A" 13 | type { 14 | tensor_type { 15 | elem_type: 1 16 | shape { 17 | dim { 18 | } 19 | } 20 | } 21 | } 22 | } 23 | input { 24 | name: "input_B" 25 | type { 26 | tensor_type { 27 | elem_type: 1 28 | shape { 29 | dim { 30 | } 31 | } 32 | } 33 | } 34 | } 35 | output { 36 | name: "output_of_add" 37 | type { 38 | tensor_type { 39 | elem_type: 1 40 | shape { 41 | dim { 42 | } 43 | } 44 | } 45 | } 46 | } 47 | } 48 | opset_import { 49 | version: 9 50 | } 51 | -------------------------------------------------------------------------------- /test/models/onnx/reciprocal.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "backend-test" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Reciprocal" 8 | } 9 | name: "test_reciprocal" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 3 18 | } 19 | dim { 20 | dim_value: 2 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 3 34 | } 35 | dim { 36 | dim_value: 2 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 9 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_l1.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceL1" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_l2.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceL2" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_log_sum.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceLogSum" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_log_sum_exp.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceLogSumExp" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_max.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceMax" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_mean.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceMean" 8 | attribute { 9 | name: "keepdims" 10 | i: 0 11 | type: INT 12 | } 13 | } 14 | name: "compute_graph" 15 | input { 16 | name: "A" 17 | type { 18 | tensor_type { 19 | elem_type: 1 20 | shape { 21 | dim { 22 | dim_value: 1 23 | } 24 | dim { 25 | dim_value: 1 26 | } 27 | dim { 28 | dim_value: 4 29 | } 30 | dim { 31 | dim_value: 4 32 | } 33 | } 34 | } 35 | } 36 | } 37 | output { 38 | name: "B" 39 | type { 40 | tensor_type { 41 | elem_type: 1 42 | shape { 43 | dim { 44 | } 45 | } 46 | } 47 | } 48 | } 49 | } 50 | opset_import { 51 | version: 1 52 | } 53 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_min.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceMin" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_prod.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceProd" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_sum.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceSum" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/reduce_sum_square.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "ReduceSumSquare" 8 | } 9 | name: "compute_graph" 10 | input { 11 | name: "A" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 1 21 | } 22 | dim { 23 | dim_value: 4 24 | } 25 | dim { 26 | dim_value: 4 27 | } 28 | } 29 | } 30 | } 31 | } 32 | output { 33 | name: "B" 34 | type { 35 | tensor_type { 36 | elem_type: 1 37 | shape { 38 | dim { 39 | dim_value: 1 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | opset_import { 47 | version: 1 48 | } 49 | -------------------------------------------------------------------------------- /test/models/onnx/relu.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Relu" 8 | } 9 | name: "test_relu" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 6 18 | } 19 | } 20 | } 21 | } 22 | } 23 | output { 24 | name: "y" 25 | type { 26 | tensor_type { 27 | elem_type: 1 28 | shape { 29 | dim { 30 | dim_value: 6 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 7 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/reshape_reduced_dims.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "Reshape" 8 | attribute { 9 | name: "shape" 10 | ints: 2 11 | ints: 12 12 | type: INTS 13 | } 14 | } 15 | name: "compute_graph" 16 | input { 17 | name: "A" 18 | type { 19 | tensor_type { 20 | elem_type: 1 21 | shape { 22 | dim { 23 | dim_value: 2 24 | } 25 | dim { 26 | dim_value: 3 27 | } 28 | dim { 29 | dim_value: 4 30 | } 31 | } 32 | } 33 | } 34 | } 35 | output { 36 | name: "B" 37 | type { 38 | tensor_type { 39 | elem_type: 1 40 | shape { 41 | dim { 42 | dim_value: 2 43 | } 44 | dim { 45 | dim_value: 12 46 | } 47 | } 48 | } 49 | } 50 | } 51 | } 52 | opset_import { 53 | version: 1 54 | } 55 | -------------------------------------------------------------------------------- /test/models/onnx/reshape_single_dim.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | op_type: "Reshape" 8 | attribute { 9 | name: "shape" 10 | ints: 24 11 | type: INTS 12 | } 13 | } 14 | name: "compute_graph" 15 | input { 16 | name: "A" 17 | type { 18 | tensor_type { 19 | elem_type: 1 20 | shape { 21 | dim { 22 | dim_value: 2 23 | } 24 | dim { 25 | dim_value: 3 26 | } 27 | dim { 28 | dim_value: 4 29 | } 30 | } 31 | } 32 | } 33 | } 34 | output { 35 | name: "B" 36 | type { 37 | tensor_type { 38 | elem_type: 1 39 | shape { 40 | dim { 41 | dim_value: 24 42 | } 43 | } 44 | } 45 | } 46 | } 47 | } 48 | opset_import { 49 | version: 1 50 | } 51 | -------------------------------------------------------------------------------- /test/models/onnx/round.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "backend-test" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Round" 8 | } 9 | name: "test_round" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 15 18 | } 19 | } 20 | } 21 | } 22 | } 23 | output { 24 | name: "y" 25 | type { 26 | tensor_type { 27 | elem_type: 1 28 | shape { 29 | dim { 30 | dim_value: 15 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 11 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/shape.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Shape" 8 | } 9 | name: "test_shape" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 3 18 | } 19 | dim { 20 | dim_value: 4 21 | } 22 | dim { 23 | dim_value: 5 24 | } 25 | } 26 | } 27 | } 28 | } 29 | output { 30 | name: "y" 31 | type { 32 | tensor_type { 33 | elem_type: 7 34 | shape { 35 | dim { 36 | dim_value: 3 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 7 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/shrink_float.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Shrink" 8 | attribute { 9 | name: "lambd" 10 | f: 1.5 11 | type: FLOAT 12 | } 13 | attribute { 14 | name: "bias" 15 | f: 0.5 16 | type: FLOAT 17 | } 18 | } 19 | name: "shrink_graph" 20 | input { 21 | name: "x" 22 | type { 23 | tensor_type { 24 | elem_type: 1 25 | shape { 26 | dim { 27 | dim_value: 11 28 | } 29 | } 30 | } 31 | } 32 | } 33 | output { 34 | name: "y" 35 | type { 36 | tensor_type { 37 | elem_type: 1 38 | shape { 39 | dim { 40 | dim_value: 11 41 | } 42 | } 43 | } 44 | } 45 | } 46 | } 47 | opset_import { 48 | version: 9 49 | } 50 | -------------------------------------------------------------------------------- /test/models/onnx/shrink_int.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Shrink" 8 | attribute { 9 | name: "lambd" 10 | f: 1.4 11 | type: FLOAT 12 | } 13 | attribute { 14 | name: "bias" 15 | f: 1.5 16 | type: FLOAT 17 | } 18 | } 19 | name: "shrink_graph" 20 | input { 21 | name: "x" 22 | type { 23 | tensor_type { 24 | elem_type: 6 25 | shape { 26 | dim { 27 | dim_value: 11 28 | } 29 | } 30 | } 31 | } 32 | } 33 | output { 34 | name: "y" 35 | type { 36 | tensor_type { 37 | elem_type: 6 38 | shape { 39 | dim { 40 | dim_value: 11 41 | } 42 | } 43 | } 44 | } 45 | } 46 | } 47 | opset_import { 48 | version: 9 49 | } 50 | -------------------------------------------------------------------------------- /test/models/onnx/sigmoid.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Sigmoid" 8 | } 9 | name: "test_sigmoid" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 3 18 | } 19 | dim { 20 | dim_value: 4 21 | } 22 | dim { 23 | dim_value: 5 24 | } 25 | } 26 | } 27 | } 28 | } 29 | output { 30 | name: "y" 31 | type { 32 | tensor_type { 33 | elem_type: 1 34 | shape { 35 | dim { 36 | dim_value: 3 37 | } 38 | dim { 39 | dim_value: 4 40 | } 41 | dim { 42 | dim_value: 5 43 | } 44 | } 45 | } 46 | } 47 | } 48 | } 49 | opset_import { 50 | version: 7 51 | } 52 | -------------------------------------------------------------------------------- /test/models/onnx/sign.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Sign" 8 | } 9 | name: "sign_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 5 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 1 34 | } 35 | dim { 36 | dim_value: 5 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 8 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/sinh.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Sinh" 8 | } 9 | name: "sinh_graph" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 1 18 | } 19 | dim { 20 | dim_value: 3 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 1 34 | } 35 | dim { 36 | dim_value: 3 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | opset_import { 44 | version: 9 45 | } 46 | -------------------------------------------------------------------------------- /test/models/onnx/softmax_0D.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Softmax" 8 | } 9 | name: "test_softmax_0D" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | } 17 | } 18 | } 19 | } 20 | output { 21 | name: "y" 22 | type { 23 | tensor_type { 24 | elem_type: 1 25 | shape { 26 | } 27 | } 28 | } 29 | } 30 | } 31 | opset_import { 32 | version: 7 33 | } 34 | -------------------------------------------------------------------------------- /test/models/onnx/softmax_1D.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Softmax" 8 | attribute { 9 | name: "axis" 10 | i: 0 11 | type: INT 12 | } 13 | } 14 | name: "test_softmax_1D" 15 | input { 16 | name: "x" 17 | type { 18 | tensor_type { 19 | elem_type: 1 20 | shape { 21 | dim { 22 | dim_value: 3 23 | } 24 | } 25 | } 26 | } 27 | } 28 | output { 29 | name: "y" 30 | type { 31 | tensor_type { 32 | elem_type: 1 33 | shape { 34 | dim { 35 | dim_value: 3 36 | } 37 | } 38 | } 39 | } 40 | } 41 | } 42 | opset_import { 43 | version: 7 44 | } 45 | -------------------------------------------------------------------------------- /test/models/onnx/softmax_invalid_axis_1D.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Softmax" 8 | attribute { 9 | name: "axis" 10 | i: 1 11 | type: INT 12 | } 13 | } 14 | name: "test_softmax_invalid_axis" 15 | input { 16 | name: "x" 17 | type { 18 | tensor_type { 19 | elem_type: 1 20 | shape { 21 | dim { 22 | dim_value: 3 23 | } 24 | } 25 | } 26 | } 27 | } 28 | output { 29 | name: "y" 30 | type { 31 | tensor_type { 32 | elem_type: 1 33 | shape { 34 | dim { 35 | dim_value: 3 36 | } 37 | } 38 | } 39 | } 40 | } 41 | } 42 | opset_import { 43 | version: 7 44 | } 45 | -------------------------------------------------------------------------------- /test/models/onnx/softplus.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 4 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "X" 6 | output: "Y" 7 | name: "node1" 8 | op_type: "Softplus" 9 | doc_string: "Softplus" 10 | domain: "" 11 | } 12 | name: "test" 13 | input { 14 | name: "X" 15 | type { 16 | tensor_type { 17 | elem_type: 1 18 | shape { 19 | dim { 20 | dim_value: 13 21 | } 22 | } 23 | } 24 | } 25 | } 26 | output { 27 | name: "Y" 28 | type { 29 | tensor_type { 30 | elem_type: 1 31 | shape { 32 | dim { 33 | dim_value: 13 34 | } 35 | } 36 | } 37 | } 38 | } 39 | } 40 | opset_import { 41 | version: 7 42 | } 43 | -------------------------------------------------------------------------------- /test/models/onnx/sum_one_input.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "data_0" 6 | output: "result" 7 | op_type: "Sum" 8 | } 9 | name: "test_sum_one_input" 10 | input { 11 | name: "data_0" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 3 18 | } 19 | } 20 | } 21 | } 22 | } 23 | output { 24 | name: "result" 25 | type { 26 | tensor_type { 27 | elem_type: 1 28 | shape { 29 | dim { 30 | dim_value: 3 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | opset_import { 38 | version: 7 39 | } 40 | -------------------------------------------------------------------------------- /test/models/onnx/tanh.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "x" 6 | output: "y" 7 | op_type: "Tanh" 8 | } 9 | name: "test_tanh" 10 | input { 11 | name: "x" 12 | type { 13 | tensor_type { 14 | elem_type: 1 15 | shape { 16 | dim { 17 | dim_value: 3 18 | } 19 | dim { 20 | dim_value: 4 21 | } 22 | dim { 23 | dim_value: 5 24 | } 25 | } 26 | } 27 | } 28 | } 29 | output { 30 | name: "y" 31 | type { 32 | tensor_type { 33 | elem_type: 1 34 | shape { 35 | dim { 36 | dim_value: 3 37 | } 38 | dim { 39 | dim_value: 4 40 | } 41 | dim { 42 | dim_value: 5 43 | } 44 | } 45 | } 46 | } 47 | } 48 | } 49 | opset_import { 50 | version: 7 51 | } 52 | -------------------------------------------------------------------------------- /test/models/onnx/unsupported_op.prototxt: -------------------------------------------------------------------------------- 1 | ir_version: 3 2 | producer_name: "nGraph ONNX Importer" 3 | graph { 4 | node { 5 | input: "A" 6 | output: "B" 7 | name: "missing_op_node1" 8 | op_type: "FakeOpName" 9 | } 10 | node { 11 | input: "B" 12 | output: "C" 13 | name: "missing_op_node2" 14 | op_type: "AnotherFakeOpName" 15 | } 16 | node { 17 | input: "C" 18 | output: "X" 19 | name: "supported_op" 20 | op_type: "Abs" 21 | } 22 | name: "test_graph" 23 | input { 24 | name: "A" 25 | type { 26 | tensor_type { 27 | elem_type: 1 28 | shape { 29 | dim { 30 | dim_value: 1 31 | } 32 | } 33 | } 34 | } 35 | } 36 | output { 37 | name: "X" 38 | type { 39 | tensor_type { 40 | elem_type: 1 41 | shape { 42 | dim { 43 | dim_value: 1 44 | } 45 | } 46 | } 47 | } 48 | } 49 | } 50 | opset_import { 51 | version: 8 52 | } 53 | -------------------------------------------------------------------------------- /test/update_convolution_reference.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ****************************************************************************** 3 | # Copyright 2017-2020 Intel Corporation 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # ****************************************************************************** 17 | declare THIS_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 18 | python ${THIS_SCRIPT_DIR}/ref_generators/generate_convolution_ref.py ${THIS_SCRIPT_DIR}/backend/convolution_reference.in.cpp 19 | -------------------------------------------------------------------------------- /test/update_dyn_replace_slice_reference.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ****************************************************************************** 3 | # Copyright 2017-2020 Intel Corporation 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # ****************************************************************************** 17 | declare THIS_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 18 | python ${THIS_SCRIPT_DIR}/ref_generators/generate_dyn_replace_slice_ref.py ${THIS_SCRIPT_DIR}/backend/dyn_replace_slice_reference.in.cpp 19 | -------------------------------------------------------------------------------- /test/update_dyn_slice_reference.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ****************************************************************************** 3 | # Copyright 2017-2020 Intel Corporation 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # ****************************************************************************** 17 | declare THIS_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 18 | python ${THIS_SCRIPT_DIR}/ref_generators/generate_dyn_slice_ref.py ${THIS_SCRIPT_DIR}/backend/dyn_slice_reference.in.cpp 19 | -------------------------------------------------------------------------------- /test/util/unit-test-execution/requirements.txt: -------------------------------------------------------------------------------- 1 | pytest --------------------------------------------------------------------------------