Files
openvino/docs/ops/sparse/EmbeddingBagOffsetsSum_3.md
Nikolay Tyukaev ef45b5da8d Doc Migration (master) (#1377)
* Doc Migration from Gitlab (#1289)

* doc migration

* fix

* Update FakeQuantize_1.md

* Update performance_benchmarks.md

* Updates graphs for FPGA

* Update performance_benchmarks.md

* Change DL Workbench structure (#1)

* Changed DL Workbench structure

* Fixed tags

* fixes

* Update ie_docs.xml

* Update performance_benchmarks_faq.md

* Fixes in DL Workbench layout

* Fixes for CVS-31290

* [DL Workbench] Minor correction

* Fix for CVS-30955

* Added nGraph deprecation notice as requested by Zoe

* fix broken links in api doxy layouts

* CVS-31131 fixes

* Additional fixes

* Fixed POT TOC

* Update PAC_Configure.md

PAC DCP 1.2.1 install guide.

* Update inference_engine_intro.md

* fix broken link

* Update opset.md

* fix

* added opset4 to layout

* added new opsets to layout, set labels for them

* Update VisionAcceleratorFPGA_Configure.md

Updated from 2020.3 to 2020.4

Co-authored-by: domi2000 <domi2000@users.noreply.github.com>
2020-07-20 17:36:08 +03:00

2.6 KiB

EmbeddingBagOffsetsSum

Versioned name: EmbeddingBagOffsetsSum-3

Category: Sparse

Short description: Computes sums of "bags" of embeddings, without instantiating the intermediate embeddings.

Detailed description: This is the second case of the PyTorch EmbeddingBag, it has indices in two 1D tensors provided as 2nd and 3rd inputs. For each index in indices this operator gets values from data embedding table and sums all values belonging to each bag. Values in offsets define starting index in indices tensor of each "bag", e.g. offsets with value [0,3,4,4,6] define 5 "bags" containing [3,1,0,2,n-6] elements.

Inputs:

  • 1: emb_table tensor containing the embedding lookup table of the module of shape [num_emb, emb_dim1, emb_dim2, ...] and of type T. Required.

  • 2: indices tensor of shape [num_indices] and of type T_IND. Required.

  • 3: offsets tensor of shape [batch] and of type T_IND containing the starting index positions of each "bag" in indices. Required.

  • 4: default_index scalar of type T_IND containing default index in embedding table to fill empty "bags". If not provided empty "bags" are filled with zeros. Optional.

  • 5: per_sample_weights tensor of the same shape as indices and of type T. Each value in this tensor are multiplied with each value pooled from embedding table for each index. Optional, default is tensor of ones.

Outputs:

  • 1: tensor of shape [batch, emb_dim1, emb_dim2, ...] and of type T containing embeddings for each bag.

Types

  • T: any numeric type.

  • T_IND: int32 or int64.

Example

<layer ... type="EmbeddingBagOffsetsSum" ... >
    <input>
        <port id="0">     <!-- emb_table value is: [[-0.2, -0.6], [-0.1, -0.4], [-1.9, -1.8], [-1.,  1.5], [ 0.8, -0.7]] -->
            <dim>5</dim>
            <dim>2</dim>
        </port>
        <port id="1">     <!-- indices value is: [0, 2, 3, 4] -->
            <dim>4</dim>
        </port>
        <port id="2">     <!-- offsets value is: [0, 2, 2] - second "bag" is empty -->
            <dim>3</dim>
        </port>
        <port id="3"/>    <!-- default_index value is: 0 -->
        <port id="4"/>    <!-- per_sample_weigths value is: [0.5, 0.5, 0.5, 0.5] -->
            <dim>4</dim>
        </port>
    </input>
    <output>
        <port id="5">     <!-- output value is: [[-1.05, -1.2], [-0.2, -0.6], [-0.1, 0.4]] -->
            <dim>3</dim>
            <dim>2</dim>
        </port>
    </output>
</layer>