-
Notifications
You must be signed in to change notification settings - Fork 0
InferenceEngineTestsVPU
This document contains instructions for correctly modifying a set of regression tests.
Regression tests for Myriad and HDDL plugins are on the path:
inference-engine/tests/functional/vpu/regression_tests/
The tests are divided into 4 groups:
- Classification
- Detection
- Raw-results
- Compilation
- VPU hetero
Testing framework – Google Test. Each group contains parameterized tests. The main idea is that to add a new test, you only need to add a new parameter. Except for scenarios different from the generalized case.
These groups contains two cases:
- For generalized scenario (
VpuNoClassificationRegression, VpuNoDetectionRegression
) - For specific scenario (
VpuNoClassificationRegressionSpecific, VpuNoDetectionRegressionSpecific
)
If You want test new parameter(batch, precision, model and etc.) then You need to edit the existing initialization of parameterized tests or create a new one.
Example of initialization of parameterized tests:
INSTANTIATE_TEST_CASE_P(
VPURegTestWithResources_nightly,
VpuNoClassificationRegression,
Combine(ValuesIn(VpuTestParamsContainer::testingPlugin()),
Values(Precision::FP16),
Values(1), // batches
Values(true), //IsHwAdaptiveMode
Values(false), //DoReshape
Values(3, 5, 7), //Resources
Values(false), //IsIgnoreStatistic
Values(ClassificationSrcParam{ModelName::GoogleNetV1, SourceImages::kCat3, 0.01, Regression::EMean::eValues})),
VpuNoClassificationRegression::getTestCaseName);
If You need a test to perform some actions that are not provided in the generalized scenario, then add a specific test case. As with the generalized scenario You can change parameters for these tests.
Example of specific test case:
TEST_P(VpuNoClassificationRegressionSpecific, onAlexNetWithNetworkConfig) {
DISABLE_ON_WINDOWS_IF(HDDL_PLUGIN);
DISABLE_IF(do_reshape_);
if (!hw_adaptive_mode_) {
config_[VPU_CONFIG_KEY(NETWORK_CONFIG)] = "data=data,scale=1";
}
assertThat().classificationResultsForInferRequestAPI()
.on(SourceImages::kDog2)
.withInputPrecision(in_precision_)
.times(batch_)
.withBatch(batch_)
.onModel(ModelName::AlexNet)
.setMean(Regression::EMean::eImage)
.onFP16()
.withTopK(1)
.withPluginConfig(config_)
.equalToReferenceWithDelta(0.04);
}
There is no generalized scenario and recommendations are the same as for specific test cases for Classification/Detection groups.
The tests are in the vpu_classification_regression.cpp
file and contain only one scenario VpuNoRegressionWithCompilation
. To add a new test just update parameters just as in generalized scenario of Classification/Detection test groups.
© Copyright 2018-2022, OpenVINO team
- Home
- General resources
- How to build
-
Developer documentation
- Inference Engine architecture
- OpenVINO Python API
- CPU plugin
- GPU plugin
- HETERO plugin architecture
- Snippets
- Sample for IE C++/C/Python API
- Proxy plugin (Concept)
- Tests