pcod-common v1.0.0
Shared preprocessing and postprocessing for point-cloud object detection
Loading...
Searching...
No Matches
test_manifest_validation.cpp File Reference
#include "pcod_common/model_manifest.hpp"
#include "pcod_common/version.hpp"
#include <cassert>
#include <cmath>
#include <functional>
#include <stdexcept>
#include <string>

Go to the source code of this file.

Functions

int main ()
 

Function Documentation

◆ main()

int main ( )

Run manifest semantic validation regression checks.

Definition at line 83 of file test_manifest_validation.cpp.

83 {
84 {
85 auto manifest = MakeValidManifest();
87 }
88
89 {
90 auto bad = MakeValidManifest();
91 bad.schema_version = "1.0";
92 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
93 }
94
95 {
96 auto bad = MakeValidManifest();
97 bad.artifact.files.checkpoint.clear();
98 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
99 }
100
101 {
102 auto bad = MakeValidManifest();
103 bad.artifact.files.checkpoint = "../best.pt";
104 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
105 }
106
107 {
108 auto bad = MakeValidManifest();
109 bad.frozen_contract.preprocessing.max_num_points = 0;
110 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
111 }
112
113 {
114 auto bad = MakeValidManifest();
115 bad.frozen_contract.postprocessing.class_names = {"car"};
116 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
117 }
118
119 {
120 auto bad = MakeValidManifest();
121 bad.runtime_defaults.postprocessing.nms_score_thresholds = {};
122 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
123 }
124
125 {
126 auto bad = MakeValidManifest();
127 bad.artifact.outputs.clear();
128 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
129 }
130
131 {
132 auto bad = MakeValidManifest();
133 bad.runtime_defaults.preprocessing.point_feature.value_threshold = 0.0f;
134 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
135 }
136
137 {
138 auto bad = MakeValidManifest();
139 bad.frozen_contract.preprocessing.point_feature_normalization.type = "min_max";
140 bad.frozen_contract.preprocessing.point_feature_normalization.min_value = 5.0f;
141 bad.frozen_contract.preprocessing.point_feature_normalization.max_value = 5.0f;
142 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
143 }
144
145 {
146 auto bad = MakeValidManifest();
147 bad.frozen_contract.preprocessing.point_feature_normalization.type = "unsupported";
148 assert(ExpectRuntimeError([&]() { pcod_common::ValidateModelManifest(bad); }));
149 }
150
151 return 0;
152}
void ValidateModelManifest(const ModelManifest &manifest)

References pcod_common::ValidateModelManifest().