Files
openvino/docs/HOWTO/add_regression_test_vpu.md
Nikolay Tyukaev ef45b5da8d Doc Migration (master) (#1377)
* Doc Migration from Gitlab (#1289)

* doc migration

* fix

* Update FakeQuantize_1.md

* Update performance_benchmarks.md

* Updates graphs for FPGA

* Update performance_benchmarks.md

* Change DL Workbench structure (#1)

* Changed DL Workbench structure

* Fixed tags

* fixes

* Update ie_docs.xml

* Update performance_benchmarks_faq.md

* Fixes in DL Workbench layout

* Fixes for CVS-31290

* [DL Workbench] Minor correction

* Fix for CVS-30955

* Added nGraph deprecation notice as requested by Zoe

* fix broken links in api doxy layouts

* CVS-31131 fixes

* Additional fixes

* Fixed POT TOC

* Update PAC_Configure.md

PAC DCP 1.2.1 install guide.

* Update inference_engine_intro.md

* fix broken link

* Update opset.md

* fix

* added opset4 to layout

* added new opsets to layout, set labels for them

* Update VisionAcceleratorFPGA_Configure.md

Updated from 2020.3 to 2020.4

Co-authored-by: domi2000 <domi2000@users.noreply.github.com>
2020-07-20 17:36:08 +03:00

3.2 KiB
Raw Blame History

Regression tests howto

Purpose

This document contains instructions for correctly modifying a set of regression tests.

Common

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.

Classsification and Detection tests

These groups contains two cases:

  • For generalized scenario ( VpuNoClassificationRegression, VpuNoDetectionRegression)
  • For specific scenario ( VpuNoClassificationRegressionSpecific, VpuNoDetectionRegressionSpecific)

Generalized scenario

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);

Specific scenario

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);
}

Raw-results tests

There is no generalized scenario and recommendations are the same as for specific test cases for Classification/Detection groups.

Compilation tests

The tests are in the vpu_classification_regression.cpp file and contains only one scenario VpuNoRegressionWithCompilation. To add a new test just update parameters just as in generalized scenarion of Classification/Detection test groups.