The transformation finds all TensorIterator layers in the network, processes all back edges that describe a connection between Result and Parameter of the TensorIterator body,and inserts ReadValue layer between Parameter and the next layers after this Parameter, and Assign layer after the layers before the Result layer. Supported platforms: CPU, GNA. More...
#include <low_latency.hpp>
Data Fields | |
NGRAPH_RTTI_DECLARATION | |
Data Fields inherited from ngraph::pass::MatcherPass | |
NGRAPH_RTTI_DECLARATION | |
Additional Inherited Members | |
Public Types inherited from ngraph::pass::PassBase | |
using | type_info_t = DiscreteTypeInfo |
Public Member Functions inherited from ngraph::pass::MatcherPass | |
MatcherPass (const MatcherPass &)=delete | |
MatcherPass & | operator= (const MatcherPass &)=delete |
MatcherPass (const std::string &name, const std::shared_ptr< pattern::Matcher > &m, const handler_callback &handler, const PassPropertyMask &property=PassProperty::CHANGE_DYNAMIC_STATE) | |
bool | apply (std::shared_ptr< ngraph::Node > node) |
template<typename T , class... Args> | |
std::shared_ptr< T > | register_new_node (Args &&... args) |
const std::vector< std::shared_ptr< ngraph::Node > > & | get_new_nodes () |
void | clear_new_nodes () |
std::shared_ptr< pattern::Matcher > | get_matcher () |
Public Member Functions inherited from ngraph::pass::PassBase | |
bool | get_property (const PassPropertyMask &prop_mask) const |
Check if this pass has all the pass properties. | |
void | set_name (const std::string &name) |
std::string | get_name () const |
void | set_callback (const param_callback &callback) |
Set callback for particular transformation type. This method set global callback. For more details see PassConfig class documentation. More... | |
virtual void | set_pass_config (const std::shared_ptr< PassConfig > &pass_config) |
Set PassConfig for particular transformation instance. More... | |
std::shared_ptr< PassConfig > | get_pass_config () |
Allows to access PassConfig shared instance. More... | |
bool | m_transformation_callback (const std::shared_ptr< const Node > &node) |
Applies callback for given node. By default callback returns false. This method remains here only for backward compatibility and will be removed after all transformations are moved to transformation_callback() method. More... | |
bool | transformation_callback (const std::shared_ptr< const Node > &node) |
Applies callback for given node. By default callback returns false. More... | |
virtual const type_info_t & | get_type_info () const =0 |
Protected Member Functions inherited from ngraph::pass::MatcherPass | |
void | register_matcher (const std::shared_ptr< pattern::Matcher > &m, const ngraph::graph_rewrite_callback &callback, const PassPropertyMask &property=PassProperty::CHANGE_DYNAMIC_STATE) |
Protected Member Functions inherited from ngraph::pass::PassBase | |
void | set_property (const PassPropertyMask &prop, bool value) |
The transformation finds all TensorIterator layers in the network, processes all back edges that describe a connection between Result and Parameter of the TensorIterator body,and inserts ReadValue layer between Parameter and the next layers after this Parameter, and Assign layer after the layers before the Result layer. Supported platforms: CPU, GNA.
The example below describes the changes to the inner part (body, back edges) of the Tensor Iterator layer. [] - TensorIterator body () - new layer
before applying the transformation: back_edge_1 -> [Parameter -> some layers ... -> Result ] -> back_edge_1
after applying the transformation: back_edge_1 -> [Parameter -> (ReadValue layer) -> some layers ... -> (Assign layer) ] \ -> Result ] -> back_edge_1
It is recommended to use this transformation in conjunction with the Reshape feature to set sequence dimension to 1 and with the UnrollTensorIterator transformation. For convenience, we have already enabled the unconditional execution of the UnrollTensorIterator transformation when using the LowLatency transformation for CPU, GNA plugins, no action is required here. After applying both of these transformations, the resulting network can be inferred step by step, the states will store between inferences.