TensorRT 8.2.5
|
A scatter layer in a network definition. Supports several kinds of scattering. More...
#include <NvInfer.h>
Public Member Functions | |
void | setMode (ScatterMode mode) noexcept |
Set the scatter mode. More... | |
ScatterMode | getMode () const noexcept |
Get the scatter mode. More... | |
void | setAxis (int32_t axis) noexcept |
Set the axis used by ScatterMode::kELEMENTS. More... | |
int32_t | getAxis () const noexcept |
Get the axis. | |
![]() | |
LayerType | getType () const noexcept |
Return the type of a layer. More... | |
void | setName (const char *name) noexcept |
Set the name of a layer. More... | |
const char * | getName () const noexcept |
Return the name of a layer. More... | |
int32_t | getNbInputs () const noexcept |
Get the number of inputs of a layer. | |
ITensor * | getInput (int32_t index) const noexcept |
Get the layer input corresponding to the given index. More... | |
int32_t | getNbOutputs () const noexcept |
Get the number of outputs of a layer. | |
ITensor * | getOutput (int32_t index) const noexcept |
Get the layer output corresponding to the given index. More... | |
void | setInput (int32_t index, ITensor &tensor) noexcept |
Replace an input of this layer with a specific tensor. More... | |
void | setPrecision (DataType dataType) noexcept |
Set the computational precision of this layer. More... | |
DataType | getPrecision () const noexcept |
get the computational precision of this layer More... | |
bool | precisionIsSet () const noexcept |
whether the computational precision has been set for this layer More... | |
void | resetPrecision () noexcept |
reset the computational precision for this layer More... | |
void | setOutputType (int32_t index, DataType dataType) noexcept |
Set the output type of this layer. More... | |
DataType | getOutputType (int32_t index) const noexcept |
get the output type of this layer More... | |
bool | outputTypeIsSet (int32_t index) const noexcept |
whether the output type has been set for this layer More... | |
void | resetOutputType (int32_t index) noexcept |
reset the output type for this layer More... | |
Protected Attributes | |
apiv::VScatterLayer * | mImpl |
![]() | |
apiv::VLayer * | mLayer |
Additional Inherited Members | |
![]() | |
INoCopy (const INoCopy &other)=delete | |
INoCopy & | operator= (const INoCopy &other)=delete |
INoCopy (INoCopy &&other)=delete | |
INoCopy & | operator= (INoCopy &&other)=delete |
A scatter layer in a network definition. Supports several kinds of scattering.
The Scatter layer has three input tensors: Data, Indices, and Updates, one output tensor Output, and a scatter mode. When kELEMENT mode is used an optional axis parameter is available.
The output is computed by copying the data, and then updating elements of it based on indices. How Indices are interpreted depends upon the ScatterMode.
The indices are interpreted as a tensor of rank q-1 of indexing tuples. The axis parameter is ignored. Given that data dims are {d_0,...,d_{r-1}} and indices dims are {i_0,...,i_{q-1}}, define k = indices[q-1], it follows that updates dims are {i_0,...,i_{q-2},d_k,...,d_{r-1}} The updating can be computed by: foreach slice in indices[i_0,...i_{q-2}] output[indices[slice]] = updates[slice]
Here "axis" denotes the result of getAxis(). For each element X of indices: Let J denote a sequence for the subscripts of X Let K = sequence J with element [axis] replaced by X output[K] = updates[J] For example, if indices has dimensions [N,C,H,W] and axis is 2, then the updates happen as: for n in [0,n) for c in [0,n) for h in [0,n) for w in [0,n) output[n,c,indices[n,c,h,w],w] = updates[n,c,h,w]]
Writes to the same output element cause undefined behavior.
|
inlinenoexcept |
Get the scatter mode.
|
inlinenoexcept |
Set the axis used by ScatterMode::kELEMENTS.
The axis defaults to 0.
|
inlinenoexcept |
Set the scatter mode.
Copyright © 2024 NVIDIA Corporation
Privacy Policy |
Manage My Privacy |
Do Not Sell or Share My Data |
Terms of Service |
Accessibility |
Corporate Policies |
Product Security |
Contact