23 #include <openvino/openvino.hpp>
26 #include <utils/config_factory.h>
36 ModelBase(
const std::string& modelFileName,
const std::string& layout =
"")
37 : modelFileName(modelFileName),
38 inputsLayouts(parseLayoutString(layout)) {}
42 virtual std::shared_ptr<InternalModelData> preprocess(
const InputData& inputData, ov::InferRequest& request) = 0;
43 virtual ov::CompiledModel compileModel(
const ModelConfig& config, ov::Core& core);
44 virtual void onLoadCompleted(
const std::vector<ov::InferRequest>& requests) {}
45 virtual std::unique_ptr<ResultBase> postprocess(
InferenceResult& infResult) = 0;
47 const std::vector<std::string>& getOutputsNames()
const {
50 const std::vector<std::string>& getInputsNames()
const {
54 std::string getModelFileName() {
58 void setInputsPreprocessing(
bool reverseInputChannels,
59 const std::string& meanValues,
60 const std::string& scaleValues) {
61 this->inputTransform =
InputTransform(reverseInputChannels, meanValues, scaleValues);
65 virtual void prepareInputsOutputs(std::shared_ptr<ov::Model>& model) = 0;
66 virtual void setBatch(std::shared_ptr<ov::Model>& model);
71 std::vector<std::string> inputsNames;
72 std::vector<std::string> outputsNames;
73 ov::CompiledModel compiledModel;
74 std::string modelFileName;
76 std::map<std::string, ov::Layout> inputsLayouts;
77 ov::Layout getInputLayout(
const ov::Output<ov::Node>& input);
Definition: model_base.h:34
std::shared_ptr< ov::Model > prepareModel(ov::Core &core)
Definition: model_base.cpp:28
a header file with common samples functionality
a header file with common samples functionality using OpenCV
Definition: internal_model_data.h:19
Definition: config_factory.h:26