Cpp-Processing
CompilationParams.h
1 #pragma once
2 #include <ostream>
3 #include <tuple>
4 #include <map>
5 #include <any>
6 #include <string>
7 #include <iostream>
8 #include <algorithm>
9 
10 
11 namespace celantur {
28 typedef std::tuple<int, int, int> MinOptMaxDims;
29 
38 enum class OptimisationLevel {
39  Low,
40  Medium,
41  Full
42 };
43 
52 enum class CompilePrecision {
53  FP32,
54  FP16,
55  INT8
56 };
57 
58 
60 enum class InferenceEnginePluginId {
61  None,
62  TensorRT,
63  ONNX,
64  OpenVINO,
65  Total
66 };
68 
74 enum class LogSeverity {
75  Error,
76  Warning,
77  Debug
78 };
79 
87  float face{0.5f};
88  float license_plate{0.5f};
89  float person{0.5f};
90  float vehicle{0.5f};
91 
92  float min() const {
93  return std::min({face, license_plate, person, vehicle});
94  }
95 };
96 
101 typedef std::map<std::string, std::any > InferenceEnginePluginSettings;
102 
107 typedef std::map<std::string, std::any > InferenceEnginePluginCompileSettings;
109 }
110 
111 
116 std::istream& operator>>(std::istream& in, celantur::OptimisationLevel& opt_level);
117 std::ostream& operator<<(std::ostream& out, const celantur::OptimisationLevel& opt_level);
118 std::istream& operator>>(std::istream& in, celantur::CompilePrecision& precision);
119 std::ostream& operator<<(std::ostream& out, const celantur::CompilePrecision& precision);
120 std::istream& operator>>(std::istream& in, celantur::MinOptMaxDims& dims);
121 std::ostream& operator<<(std::ostream& out, const celantur::MinOptMaxDims& dims);
122 std::istream& operator>>(std::istream& in, celantur::InferenceEnginePluginId& plugin_id);
123 std::ostream& operator<<(std::ostream& out, const celantur::InferenceEnginePluginId& plugin_id);
124 std::istream& operator>>(std::istream& in, celantur::LogSeverity& log_severity);
125 std::ostream& operator<<(std::ostream& out, const celantur::LogSeverity& log_severity);
std::map< std::string, std::any > InferenceEnginePluginCompileSettings
The settings for compiling the model for the inference engine. The settings are passed as a map of ke...
Definition: CompilationParams.h:107
std::map< std::string, std::any > InferenceEnginePluginSettings
The settings for the inference engine used during runtime. The settings are passed as a map of key-va...
Definition: CompilationParams.h:101
std::ostream & operator<<(std::ostream &out, const celantur::OptimisationLevel &opt_level)
Definition: CompilationParams.cpp:21
LogSeverity
Enumeration for different log severity levels.
Definition: CompilationParams.h:74
std::istream & operator>>(std::istream &in, celantur::OptimisationLevel &opt_level)
Definition: CompilationParams.cpp:4
OptimisationLevel
Enumeration for different levels of optimization. This enum is used to specify the desired level of o...
Definition: CompilationParams.h:38
CompilePrecision
Enumeration for different precision levels during model compilation. This enum is used to specify the...
Definition: CompilationParams.h:52
std::tuple< int, int, int > MinOptMaxDims
A tuple representing minimum, optimal, and maximum dimensions. This tuple is used to specify the rang...
Definition: CompilationParams.h:28
Definition: CelanturDetection.h:6
Structure to hold model threshold values for different object classes. This structure contains thresh...
Definition: CompilationParams.h:86
float face
Definition: CompilationParams.h:87
float min() const
Definition: CompilationParams.h:92
float person
Definition: CompilationParams.h:89
float license_plate
Definition: CompilationParams.h:88
float vehicle
Definition: CompilationParams.h:90