clDNN
cldnn::permute Struct Reference

Permutes data in the memory, with respect to provided order. More...

#include <permute.hpp>

Inheritance diagram for cldnn::permute:
Collaboration diagram for cldnn::permute:

Public Types

typedef cldnn_permute_desc dto
 

Public Member Functions

 permute (const primitive_id &id, const primitive_id &input, const std::vector< uint16_t > &permute_order={}, const padding &output_padding=padding())
 Constructs permute primitive. More...
 
 permute (const dto *dto)
 Constructs a copy from basic C API cldnn_reorder_desc.
 
- Public Member Functions inherited from cldnn::primitive_base< permute, cldnn_permute_desc >
const cldnn_primitive_descget_dto () const override
 Returns pointer to a C API primitive descriptor casted to cldnn_primitive_desc.
 
- Public Member Functions inherited from cldnn::primitive
 primitive (const primitive_type_id &type, const primitive_id &id, const std::vector< primitive_id > &input, const padding &output_padding=padding())
 
 primitive (const cldnn_primitive_desc *dto)
 Constructs a copy from basic C API cldnn_primitive_desc.
 
std::vector< std::reference_wrapper< primitive_id > > dependecies ()
 Returns references to all primitive ids on which this primitive depends - inputs, weights, biases, etc.
 
std::vector< primitive_iddependecies () const
 Returns copy of all primitive ids on which this primitive depends - inputs, weights, biases, etc.
 
 operator primitive_id () const
 Implicit conversion to primiitive id.
 

Static Public Member Functions

static primitive_type_id type_id ()
 

Public Attributes

std::vector< uint16_t > permute_order
 Array of permuted output order in bfyx format.
 
- Public Attributes inherited from cldnn::primitive
const primitive_type_id type
 Primitive's type id.
 
const primitive_id id
 Primitive's id.
 
fixed_size_vector_ref input
 List of ids of input primitives.
 
padding output_padding
 Requested output padding.
 

Protected Member Functions

void update_dto (dto &dto) const override
 
- Protected Member Functions inherited from cldnn::primitive_base< permute, cldnn_permute_desc >
 primitive_base (const primitive_id &id, const std::vector< primitive_id > &input, const padding &output_padding=padding())
 
 primitive_base (const cldnn_permute_desc *dto)
 
- Protected Member Functions inherited from cldnn::primitive
virtual std::vector< std::reference_wrapper< const primitive_id > > get_dependencies () const
 

Additional Inherited Members

- Protected Attributes inherited from cldnn::primitive
primitive_id_arr _input
 

Detailed Description

Permutes data in the memory, with respect to provided order.

Permute order is set as vector with positions meaning corresponding to tensor. Vector values represent dimensions to be permuted in bfyx format. For example:
input_dimensions = tensor{ 5, 3, 6, 3 }
permute_order = { 2, 3, 1, 0 }
output_dimensions = { 6, 3, 3, 5 }

When permute_order is { 0, 1, 2, 3 } then input_dimensions = output_dimensions

Definition at line 39 of file permute.hpp.

Constructor & Destructor Documentation

◆ permute()

cldnn::permute::permute ( const primitive_id id,
const primitive_id input,
const std::vector< uint16_t > &  permute_order = {},
const padding output_padding = padding() 
)
inline

Constructs permute primitive.

Parameters
idThis primitive id.
inputInput primitive id.
permute_orderArray of permuted output order in bfyx format.

Definition at line 47 of file permute.hpp.


The documentation for this struct was generated from the following file: