Skip to main content

ITopKLayer

Struct ITopKLayer 

Source
pub struct ITopKLayer { /* private fields */ }
Expand description

ITopKLayer

Layer that represents a TopK reduction.

This layer can accept both static and dynamic k. Static k can be set through the addTopK() API function, or accessed using the getK() and setK() functions after layer creation. For dynamic k, use the setInput() method to pass in k as a tensor with index 1, which overrides the static k value in calculations.

Do not inherit from this class, as doing so will break forward-compatibility of the API and ABI.

Implementations§

Source§

impl ITopKLayer

Source

pub fn setOperation(self: Pin<&mut ITopKLayer>, op: TopKOperation)

Set the operation for the layer.

See [getOperation()], TopKOperation

Source

pub fn getOperation(self: &ITopKLayer) -> TopKOperation

Get the operation for the layer.

See [setOperation()], TopKOperation

Source

pub fn setK(self: Pin<&mut ITopKLayer>, k: i32)

Set the static k value for the layer.

Currently only values up to 3840 are supported.

If a second input to this layer has been set, it will be reset to null by this method.

See [getK()]

Source

pub fn getK(self: &ITopKLayer) -> i32

Get the k value for the layer.

This function will return the static k value passed into addTopK(), or the value passed into setK().

If a second layer input is present and non-null, this function returns -1.

See [setK()]

Source

pub fn setReduceAxes(self: Pin<&mut ITopKLayer>, reduceAxes: u32)

Set which axes to reduce for the layer.

See [getReduceAxes()]

Source

pub fn getReduceAxes(self: &ITopKLayer) -> u32

Get the axes to reduce for the layer.

See [setReduceAxes()]

Source

pub fn setIndicesType(self: Pin<&mut ITopKLayer>, type_: DataType) -> bool

Set the indices type for the layer.

  • type The DataType of the indices tensor.

true if set successfully, false otherwise.

Set the indices (the second output) type of the TopK layer. Valid values are DataType::kINT32 and DataType::kINT64, otherwise an error occurs and the type is not updated.

Source

pub fn getIndicesType(self: &ITopKLayer) -> DataType

Return the TopK layer indices type.

indices type set during layer creation or by setIndicesType(). The return value is the indices type of the TopK layer. The default value is DataType::kINT32.

Trait Implementations§

Source§

impl AsLayer for ITopKLayer

Source§

fn as_layer(&self) -> &ILayer

Source§

fn as_layer_pin_mut(&mut self) -> Pin<&mut ILayer>

Source§

impl AsLayerTyped for ITopKLayer

Source§

const TYPE: LayerType = LayerType::kTOPK

Source§

impl AsRef<ILayer> for ITopKLayer

Source§

fn as_ref(self: &ITopKLayer) -> &ILayer

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl ExternType for ITopKLayer

Source§

type Id = (n, v, i, n, f, e, r, _1, (), I, T, o, p, K, L, a, y, e, r)

A type-level representation of the type’s C++ namespace and type name. Read more
Source§

type Kind = Opaque

Source§

impl MakeCppStorage for ITopKLayer

Source§

unsafe fn allocate_uninitialized_cpp_storage() -> *mut ITopKLayer

Allocates heap space for this type in C++ and return a pointer to that space, but do not initialize that space (i.e. do not yet call a constructor). Read more
Source§

unsafe fn free_uninitialized_cpp_storage(arg0: *mut ITopKLayer)

Frees a C++ allocation which has not yet had a constructor called. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.