1. 28 Feb, 2020 1 commit
  2. 27 Feb, 2020 1 commit
  3. 26 Feb, 2020 1 commit
    • Mateusz Bencer's avatar
      [ONNX] Add dynamic shapes support for expand op (#4379) · c4bcabac
      Mateusz Bencer authored
      * [ONNX] Add new ConstatntOfShape operator
      
      * Fix a bug in op implementation
      
      * Modify downgrade pass to support broadcast scalars
      
      * Style-fix
      
      * Use at instead of []
      
      * Use onnx helper instead of ngraph builder
      
      * Add some UT
      
      * Style fix
      
      * Limit range of DynBroadcast in downgrade pass
      
      * Move tests to better location
      
      * Rewrite tests to test_case
      
      * Add check if arg_pshape is static
      
      * Added unit tests
      
      * finished impl, added tests
      
      * Added missing EOF
      
      * Make tests fully dynamic
      
      * disabled tests for gpu
      
      * Changed file names
      
      * styles applied
      
      * code review remarks introduced
      Co-authored-by: 's avatarTomasz Socha <tomasz.socha@intel.com>
      Co-authored-by: 's avatarScott Cyphers <diyessi@users.noreply.github.com>
      c4bcabac
  4. 24 Feb, 2020 1 commit
  5. 20 Feb, 2020 2 commits
    • Mateusz Bencer's avatar
      [ONNX] Add dynamic shapes support for pooling ops (#4285) · fdd8db66
      Mateusz Bencer authored
      * Switch to PartialShape in onnx_importer ValueInfo
      
      * Construct dynamic dimensions out of ONNX dimensions defined as dim_param
      
      * Validate the PartialShape of inputs created from an ONNX model with dynamic shapes
      
      * Validate the output shape inference for a dynamic ONNX model
      
      * Test the execution of an ONNX model with dynamic dimensions
      
      * Test the Ax+B with more than one batch size
      
      * Provenance tagging adjustments - PartialShape instead of Shape
      
      * Correct translation of ONNX shapes to nG shapes
      
      * Test the shape of Constant produced by scalar initializers
      
      * Review comments & more strict assertions in UT
      
      * UT checking a dynamic rank input
      
      * Fully dynamic input inference test
      
      * first dynamic version
      
      * modified UTs
      
      * Added assert checks
      
      * Added specialised methods
      
      * first verion of AvgPool
      
      * code review remarks introduced
      
      * Changed tests to use default BackendMode value
      
      * Reverted not related changes
      
      * first verion of AvgPool
      
      code review remarks introduced
      
      Changed tests to use default BackendMode value
      
      * first version of maxpool
      
      * Changed PoolingFactory to support dynamic shapes
      
      * fixed Pad op
      
      * Added Uts to global ops
      
      * Code review remarks introduced
      
      * code review remarks introduced
      
      * Code refactor
      
      * Code review remarks introduced
      Co-authored-by: 's avatarTomasz Dołbniak <tomasz.dolbniak@intel.com>
      Co-authored-by: 's avatarSang Ik Lee <sang.ik.lee@intel.com>
      fdd8db66
    • Ewa Tusień's avatar
      Add Round op to ONNX importer (#4303) · d605e7fa
      Ewa Tusień authored
      * Added Round op to onnx importer.
      
      * Added a new line.
      
      * Excluded test from plaidml.
      
      * Code formatting.
      
      * Added header.
      
      * Unabled test on gpu.
      Co-authored-by: 's avatarChris Sullivan <chris.sullivan@intel.com>
      Co-authored-by: 's avatarSang Ik Lee <sang.ik.lee@intel.com>
      d605e7fa
  6. 16 Feb, 2020 1 commit
    • Tomasz Dołbniak's avatar
      POC enabling Resnet50 with dynamic batch dimension (#4298) · b2da4cee
      Tomasz Dołbniak authored
      * Constify the onnx importer conv
      
      * Extract and fix the groups attribute validation for Conv
      
      * Check if the convolution's data input rank is static
      
      * Validate the groups attribute against channels and filters
      
      * Validate the conv operation in a separate function
      
      * Dynamically broadcast the conv bias if needed
      
      * Import a test model with dynamic batch conv op
      
      * Run a conv test with dynamic batch
      
      * Cleanup of conv bias handling code
      
      * Use a proper Broadcast constructor for bias in onnx conv
      
      * Handle dynamic ReduceMean with statically defined rank
      
      * Use the target shape rank to construct the default output shape for Broadcast
      
      * Handle ONNX Squeeze with dynamic input and static rank
      
      * Handle ONNX Shape with dynamic input and static rank
      
      * Handle the dynamic target shape in ONNX Reshape
      
      * Fix for the ONNX Shape input validation
      
      * Handle ONNX Softmax with dynamic input and static rank
      
      * Fix the failing Broadcast type prop test
      
      * Code formatting
      
      * Dont broadcast bias before adding it to the conv node
      
      * Drop the conv node validation and rely on the core op implementation checks
      
      * Code review feedback
      
      * Revert the Broadcast op changes
      
      * More code review feedback
      
      * Dynamic conv test using ng test case
      
      * Obsolete headers removal
      
      * Code formatting
      
      * Variable names refactor
      
      * Disable model_conv_with_dynamic_batch test on GPU
      
      * Code formatting
      Co-authored-by: 's avatarSang Ik Lee <sang.ik.lee@intel.com>
      b2da4cee
  7. 12 Feb, 2020 1 commit
    • Katarzyna Mitrus's avatar
      [ONNX] Inverse hyperbolic functions - dynamic shape support (#4301) · 3042c8cc
      Katarzyna Mitrus authored
      * Asinh dynamic shape support prototype
      
      * Asinh static shape test
      
      * Asinh dynamic shapes test
      
      * Unified asinh implementation for static and dynamic shapes
      
      * Atanh dynamic shapes support
      
      * Style apply
      
      * Acosh dynamic shape support
      
      * Tests update
      
      * Style apply
      
      * Update PlaidML manifest
      
      * Use default tolerance bits
      
      * Style apply
      
      * Def tolerance bits for dynamic tests
      
      * Rename dim_param
      
      * Update acosh.prototxt
      
      * Update acosh_dyn_shape.prototxt
      Co-authored-by: 's avatarRobert Kimball <robert.kimball@intel.com>
      3042c8cc
  8. 07 Feb, 2020 1 commit
    • Adam Osewski's avatar
      Use GroupConvolutionBackpropData v1 in ONNX ConvTranspose. (#4158) · d80c8e42
      Adam Osewski authored
      * Use ConvolutionBackpropData in ONNX ConvTranspose operator.
      
      * Replace deprecated functions and update documentation.
      
      * Remove GroupConvolutionTranspose fused op.
      
      * Add more UT for GroupConvolutionBackpropData.
      
      - They're transformed from GroupConvolutionTranspose
      
      * Fix validate_and_infed types for ConvolutionBackpropData v1.
      
      * Add new constructor for GroupConvolutionBackpropData
      
      - Additionally do some code formatting.
      
      * Improve validation in GroupConvBackprop v0.
      
      * Update/fix upgrade & downgrade passes for
      (Group)ConvolutionBackpropData.
      
      * Add decomposition and validation for GroupConvolutionBackpropData:v1
      
      * Type properties UT for GroupConvolutionBackprop v1
      
      * Remove include of deleted header.
      
      * Add squeeze to opset1::builder.
      
      * Use opset1 squeeze.
      
      * Helper functions for padding and output spatial shape inference.
      
      These helper functions are specialized only for *ConvolutionBackpropData operators.
      
      * Update documentation.
      
      * Add more checks and remove deprecated assert.
      
      * Refactor GroupConvolutionBackpropData validation.
      
      - Use helper functions to infer padding and output shape.
      - Change get_output_shape to return only spatial features dimensions
      
      * Remove unnecessary code from donwgrade pass.
      
      The GroupConvolutionBackpropData node has already computed all those required
      information.
      
      * Call Node API. Small review suggestions.
      
      * Work only on spatial dimensions inside helper functions.
      
      * Enhance documentation for ConvolutionBackpropData
      
      * Refactoring.
      
      * Reuse values computed in downgraded operator.
      
      * Check for correct filters input shape.
      
      * Add additional check on auto pad value.
      
      * Remove unused variables.
      
      * Rename helper function.
      
      * Add more checks.
      
      * Override is dynamic and add more restrictive check.
      
      * Fix merge artifact and force unsigned type for argument.
      
      * Review comments: renaming.
      
      * Change Convolution + bias pattern.
      
      Change from bias broadcasting to appropriate convolution output shape
      into reshape into (1, C, 1, 1) shape, which sould work better.
      
      * Add few more test cases for ONNX ConvTranspose op.
      
      * Skip one UT failing on PlaidML backend due to accuracy.
      d80c8e42
  9. 30 Jan, 2020 1 commit
  10. 29 Jan, 2020 1 commit
    • Tomasz Dołbniak's avatar
      [ONNX] Initial support for dynamic shapes (#4197) · 4c322687
      Tomasz Dołbniak authored
      * Switch to PartialShape in onnx_importer ValueInfo
      
      * Construct dynamic dimensions out of ONNX dimensions defined as dim_param
      
      * Validate the PartialShape of inputs created from an ONNX model with dynamic shapes
      
      * Validate the output shape inference for a dynamic ONNX model
      
      * Test the execution of an ONNX model with dynamic dimensions
      
      * Test the Ax+B with more than one batch size
      
      * Provenance tagging adjustments - PartialShape instead of Shape
      
      * Correct translation of ONNX shapes to nG shapes
      
      * Test the shape of Constant produced by scalar initializers
      
      * Review comments & more strict assertions in UT
      
      * UT checking a dynamic rank input
      
      * Fully dynamic input inference test
      
      * ONNX provenance tags adjustments and back to get_shape
      
      * Remove an obsolete space in provenance tags
      Co-Authored-By: 's avatarMichał Karzyński <postrational@users.noreply.github.com>
      
      * Remove an obsolete space in provenance tests
      Co-authored-by: 's avatarMichał Karzyński <postrational@users.noreply.github.com>
      Co-authored-by: 's avatarScott Cyphers <diyessi@users.noreply.github.com>
      4c322687
  11. 16 Jan, 2020 1 commit
  12. 14 Jan, 2020 1 commit
    • Tomasz Dołbniak's avatar
      [ONNX] Extended support for provenance tags (#4154) · 9bfbd3c6
      Tomasz Dołbniak authored
      * Checking if provenance_tags key exists
      
      * Add provenance tag prototype
      
      * Format provenance tag
      
      * Display provenance tag
      
      * Clean debug printing
      
      * Add const to variables
      
      * Separate method for add provenance tags
      
      * Return NodeVector reference
      
      * Return const NodeVector
      
      * Moved add_provenance_tags function to commons
      
      * Style apply
      
      * Simple model for tests
      
      * Provenance tag test
      
      * Expect substring instead of  equal
      
      * Add provenance tags to intermediate nodes recursively
      
      * One tag per node
      
      * Add traverse node args instead of recursion
      
      * Return NodeVector instead of set of pointers
      
      * Use treverse_nodes and lambda function
      
      * Remove unused helper functions
      
      * Remove is_constant() condition
      
      * Update test model prototxt
      
      * Update test substring
      
      * Use node name and output names to build provenance tags in onnx importer
      
      * Unit tests for onnx_importer provenance tags
      
      * Missing <numeric> include
      
      * Add provenance tags to constants buit from ONNX initializers
      
      * Add provenance tags to Constants and Parameters created out of ONNX inputs and initializers
      
      * More strict assertions in onnx provenance tests
      
      * Unit test for onnx importer Parameter nodes tagging
      
      * Helper function for the onnx provenance tests
      
      * Some docs
      
      * Obsolete comment removal
      
      * Separate file for onnx provenance tags unit tests
      
      * Code formatting
      
      * Move the inputs tagging to the Graph class
      
      * Tagging moved to the Graph class entirely
      
      * Missing include and extra helper variable
      
      * Unit tests helper documentation
      
      * Change the UT helper to lowercase
      Co-authored-by: 's avatarKatarzyna Mitrus <katarzyna.mitrus@intel.com>
      9bfbd3c6
  13. 13 Jan, 2020 1 commit
  14. 10 Jan, 2020 2 commits
  15. 09 Jan, 2020 1 commit
  16. 01 Jan, 2020 1 commit
  17. 17 Dec, 2019 1 commit
    • Ewa Tusień's avatar
      Add ScatterND FusedOp (#4018) · 46ff13c7
      Ewa Tusień authored
      * Added scatterND op to ONNX importer.
      
      * Added ScatterND FusedOp.
      
      * Removed unnecessary files.
      
      * Added op to config files.
      
      * Changed input order.
      
      * Fixed validation checking.
      
      * Added suport for int64 in ScatterNDAdd op.
      
      * Changed test.
      
      * Disabled test for plaidML.
      
      * Code refactoring
      
      * Added tests.
      46ff13c7
  18. 13 Dec, 2019 1 commit
  19. 07 Dec, 2019 1 commit
  20. 27 Nov, 2019 2 commits
    • Katarzyna Mitrus's avatar
      [ONNX] Add CumSum to ONNX importer (#3918) · 3ee833b7
      Katarzyna Mitrus authored
      * Register CumSum operator in onnx importer
      
      * Missing whitespace
      
      * Update CMakeLists.txt
      
      * ONNX importer - CumSum op init
      
      * Simple CumSum onnx model
      
      * ONNX CumSum model simple test
      
      * Default axis
      
      * Axis input test
      
      * Inputs variable
      
      * Style apply
      
      * Test 3d exclusive reverse
      
      * Apply style
      
      * Add memory header and std namespace
      
      * Add model_cum_sum tests to plsidml unit_test.manifest
      
      * Add model_cum_sum tests to plaidml unit_test.manifest
      
      * Changed default axis type
      
      * Test model update
      
      * Style apply
      
      * Add test for dynamic axis input
      3ee833b7
    • Mateusz Bencer's avatar
      [SPEC][FusedOp] Add Mod operator (#3908) · 9178c15a
      Mateusz Bencer authored
      * Mod operator introduced
      
      * Introduced onnx importer, fixed implementation
      
      * styles applied
      
      * Refactored assert comment for mod
      
      * Add failure mod test to plaidml manifest
      
      * Code review remarks introduced
      
      * Changed ops used in decompose to v1
      
      * Moved Mod to op_v1_tbl
      9178c15a
  21. 25 Nov, 2019 1 commit
  22. 05 Nov, 2019 1 commit
  23. 25 Oct, 2019 1 commit
    • Pruthvi's avatar
      Softmax + cross Entropy fusion for numerical Stabilization (#3669) · 1e2a3f34
      Pruthvi authored
      * - WIP fusion pattern for softmax + cross entropy
      
      * fix compiler error
      
      *  make summation axis integer for the fusion pattern
      
      * - Fusion pattern for sigmoid cross entropy bprop
      
      * WIP callback implementation for fused sigmod+crossentropy fprop
      
      * - implemented fprop softmax+crossentropy as single layer for numerical
      stabilization
      - added broadcasting nodes to fix elementwise assertions
      
      * Added unit test case for functionality test
      
      * Move the softmax + crossentropy fusion pass to core
      
      * i) style fix ii)added missing header
      
      * - Added new Fused Op for Softmax + CrossEntropy
      - moved the decomposition to the Softmax + CrossEntropy FusedOp
      
      * - Add SoftmaxCrossEntropy for fused tablegen
      - Add serializer support for SoftmaxCrossEntropy
      - fix documentation
      
      * Added missing json file for unit test case
      
      * Addressed PR comment
      
      * Addressed PR comments
      
      * - Fix fusion string
      
      * - Style fix
      
      * - Added Bprop for Softmax + crossEntropy
      
      * - added SoftmaxCrossEntropy support when soft_lable is provided
      - serailizer and deserializer support for SoftmaxCrossEntropyBprop
      
      * - Added support in decompose_op for SM+CE bprop when ignore_mask is specified
      
      * Updated Doc strinng
      
      * - unit test case for SoftmaxCrossEntropy backprop with soft lables
      - fixed decompose_op bug in bprop
      
      * - if soft_label=true, capture pattern only if the labels dont have one
      hot encoding
      
      * - SoftmaxCrossEntropyBprop Support if ignore_index is specified
      
      * add serialized files for unit test
      
      * - fix softmax + CE pattern bug
      - fix softmax + CE decompose_op() bug
      
      * - change reduction_axes to int64_t type in fprop and bprop ctor
      
      * - add soft_labels and ignore_index attribute to SM+CE fprop ctor
      
      * - addition asserts in unit test to ensure SM + CE fprop and bprop fusion is successful
      
      * - move reduction_axis computation to decompose_op from ctor to relax on
      dynamic shapes
      
      * Addressd PR Comments
      
      * - suppprt for SM+CE for ignore_index and softmax=false
      
      * - test case for SM+CE fprop with ignore_mask, soft_labels=false
      - fix bug in decompose_op
      
      * - refactor unit test case
      
      * - fix PDPD unit test
      
      * broadcast delta if shape mismatches
      
      * -fix bdcast issue in decompose_op
      1e2a3f34
  24. 17 Oct, 2019 1 commit
    • Michał Karzyński's avatar
      [ONNX] Add support for ONNX 1.6 TopK (#3771) · 7617d385
      Michał Karzyński authored
      * Minor cleanup
      
      * Add support for ONNX 1.5 version of TopK
      
      * Add unit tests
      
      * Style apply
      
      * Exclude failing tests
      
      * Exclude failing tests
      
      * Add support for ONNX 1.6 TopK attribures: larges and sorted
      
      * Support for ONNX 1.6 TopK
      
      * If k_node is a Constant, recreate as constant with Shape{}
      
      * Extend `interpret_as_scalar` function
      
      * Extend `interpret_as_scalar` function
      
      * Remove merge artifact
      
      * Add doc string
      
      * Exclude failing tests
      
      * Exclude failing tests
      
      * Refactor function
      
      * Remove unnecessary template param
      
      * Use get_k function in OpSet 10 TopK
      
      * Style apply
      
      * Remove merge artifact
      
      * Add tests for `interpret_as_scalar`
      
      * Revert "Add tests for `interpret_as_scalar`"
      
      This reverts commit 8b85965acb39c75ff9e66b06ad8f64df16e1a9da.
      7617d385
  25. 15 Oct, 2019 1 commit
  26. 11 Oct, 2019 1 commit
  27. 20 Sep, 2019 1 commit
  28. 18 Sep, 2019 1 commit
  29. 19 Jul, 2019 1 commit
    • Mateusz Bencer's avatar
      [ONNX] Add ReverseSequence operator (#3239) · 16550767
      Mateusz Bencer authored
      * ReverseSequence operator introduced
      
      * Code review remarks introduced
      
      * Added missing EOF
      
      * Removed unused whitespaces in onnx_import.in.cpp
      
      * Added convert to i32 for sequence_lenghts
      
      * Coode review remarks introduced
      
      * Disable reverse sequence for plaidml backend
      
      * Code style fixed
      16550767
  30. 16 Jul, 2019 2 commits
    • Adam Rogowiec's avatar
      [ONNX] Use nGraph auto padding in ONNX operators. (#3175) · 599f0f21
      Adam Rogowiec authored
      * Helper function converting ONNX auto_pad into nGraph PadType.
      
      Separate auto_pad support from explicitly provided paddings.
      
      * Add support for more PadType values for GroupConvolutionTranspose.
      
      * Pass auto_pad attribute value to nGraph operator.
      
      * Helper class for generating ONNX pooling operators.
      
      * Pass auto pad type to nGraph Convolution operator.
      
      * Use pooling factory.
      
      * Helper function calculating pads taking into account auto_pad attribute.
      
      * Fix attribute type in UT ONNX models.
      
      * Take auto_pad attribute value into account.
      
      * Rename helper function and update doc.
      
      * Retain old API for GroupConvoloutionTranspose
      
      * Remove PadType::INVALID and use other approach to validate auto_pad
      value.
      
      * Style apply.
      
      * Fix clang err on documentation style.
      
      * Refactor get_auto_pad method.
      
      * Fix segfaults on CentOS 7.
      
      When using const reference the node member m_attributes had invalid
      data.
      599f0f21
    • Adam Rogowiec's avatar
      [ONNX] Fix backward pass for bidirectional LSTM. (#3194) · 7ccb6cf1
      Adam Rogowiec authored
      * Fix used operator for reversing input sequences in LSTM.
      
      * Fix backward pass for bidirectional LSTM.
      
      * UT for LSTM with sequence_lens shorter than input sequence size.
      
      * Skip LSTM UT using ReverseSequence since it is not supported yet on
      PlaidML.
      7ccb6cf1
  31. 28 Jun, 2019 1 commit
  32. 27 Jun, 2019 1 commit
  33. 26 Jun, 2019 1 commit
    • tsocha's avatar
      [ONNX] Add support for EyeLike operator (#3050) · 5e19c25c
      tsocha authored
      * [ONNX] Add eyelike operator
      
      * Use shifted square identity in square identity
      
      * Make new helper function to map onnx_types<->ngraph_types
      
      * Add fp16 support to ngraph Python API
      
      * Move helper common.hpp => common.cpp
      
      * Add checker for attribute presence
      
      * Style check
      
      * Add definition of shifted word
      
      * Change return value of attribute presence !(==) -> !=
      
      * Rename is_attribute_present => has_attribute
      
      * Clean-up headers in eyelike.cpp
      
      * Organize headers in common.*pp
      
      * Minor review fixes
      
      * Style check
      
      * Add test for EyeLike with negative k
      5e19c25c
  34. 25 Jun, 2019 1 commit
  35. 24 Jun, 2019 2 commits