Lens AI Profiler Cpp
modelprofile.h
1 
6 #ifndef MODEL_STATS_H
7 #define MODEL_STATS_H
8 
9 #include <string>
10 #include <vector>
11 #include <map>
12 #include "saver.h"
13 #include "generic.h"
14 #include <kll_sketch.hpp>
15 #include <frequent_items_sketch.hpp>
16 
17 // Assuming declarations for Saver, distributionBox, ClassificationResult, and YoloDetection
18 
23 typedef std::vector<std::pair<float, int>> ClassificationResults;
25 
26 class ModelProfile {
27 public:
34  ModelProfile(std::string model_id, std::string conf_path,
35  int save_interval, int top_classes);
36  ~ModelProfile();
37 
44  int log_classification_model_stats(float inference_latency, const ClassificationResults& results);
45 
52  //int log_yolov5_model_stats(float inference_latency, const YoloDetections& results);
53 
55  int getNumDistributionBoxes() const;
56  const distributionBox& getDistributionBox(unsigned int index) const;
57 
58 #ifndef TEST
59  private:
60 #endif
61 
62  Saver *saver;
63  // Member variables (declarations only, definitions in .cpp file)
64  std::string model_id_;
65  int top_classes_;
66  std::string statSavepath;
67  std::string dataSavepath;
68  std::map<std::string, std::vector<std::string>> modelConfig;
69  std::vector<float> inference_latency_;
70  std::vector<int> no_detections_per_image_;
71  std::vector<double> objectnessbox_;
72  distributionBox *dBox;
73  std::map<int, distributionBox*> model_classes_stat_;
74 };
75 
76 #endif // MODEL_STATS_H
Class for computing and managing various model statistics.
Definition: modelprofile.h:26
ModelProfile(std::string model_id, std::string conf_path, int save_interval, int top_classes)
Constructor to initialize ModelProfile object.
Definition: modelprofile.cpp:23
int log_classification_model_stats(float inference_latency, const ClassificationResults &results)
Logs statistics for a classification model.
Definition: modelprofile.cpp:65
frequent_class_sketch * sketch1
Logs statistics for a YOLOv5 model.
Definition: modelprofile.h:54
Definition: saver.h:38
Definition: frequent_items_sketch.hpp:55