nGraph 'shell' implementation for GatherElements-6 and MO 'shell' implementation (#3467)
* Initial support of GatherElements in MO and nGraph * apply_style * added lost extractor for GatherElements * Corrected GatherElements::validate_and_infer_types * updated package_BOM.txt * Type_t added * started to implement ngraph shape_type_infer unit-tests * finally implemented all ngraph shape_inference unit-tests * updated Supported_Frameworks_Layers.md * added correct handling of dynamic shapes in nGraph, added unit-tests for dynamic cases, fixed dump typos in MO, replaced axis type from int -> int64_t * implemented shape infer for dynamic shapes with intervals * finalized MO implementation * applied comment from review * style-apply * spec correction * removed conflict * fixed typos * removed obsolete comments form type_prop * significant corrections in validate_and_infer_types * style-apply * data_rank check for axis
This commit is contained in:
1 parent
935549035e
commit
d2a23680f2
12 files changed
+772
-38
No files matched your search
@@ -338,6 +338,7 @@ Standard ONNX\* operators:
|
||||
| Floor | No |
|
||||
| GRU | No |
|
||||
| Gather | No |
|
||||
| GatherElements | Doesn't work with negative indices |
|
||||
| GatherND | No |
|
||||
| GatherTree | No |
|
||||
| Gemm | No |
|
||||
|
||||
@@ -20,53 +20,53 @@ For instance, in the 3D case (`r = 3`), the output is determined by the followin
|
||||
```
|
||||
Example 1 with concrete values:
|
||||
```
|
||||
data = [
|
||||
[1, 2],
|
||||
[3, 4],
|
||||
]
|
||||
indices = [
|
||||
[0, 1],
|
||||
[0, 0],
|
||||
]
|
||||
axis = 0
|
||||
output = [
|
||||
[1, 4],
|
||||
[1, 2],
|
||||
]
|
||||
data = [
|
||||
[1, 2],
|
||||
[3, 4],
|
||||
]
|
||||
indices = [
|
||||
[0, 1],
|
||||
[0, 0],
|
||||
]
|
||||
axis = 0
|
||||
output = [
|
||||
[1, 4],
|
||||
[1, 2],
|
||||
]
|
||||
```
|
||||
Example 2 with `axis` = 1 and `indices` having greater (than `data`) shape:
|
||||
```
|
||||
data = [
|
||||
[1, 7],
|
||||
[4, 3],
|
||||
]
|
||||
indices = [
|
||||
[1, 1, 0],
|
||||
[1, 0, 1],
|
||||
]
|
||||
axis = 1
|
||||
output = [
|
||||
[7, 7, 1],
|
||||
[3, 4, 3],
|
||||
]
|
||||
[1, 7],
|
||||
[4, 3],
|
||||
]
|
||||
indices = [
|
||||
[1, 1, 0],
|
||||
[1, 0, 1],
|
||||
]
|
||||
axis = 1
|
||||
output = [
|
||||
[7, 7, 1],
|
||||
[3, 4, 3],
|
||||
]
|
||||
```
|
||||
|
||||
Example 3 `indices` has lesser (than `data`) shape:
|
||||
```
|
||||
data = [
|
||||
[1, 2, 3],
|
||||
[4, 5, 6],
|
||||
[7, 8, 9],
|
||||
]
|
||||
indices = [
|
||||
[1, 0, 1],
|
||||
[1, 2, 0],
|
||||
]
|
||||
axis = 0
|
||||
output = [
|
||||
[4, 2, 6],
|
||||
[4, 8, 3],
|
||||
]
|
||||
[1, 2, 3],
|
||||
[4, 5, 6],
|
||||
[7, 8, 9],
|
||||
]
|
||||
indices = [
|
||||
[1, 0, 1],
|
||||
[1, 2, 0],
|
||||
]
|
||||
axis = 0
|
||||
output = [
|
||||
[4, 2, 6],
|
||||
[4, 8, 3],
|
||||
]
|
||||
```
|
||||
|
||||
**Attributes**:
|
||||
|
||||
Reference in new issue
Block a user