10 #include <unordered_map>
12 #include <transformations_visibility.hpp>
14 #include <ngraph/pass/pass.hpp>
15 #include <ngraph/opsets/opset3.hpp>
16 #include <ngraph/validation_util.hpp>
17 #include <ngraph/rt_info.hpp>
18 #include <ngraph/pass/graph_rewrite.hpp>
24 class NGRAPH_API ConvertPrecision;
73 using type_to_fuse_map = std::unordered_map<ngraph::NodeTypeInfo, std::function<bool(
const std::shared_ptr<ngraph::Node>&, ngraph::element::Type,
size_t idx)>>;
74 using precisions_array = std::vector<std::pair<ngraph::element::Type, ngraph::element::Type>>;
78 NGRAPH_RTTI_DECLARATION;
79 ConvertPrecision(ngraph::element::Type_t from, ngraph::element::Type_t to, type_to_fuse_map additional_type_to_fuse_map = {})
81 m_precisions(precisions_array {{ from, to }}),
82 m_additional_type_to_fuse_map(additional_type_to_fuse_map) {}
84 ConvertPrecision(
const precisions_array& precisions,
const type_to_fuse_map & additional_type_to_fuse_map = {})
86 m_precisions(precisions),
87 m_additional_type_to_fuse_map(additional_type_to_fuse_map) {}
89 bool run_on_function(std::shared_ptr<Function> f)
override;
91 precisions_array m_precisions;
92 type_to_fuse_map m_additional_type_to_fuse_map;
Definition: convert_precision.hpp:76
ngraph namespace
Definition: add_fake_quantize_fusion.hpp:14