[EISW-89820] [releases/2023/0] Rename VPUX to NPU (#19002)

* Change `VPUX` occurences to `NPU`

* Change library for `NPU` device in `api_conformance_helpers.hpp`

* Rename `MYRIAD plugin`

* Switch `HARDWARE_AWARE_IGNORED_PATTERNS` VPU to NPU

* Rename DEVICE_KEEMBAY to DEVICE_NPU

* Rename VPUX_DEVICE_NAME to NPU_DEVICE_NAME

* Rename vpu_patterns to npu_patterns

* Change VPUX occurences to NPU after review

* Remove VPUX device comment

* Change VPUX/vpu to NPU in tests/time_tests

* Rename VPU to NPU in docs after review

* Rename VPU to NPU in tools/pot after review

* Renamed vpu.json to npu.json in tools/pot after review

* Restore CommonTestUtils::DEVICE_KEEMBAY

---------

Co-authored-by: MirceaDan99 <mircea-aurelian.dan@intel.com>
This commit is contained in:
Stefania Hergane
2023-08-08 23:19:25 +03:00
committed by GitHub
parent cac7e2e1c4
commit a6351294e7
43 changed files with 714 additions and 716 deletions

View File

@@ -11,7 +11,7 @@
The Automatic Batching Execution mode (or Auto-batching for short) performs automatic batching on-the-fly to improve device utilization by grouping inference requests together, without programming effort from the user.
With Automatic Batching, gathering the input and scattering the output from the individual inference requests required for the batch happen transparently, without affecting the application code.
Auto Batching can be used :ref:`directly as a virtual device <auto-batching-as-device>` or as an :ref:`option for inference on CPU/GPU/VPU <auto-batching-as-option>` (by means of configuration/hint). These 2 ways are provided for the user to enable the BATCH devices **explicitly** or **implicitly**, with the underlying logic remaining the same. An example of the difference is that the CPU device doesnt support implicitly to enable BATCH device, commands such as ``./benchmark_app -m <model> -d CPU -hint tput`` will not apply BATCH device **implicitly**, but ``./benchmark_app -m <model> -d "BATCH:CPU(16)`` can **explicitly** load BATCH device.
Auto Batching can be used :ref:`directly as a virtual device <auto-batching-as-device>` or as an :ref:`option for inference on CPU/GPU/NPU <auto-batching-as-option>` (by means of configuration/hint). These 2 ways are provided for the user to enable the BATCH devices **explicitly** or **implicitly**, with the underlying logic remaining the same. An example of the difference is that the CPU device doesnt support implicitly to enable BATCH device, commands such as ``./benchmark_app -m <model> -d CPU -hint tput`` will not apply BATCH device **implicitly**, but ``./benchmark_app -m <model> -d "BATCH:CPU(16)`` can **explicitly** load BATCH device.
Auto-batching primarily targets the existing code written for inferencing many requests, each instance with the batch size 1. To get corresponding performance improvements, the application **must be running multiple inference requests simultaneously**.
Auto-batching can also be used via a particular *virtual* device.

View File

@@ -191,7 +191,7 @@ Tune quantization parameters
regex = '.*layer_.*'
nncf.quantize(model, dataset, ignored_scope=nncf.IgnoredScope(patterns=regex))
* ``target_device`` - defines the target device, the specificity of which will be taken into account during optimization. The following values are supported: ``ANY`` (default), ``CPU``, ``CPU_SPR``, ``GPU``, and ``VPU``.
* ``target_device`` - defines the target device, the specificity of which will be taken into account during optimization. The following values are supported: ``ANY`` (default), ``CPU``, ``CPU_SPR``, ``GPU``, and ``NPU``.
.. code-block:: sh

View File

@@ -96,7 +96,7 @@ Several execution modes are supported via the ``-d`` flag:
- ``CPU`` - All calculations are performed on CPU device using CPU Plugin.
- ``GPU`` - All calculations are performed on GPU device using GPU Plugin.
- ``VPUX`` - All calculations are performed on VPUX device using VPUX Plugin.
- ``NPU`` - All calculations are performed on NPU device using NPU Plugin.
- ``GNA_AUTO`` - GNA hardware is used if available and the driver is installed. Otherwise, the GNA device is emulated in fast-but-not-bit-exact mode.
- ``GNA_HW`` - GNA hardware is used if available and the driver is installed. Otherwise, an error will occur.
- ``GNA_SW`` - Deprecated. The GNA device is emulated in fast-but-not-bit-exact mode.
@@ -144,7 +144,7 @@ Usage message:
-i "<path>" Required. Path(s) to input file(s). Usage for a single file/layer: <input_file.ark> or <input_file.npz>. Example of usage for several files/layers: <layer1>:<port_num1>=<input_file1.ark>,<layer2>:<port_num2>=<input_file2.ark>.
-m "<path>" Required. Path to an .xml file with a trained model (required if -rg is missing).
-o "<path>" Optional. Output file name(s) to save scores (inference results). Example of usage for a single file/layer: <output_file.ark> or <output_file.npz>. Example of usage for several files/layers: <layer1>:<port_num1>=<output_file1.ark>,<layer2>:<port_num2>=<output_file2.ark>.
-d "<device>" Optional. Specify a target device to infer on. CPU, GPU, VPUX, GNA_AUTO, GNA_HW, GNA_HW_WITH_SW_FBACK, GNA_SW_FP32, GNA_SW_EXACT and HETERO with combination of GNA as the primary device and CPU as a secondary (e.g. HETERO:GNA,CPU) are supported. The sample will look for a suitable plugin for device specified.
-d "<device>" Optional. Specify a target device to infer on. CPU, GPU, NPU, GNA_AUTO, GNA_HW, GNA_HW_WITH_SW_FBACK, GNA_SW_FP32, GNA_SW_EXACT and HETERO with combination of GNA as the primary device and CPU as a secondary (e.g. HETERO:GNA,CPU) are supported. The sample will look for a suitable plugin for device specified.
-pc Optional. Enables per-layer performance report.
-q "<mode>" Optional. Input quantization mode for GNA: static (default) or user defined (use with -sf).
-qb "<integer>" Optional. Weight resolution in bits for GNA quantization: 8 or 16 (default)
@@ -162,7 +162,7 @@ Usage message:
-compile_target "<string>" Optional. Specify GNA compile target generation. May be one of GNA_TARGET_2_0, GNA_TARGET_3_0. By default, generation corresponds to the GNA HW available in the system or the latest fully supported generation by the software. See the GNA Plugin's GNA_COMPILE_TARGET config option description.
-memory_reuse_off Optional. Disables memory optimizations for compiled model.
Available target devices: CPU GNA GPU VPUX
Available target devices: CPU GNA GPU NPU
.. _model-preparation-speech:

View File

@@ -24,7 +24,7 @@ static const char model_message[] = "Required. Path to an .xml file with a train
/// @brief message for assigning calculation to device
static const char target_device_message[] =
"Optional. Specify a target device to infer on. CPU, GPU, VPUX, GNA_AUTO, GNA_HW, "
"Optional. Specify a target device to infer on. CPU, GPU, NPU, GNA_AUTO, GNA_HW, "
"GNA_HW_WITH_SW_FBACK, GNA_SW_FP32, "
"GNA_SW_EXACT and HETERO with combination of GNA as the primary device and CPU"
" as a secondary (e.g. HETERO:GNA,CPU) are supported. "
@@ -274,7 +274,7 @@ bool parse_and_check_command_line(int argc, char* argv[]) {
"HETERO:GNA_HW,CPU",
"HETERO:GNA_SW_EXACT,CPU",
"HETERO:GNA_SW_FP32,CPU",
"VPUX"};
"NPU"};
if (std::find(supportedDevices.begin(), supportedDevices.end(), FLAGS_d) == supportedDevices.end()) {
throw std::logic_error("Specified device is not supported.");

View File

@@ -95,7 +95,7 @@ Several execution modes are supported via the ``-d`` flag:
- ``CPU`` - All calculations are performed on CPU device using CPU Plugin.
- ``GPU`` - All calculations are performed on GPU device using GPU Plugin.
- ``VPUX`` - All calculations are performed on VPUX device using VPUX Plugin.
- ``NPU`` - All calculations are performed on NPU device using NPU Plugin.
- ``GNA_AUTO`` - GNA hardware is used if available and the driver is installed. Otherwise, the GNA device is emulated in fast-but-not-bit-exact mode.
- ``GNA_HW`` - GNA hardware is used if available and the driver is installed. Otherwise, an error will occur.
- ``GNA_SW`` - Deprecated. The GNA device is emulated in fast-but-not-bit-exact mode.
@@ -155,7 +155,7 @@ Usage message:
Usage for a single file/layer: <reference_file.ark> or <reference_file.npz>.
Example of usage for several files/layers: <layer1>:<port_num1>=<reference_file1.ark>,<layer2>:<port_num2>=<reference_file2.ark>.
-d DEVICE, --device DEVICE
Optional. Specify a target device to infer on. CPU, GPU, VPUX, GNA_AUTO, GNA_HW, GNA_SW_FP32,
Optional. Specify a target device to infer on. CPU, GPU, NPU, GNA_AUTO, GNA_HW, GNA_SW_FP32,
GNA_SW_EXACT and HETERO with combination of GNA as the primary device and CPU as a secondary (e.g.
HETERO:GNA,CPU) are supported. The sample will look for a suitable plugin for device specified.
Default value is CPU.

View File

@@ -32,7 +32,7 @@ def build_arg_parser() -> argparse.ArgumentParser:
'Example of usage for several files/layers: <layer1>:<port_num1>=<reference_file1.ark>,<layer2>:<port_num2>=<reference_file2.ark>.')
args.add_argument('-d', '--device', default='CPU', type=str,
help='Optional. Specify a target device to infer on. '
'CPU, GPU, VPUX, GNA_AUTO, GNA_HW, GNA_SW_FP32, GNA_SW_EXACT and HETERO with combination of GNA'
'CPU, GPU, NPU, GNA_AUTO, GNA_HW, GNA_SW_FP32, GNA_SW_EXACT and HETERO with combination of GNA'
' as the primary device and CPU as a secondary (e.g. HETERO:GNA,CPU) are supported. '
'The sample will look for a suitable plugin for device specified. Default value is CPU.')
args.add_argument('-bs', '--batch_size', type=int, choices=range(1, 9), metavar='[1-8]',

View File

@@ -50,7 +50,7 @@ DECLARE_VPU_CONFIG(MYRIAD_PCIE);
DECLARE_VPU_CONFIG(MYRIAD_USB);
/**
* @brief Optimize vpu plugin execution to maximize throughput.
* @brief Optimize MYRIAD plugin execution to maximize throughput.
* This option should be used with integer value which is the requested number of streams.
* The only possible values are:
* 1

View File

@@ -215,7 +215,7 @@ IE::Parameter AutoExecutableNetwork::GetMetric(const std::string& name) const {
iie.what());
}
real = (std::max)(requests, optimalBatchSize);
} else if (deviceInfo.deviceName.find("VPUX") != std::string::npos) {
} else if (deviceInfo.deviceName.find("NPU") != std::string::npos) {
real = 8u;
} else {
real = upperBoundStreamsNum ? 2 * upperBoundStreamsNum : defaultNumForTPUT;

View File

@@ -644,10 +644,10 @@ void AutoSchedule::TryToLoadNetWork(AutoLoadContext& context, const std::string&
}
// need to reload network, unregister it's priority
// there maybe potential issue.
// for example they are dGPU, VPUX, iGPU, customer want to LoadNetwork with
// configure 0 dGPU, 1 VPUX, if dGPU load failed,
// the result will be not sure, maybe two network are loaded into VPUX,
// maybe 0 is loaded to VPUX, 1 is loaded to iGPU
// for example they are dGPU, NPU, iGPU, customer want to LoadNetwork with
// configure 0 dGPU, 1 NPU, if dGPU load failed,
// the result will be not sure, maybe two network are loaded into NPU,
// maybe 0 is loaded to NPU, 1 is loaded to iGPU
_autoSContext->_plugin->UnregisterPriority(_autoSContext->_modelPriority, context.deviceInfo.uniqueName);
// remove the current device from deviceList
auto eraseDevice = deviceChecker().checkAndReturnIfDeviceInList(device, deviceList, true);

View File

@@ -533,7 +533,7 @@ std::list<DeviceInformation> MultiDeviceInferencePlugin::GetValidDevice(
std::list<DeviceInformation> dGPU;
std::list<DeviceInformation> iGPU;
std::list<DeviceInformation> MYRIAD;
std::list<DeviceInformation> VPUX;
std::list<DeviceInformation> NPU;
for (auto& item : metaDevices) {
if (item.deviceName.find("CPU") == 0) {
@@ -544,8 +544,8 @@ std::list<DeviceInformation> MultiDeviceInferencePlugin::GetValidDevice(
MYRIAD.push_back(item);
continue;
}
if (item.deviceName.find("VPUX") == 0) {
VPUX.push_back(item);
if (item.deviceName.find("NPU") == 0) {
NPU.push_back(item);
continue;
}
if (item.deviceName.find("GPU") == 0) {
@@ -566,14 +566,14 @@ std::list<DeviceInformation> MultiDeviceInferencePlugin::GetValidDevice(
}
}
// Priority of selecting device: dGPU > VPUX > iGPU > MYRIAD > CPU
// Priority of selecting device: dGPU > NPU > iGPU > MYRIAD > CPU
std::list<DeviceInformation> devices;
if (networkPrecision == "INT8") {
devices.splice(devices.end(), VPUX);
devices.splice(devices.end(), NPU);
devices.splice(devices.end(), dGPU);
} else {
devices.splice(devices.end(), dGPU);
devices.splice(devices.end(), VPUX);
devices.splice(devices.end(), NPU);
}
devices.splice(devices.end(), iGPU);
devices.splice(devices.end(), MYRIAD);

View File

@@ -7,7 +7,7 @@ namespace MultiDevicePlugin {
// AUTO will enable the blocklist if
// 1.No device priority passed to AUTO/MULTI.(eg. core.compile_model(model, "AUTO", configs);)
// 2.No valid device parsed out from device priority (eg. core.compile_model(model, "AUTO:-CPU,-GPU", configs);).
const std::set<std::string> PluginConfig::_deviceBlocklist = {"VPUX", "GNA", "notIntelGPU"};
const std::set<std::string> PluginConfig::_deviceBlocklist = {"NPU", "GNA", "notIntelGPU"};
PluginConfig::PluginConfig() {
set_default();

View File

@@ -43,27 +43,27 @@ public:
ov::SoPtr<IExecutableNetworkInternal> mockExeNetwork;
ov::SoPtr<IExecutableNetworkInternal> mockExeNetworkGPU_0;
ov::SoPtr<IExecutableNetworkInternal> mockExeNetworkGPU_1;
ov::SoPtr<IExecutableNetworkInternal> mockExeNetworkVPUX;
ov::SoPtr<IExecutableNetworkInternal> mockExeNetworkNPU;
std::shared_ptr<NiceMock<MockIInferRequestInternal>> inferReqInternal;
std::shared_ptr<NiceMock<MockIInferRequestInternal>> inferReqInternalGPU_0;
std::shared_ptr<NiceMock<MockIInferRequestInternal>> inferReqInternalGPU_1;
std::shared_ptr<NiceMock<MockIInferRequestInternal>> inferReqInternalVPUX;
std::shared_ptr<NiceMock<MockIInferRequestInternal>> inferReqInternalNPU;
std::shared_ptr<NiceMock<MockIExecutableNetworkInternal>> mockIExeNet;
std::shared_ptr<NiceMock<MockIExecutableNetworkInternal>> mockIExeNetGPU_0;
std::shared_ptr<NiceMock<MockIExecutableNetworkInternal>> mockIExeNetGPU_1;
std::shared_ptr<NiceMock<MockIExecutableNetworkInternal>> mockIExeNetVPUX;
std::shared_ptr<NiceMock<MockIExecutableNetworkInternal>> mockIExeNetNPU;
std::shared_ptr<mockAsyncInferRequest> mockInferrequest;
std::shared_ptr<mockAsyncInferRequest> mockInferrequestGPU_0;
std::shared_ptr<mockAsyncInferRequest> mockInferrequestGPU_1;
std::shared_ptr<mockAsyncInferRequest> mockInferrequestVPUX;
std::shared_ptr<mockAsyncInferRequest> mockInferrequestNPU;
std::shared_ptr<ImmediateExecutor> mockExecutor;
std::shared_ptr<ImmediateExecutor> mockExecutorGPU_0;
std::shared_ptr<ImmediateExecutor> mockExecutorGPU_1;
std::shared_ptr<ImmediateExecutor> mockExecutorVPUX;
std::shared_ptr<ImmediateExecutor> mockExecutorNPU;
size_t optimalNum;
@@ -110,19 +110,19 @@ public:
inferReqInternal.reset();
inferReqInternalGPU_0.reset();
inferReqInternalGPU_1.reset();
inferReqInternalVPUX.reset();
inferReqInternalNPU.reset();
mockIExeNet.reset();
mockIExeNetGPU_0.reset();
mockIExeNetGPU_1.reset();
mockIExeNetVPUX.reset();
mockIExeNetNPU.reset();
mockIExeNet.reset();
mockIExeNetGPU_0.reset();
mockIExeNetGPU_1.reset();
mockIExeNetVPUX.reset();
mockIExeNetNPU.reset();
mockExecutor.reset();
mockExecutorGPU_0.reset();
mockExecutorGPU_1.reset();
mockExecutorVPUX.reset();
mockExecutorNPU.reset();
}
void SetUp() override {
@@ -136,8 +136,8 @@ public:
mockIExeNetGPU_1 = std::make_shared<NiceMock<MockIExecutableNetworkInternal>>();
mockExeNetworkGPU_1 = {mockIExeNetGPU_1, {}};
mockIExeNetVPUX = std::make_shared<NiceMock<MockIExecutableNetworkInternal>>();
mockExeNetworkVPUX = {mockIExeNetVPUX, {}};
mockIExeNetNPU = std::make_shared<NiceMock<MockIExecutableNetworkInternal>>();
mockExeNetworkNPU = {mockIExeNetNPU, {}};
// prepare mockicore and cnnNetwork for loading
core = std::make_shared<NiceMock<MockICore>>();
@@ -150,7 +150,7 @@ public:
IE_SET_METRIC(SUPPORTED_CONFIG_KEYS, supportConfigs, {});
ON_CALL(*core, GetMetric(_, StrEq(METRIC_KEY(SUPPORTED_CONFIG_KEYS)), _)).WillByDefault(Return(supportConfigs));
ON_CALL(*core, GetConfig(_, StrEq(ov::compilation_num_threads.name()))).WillByDefault(Return(12));
std::vector<std::string> availableDevs = {"CPU", "GPU.0", "GPU.1", "VPUX"};
std::vector<std::string> availableDevs = {"CPU", "GPU.0", "GPU.1", "NPU"};
ON_CALL(*core, GetAvailableDevices()).WillByDefault(Return(availableDevs));
std::vector<std::string> metrics = {METRIC_KEY(SUPPORTED_CONFIG_KEYS)};
@@ -173,7 +173,7 @@ public:
::testing::Matcher<const std::string&>(StrEq(CommonTestUtils::DEVICE_KEEMBAY)),
::testing::Matcher<const Config&>(_))).WillByDefault(InvokeWithoutArgs([this]() {
std::this_thread::sleep_for(std::chrono::milliseconds(200));
return mockExeNetworkVPUX; }));
return mockExeNetworkNPU; }));
ON_CALL(*core, LoadNetwork(::testing::Matcher<const InferenceEngine::CNNNetwork&>(_),
::testing::Matcher<const std::string&>(StrEq(CommonTestUtils::DEVICE_CPU)),
@@ -224,9 +224,9 @@ public:
ON_CALL(*mockIExeNetGPU_1.get(), GetMetric(StrEq(METRIC_KEY(OPTIMAL_NUMBER_OF_INFER_REQUESTS))))
.WillByDefault(Return(optimalNum));
inferReqInternalVPUX = std::make_shared<NiceMock<MockIInferRequestInternal>>();
mockExecutorVPUX = std::make_shared<ImmediateExecutor>();
ON_CALL(*mockIExeNetVPUX.get(), GetMetric(StrEq(METRIC_KEY(OPTIMAL_NUMBER_OF_INFER_REQUESTS))))
inferReqInternalNPU = std::make_shared<NiceMock<MockIInferRequestInternal>>();
mockExecutorNPU = std::make_shared<ImmediateExecutor>();
ON_CALL(*mockIExeNetNPU.get(), GetMetric(StrEq(METRIC_KEY(OPTIMAL_NUMBER_OF_INFER_REQUESTS))))
.WillByDefault(Return(optimalNum));
}
};
@@ -275,12 +275,12 @@ TEST_P(AutoRuntimeFallback, releaseResource) {
std::this_thread::sleep_for(std::chrono::milliseconds(0));
return mockInferrequestGPU_1; }));
}
} else if (deviceName == "VPUX") {
mockInferrequestVPUX = std::make_shared<mockAsyncInferRequest>(
inferReqInternalVPUX, mockExecutorVPUX, nullptr, ifThrow);
ON_CALL(*mockIExeNetVPUX.get(), CreateInferRequest()).WillByDefault(InvokeWithoutArgs([this]() {
} else if (deviceName == "NPU") {
mockInferrequestNPU = std::make_shared<mockAsyncInferRequest>(
inferReqInternalNPU, mockExecutorNPU, nullptr, ifThrow);
ON_CALL(*mockIExeNetNPU.get(), CreateInferRequest()).WillByDefault(InvokeWithoutArgs([this]() {
std::this_thread::sleep_for(std::chrono::milliseconds(0));
return mockInferrequestVPUX; }));
return mockInferrequestNPU; }));
} else {
return;
}
@@ -321,10 +321,10 @@ const std::vector<ConfigParams> testConfigs = {
ConfigParams{{{"GPU.0", false}, {"CPU", true}}, 2, true, false, false, false},
ConfigParams{{{"GPU.0", true}, {"CPU", true}}, 2, true, true, false, false},
// 3 devices
ConfigParams{{{"GPU.0", false}, {"GPU.1", false}, {"VPUX", false}}, 1, true, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"VPUX", false}}, 2, true, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"VPUX", false}}, 3, true, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"VPUX", true}}, 3, true, true, false, false},
ConfigParams{{{"GPU.0", false}, {"GPU.1", false}, {"NPU", false}}, 1, true, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"NPU", false}}, 2, true, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"NPU", false}}, 3, true, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"NPU", true}}, 3, true, true, false, false},
//CPU_HELP does not throw
ConfigParams{{{"GPU.0", false}, {"GPU.1", false}, {"CPU", false}}, 2, true, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"CPU", false}}, 2, true, false, false, false},
@@ -345,10 +345,10 @@ const std::vector<ConfigParams> testConfigs = {
ConfigParams{{{"GPU.0", false}, {"CPU", true}}, 2, false, true, false, false},
ConfigParams{{{"GPU.0", true}, {"CPU", true}}, 2, false, true, false, false},
// 3 devices
ConfigParams{{{"GPU.0", false}, {"GPU.1", false}, {"VPUX", false}}, 1, false, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"VPUX", false}}, 1, false, true, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"VPUX", false}}, 1, false, true, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"VPUX", true}}, 1, false, true, false, false},
ConfigParams{{{"GPU.0", false}, {"GPU.1", false}, {"NPU", false}}, 1, false, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"NPU", false}}, 1, false, true, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"NPU", false}}, 1, false, true, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"NPU", true}}, 1, false, true, false, false},
//CPU_HELP does not throw
ConfigParams{{{"GPU.0", false}, {"GPU.1", false}, {"CPU", false}}, 2, false, false, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"CPU", false}}, 2, false, false, false, false},
@@ -358,8 +358,8 @@ const std::vector<ConfigParams> testConfigs = {
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"CPU", true}}, 2, false, true, false, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", true}, {"CPU", true}}, 2, false, true, false, false},
// loadFail and CreateInferRequestFail
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"VPUX", false}}, 3, true, false, true, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"VPUX", false}}, 3, true, false, false, true},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"NPU", false}}, 3, true, false, true, false},
ConfigParams{{{"GPU.0", true}, {"GPU.1", false}, {"NPU", false}}, 3, true, false, false, true},
};
INSTANTIATE_TEST_SUITE_P(smoke_AutoRuntimeFallback, AutoRuntimeFallback,

View File

@@ -217,7 +217,7 @@ TEST_P(AutoLoadFailedTest, LoadCNNetWork) {
metaDevices.push_back(std::move(devInfo));
// set the return value of SelectDevice
// for example if there are three device, if will return GPU on the first call, and then MYRIAD
// for example if there are three device, if will return GPU on the first call, and then NPU
// at last CPU
ON_CALL(*plugin, SelectDevice(Property(&std::vector<DeviceInformation>::size, Eq(selDevsSize)), _, _))
.WillByDefault(Return(metaDevices[deviceConfigs.size() - selDevsSize]));
@@ -272,12 +272,12 @@ TEST_P(AutoLoadFailedTest, LoadCNNetWork) {
// { true, false, GENERAL, 3 device, 2, 3, 2}
//
// there are three devices for loading
// CPU load for accelerator success, but GPU will load faild and then select MYRIAD and load again
// CPU load for accelerator success, but GPU will load faild and then select NPU and load again
// LoadExeNetworkImpl will not throw exception and can continue to run,
// it will select twice, first select GPU, second select MYRIAD
// it will load network three times(CPU, GPU, MYRIAD)
// it will select twice, first select GPU, second select NPU
// it will load network three times(CPU, GPU, NPU)
// the inference request num is loadSuccessCount * optimalNum, in this test case optimalNum is 2
// so inference request num is 4 (CPU 2, MYRIAD 2)
// so inference request num is 4 (CPU 2, NPU 2)
//
const std::vector<ConfigParams> testConfigs = {ConfigParams {true, false, GENERAL, {DeviceParams {CommonTestUtils::DEVICE_GPU, true},
DeviceParams {CommonTestUtils::DEVICE_KEEMBAY, true},

View File

@@ -254,12 +254,12 @@ TEST_P(ExecNetworkGetMetricOptimalNumInferReq, OPTIMAL_NUMBER_OF_INFER_REQUESTS)
InferenceEngine::PluginConfigParams::THROUGHPUT}}, actualCustomerNum, ""});
// enable autoBatch
IE_SET_METRIC(OPTIMAL_BATCH_SIZE, gpuOptimalBatchNum, 8);
IE_SET_METRIC(OPTIMAL_BATCH_SIZE, keembayOptimalBatchNum, 1);
IE_SET_METRIC(OPTIMAL_BATCH_SIZE, npuOptimalBatchNum, 1);
IE_SET_METRIC(RANGE_FOR_STREAMS, rangeOfStreams, std::make_tuple<unsigned int, unsigned int>(1, 3));
ON_CALL(*core.get(), GetMetric(StrEq(CommonTestUtils::DEVICE_GPU), StrEq(METRIC_KEY(OPTIMAL_BATCH_SIZE)), _))
.WillByDefault(RETURN_MOCK_VALUE(gpuOptimalBatchNum));
ON_CALL(*core.get(), GetMetric(StrEq(CommonTestUtils::DEVICE_KEEMBAY), StrEq(METRIC_KEY(OPTIMAL_BATCH_SIZE)), _))
.WillByDefault(RETURN_MOCK_VALUE(keembayOptimalBatchNum));
.WillByDefault(RETURN_MOCK_VALUE(npuOptimalBatchNum));
ON_CALL(*core.get(), GetMetric(_, StrEq(METRIC_KEY(RANGE_FOR_STREAMS)), _))
.WillByDefault(RETURN_MOCK_VALUE(rangeOfStreams));
ON_CALL(*core.get(), GetConfig(_, StrEq(CONFIG_KEY(PERFORMANCE_HINT))))

View File

@@ -32,8 +32,8 @@ using ::testing::_;
using Config = std::map<std::string, std::string>;
using namespace MockMultiDevice;
const std::vector<std::string> availableDevs = {"CPU", "GPU", "VPUX"};
const std::vector<std::string> availableDevsWithId = {"CPU", "GPU.0", "GPU.1", "VPUX"};
const std::vector<std::string> availableDevs = {"CPU", "GPU", "NPU"};
const std::vector<std::string> availableDevsWithId = {"CPU", "GPU.0", "GPU.1", "NPU"};
using Params = std::tuple<std::string, std::string>;
using ConfigParams = std::tuple<
std::vector<std::string>, // Available devices retrieved from Core
@@ -141,8 +141,8 @@ const std::vector<Params> testConfigsWithId = {Params{" ", " "},
Params{"CPU,,GPU", "CPU,GPU.0,GPU.1"},
Params{"CPU, ,GPU", "CPU, ,GPU.0,GPU.1"},
Params{"CPU,GPU,GPU.1", "CPU,GPU.0,GPU.1"},
Params{"CPU,GPU,VPUX,INVALID_DEVICE", "CPU,GPU.0,GPU.1,VPUX,INVALID_DEVICE"},
Params{"VPUX,GPU,CPU,-GPU.0", "VPUX,GPU.1,CPU"},
Params{"CPU,GPU,NPU,INVALID_DEVICE", "CPU,GPU.0,GPU.1,NPU,INVALID_DEVICE"},
Params{"NPU,GPU,CPU,-GPU.0", "NPU,GPU.1,CPU"},
Params{"-GPU.0,GPU,CPU", "GPU.1,CPU"},
Params{"-GPU.0,GPU", "GPU.1"},
Params{"-GPU,GPU.0", "GPU.0"},
@@ -176,10 +176,10 @@ const std::vector<Params> testConfigs = {Params{" ", " "},
Params{"CPU,GPU,GPU.0", "CPU,GPU"},
Params{"CPU,GPU,GPU.1", "CPU,GPU,GPU.1"},
Params{"CPU,GPU.1,GPU", "CPU,GPU.1,GPU"},
Params{"CPU,VPUX", "CPU,VPUX"},
Params{"CPU,-VPUX", "CPU"},
Params{"CPU,NPU", "CPU,NPU"},
Params{"CPU,-NPU", "CPU"},
Params{"CPU,-INVALID_DEVICE", "CPU"},
Params{"CPU,GPU,VPUX", "CPU,GPU,VPUX"}};
Params{"CPU,GPU,NPU", "CPU,GPU,NPU"}};
const std::vector<Params> testConfigsWithIdNotInteldGPU = {Params{" ", " "},
Params{"", "CPU,GPU.0"},
@@ -189,8 +189,8 @@ const std::vector<Params> testConfigsWithIdNotInteldGPU = {Params{" ", " "},
Params{"CPU,,GPU", "CPU,GPU.0,GPU.1"},
Params{"CPU, ,GPU", "CPU, ,GPU.0,GPU.1"},
Params{"CPU,GPU,GPU.1", "CPU,GPU.0,GPU.1"},
Params{"CPU,GPU,VPUX,INVALID_DEVICE", "CPU,GPU.0,GPU.1,VPUX,INVALID_DEVICE"},
Params{"VPUX,GPU,CPU,-GPU.0", "VPUX,GPU.1,CPU"},
Params{"CPU,GPU,NPU,INVALID_DEVICE", "CPU,GPU.0,GPU.1,NPU,INVALID_DEVICE"},
Params{"NPU,GPU,CPU,-GPU.0", "NPU,GPU.1,CPU"},
Params{"-GPU.0,GPU,CPU", "GPU.1,CPU"},
Params{"-GPU.0,GPU", "GPU.1"},
Params{"-GPU,GPU.0", "GPU.0"},

View File

@@ -86,7 +86,7 @@ public:
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, cpuCability, {"FP32", "FP16", "INT8", "BIN"});
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, gpuCability, {"FP32", "FP16", "BATCHED_BLOB", "BIN"});
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, myriadCability, {"FP16"});
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, vpuxCability, {"INT8"});
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, npuCability, {"INT8"});
ON_CALL(*core, GetMetric(StrEq(CommonTestUtils::DEVICE_CPU),
StrEq(METRIC_KEY(OPTIMIZATION_CAPABILITIES)), _)).WillByDefault(RETURN_MOCK_VALUE(cpuCability));
ON_CALL(*core, GetMetric(HasSubstr("GPU"),
@@ -94,7 +94,7 @@ public:
ON_CALL(*core, GetMetric(StrEq("MYRIAD"),
StrEq(METRIC_KEY(OPTIMIZATION_CAPABILITIES)), _)).WillByDefault(RETURN_MOCK_VALUE(myriadCability));
ON_CALL(*core, GetMetric(StrEq(CommonTestUtils::DEVICE_KEEMBAY),
StrEq(METRIC_KEY(OPTIMIZATION_CAPABILITIES)), _)).WillByDefault(RETURN_MOCK_VALUE(vpuxCability));
StrEq(METRIC_KEY(OPTIMIZATION_CAPABILITIES)), _)).WillByDefault(RETURN_MOCK_VALUE(npuCability));
ON_CALL(*core, GetMetric(HasSubstr("GPU"),
StrEq(METRIC_KEY(DEVICE_ARCHITECTURE)), _)).WillByDefault(Return("GPU: vendor=0x8086 arch=0"));
ON_CALL(*core, GetMetric(StrEq("GPU"),
@@ -127,13 +127,13 @@ TEST_P(KeyNetworkPriorityTest, SelectDevice) {
{"GPU.0", {}, 2, "01", "iGPU_01", 1},
{"GPU.1", {}, 2, "01", "dGPU_01", 2},
{"MYRIAD", {}, 2, "01", "MYRIAD_01", 3},
{CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "VPUX_01", 4}};
{CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "NPU_01", 4}};
} else {
metaDevices = {{CommonTestUtils::DEVICE_CPU, {}, 2, "", "CPU_01", 0},
{"GPU.0", {}, 2, "01", "iGPU_01", 0},
{"GPU.1", {}, 2, "01", "dGPU_01", 0},
{"MYRIAD", {}, 2, "01", "MYRIAD_01", 0},
{CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "VPUX_01", 0}};
{CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "NPU_01", 0}};
}
EXPECT_CALL(*plugin, SelectDevice(_, _, _)).Times(sizeOfConfigs);
@@ -156,13 +156,13 @@ TEST_P(KeyNetworkPriorityTest, MultiThreadsSelectDevice) {
{"GPU.0", {}, 2, "01", "iGPU_01", 1},
{"GPU.1", {}, 2, "01", "dGPU_01", 2},
{"MYRIAD", {}, 2, "01", "MYRIAD_01", 3},
{CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "VPUX_01", 4}};
{CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "NPU_01", 4}};
} else {
metaDevices = {{CommonTestUtils::DEVICE_CPU, {}, 2, "", "CPU_01", 0},
{"GPU.0", {}, 2, "01", "iGPU_01", 0},
{"GPU.1", {}, 2, "01", "dGPU_01", 0},
{"MYRIAD", {}, 2, "01", "MYRIAD_01", 0},
{CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "VPUX_01", 0}};
{CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "NPU_01", 0}};
}
EXPECT_CALL(*plugin, SelectDevice(_, _, _)).Times(sizeOfConfigs * 2);
@@ -225,27 +225,27 @@ const std::vector<ConfigParams> testConfigs = {
PriorityParams {1, "iGPU_01"},
PriorityParams {2, "CPU_01"},
PriorityParams {3, "MYRIAD_01"}}},
ConfigParams {"INT8", false, {PriorityParams {0, "VPUX_01"},
ConfigParams {"INT8", false, {PriorityParams {0, "NPU_01"},
PriorityParams {1, "CPU_01"},
PriorityParams {2, "CPU_01"},
PriorityParams {2, "CPU_01"}}},
ConfigParams {"INT8", false, {PriorityParams {2, "VPUX_01"},
ConfigParams {"INT8", false, {PriorityParams {2, "NPU_01"},
PriorityParams {3, "CPU_01"},
PriorityParams {4, "CPU_01"},
PriorityParams {5, "CPU_01"}}},
ConfigParams {"INT8", false, {PriorityParams {2, "VPUX_01"},
PriorityParams {0, "VPUX_01"},
ConfigParams {"INT8", false, {PriorityParams {2, "NPU_01"},
PriorityParams {0, "NPU_01"},
PriorityParams {2, "CPU_01"},
PriorityParams {2, "CPU_01"}}},
ConfigParams {"INT8", false, {PriorityParams {2, "VPUX_01"},
PriorityParams {0, "VPUX_01"},
ConfigParams {"INT8", false, {PriorityParams {2, "NPU_01"},
PriorityParams {0, "NPU_01"},
PriorityParams {2, "CPU_01"},
PriorityParams {3, "CPU_01"}}},
ConfigParams {"INT8", false, {PriorityParams {0, "VPUX_01"},
ConfigParams {"INT8", false, {PriorityParams {0, "NPU_01"},
PriorityParams {1, "CPU_01"},
PriorityParams {2, "CPU_01"},
PriorityParams {3, "CPU_01"},
PriorityParams {0, "VPUX_01"},
PriorityParams {0, "NPU_01"},
PriorityParams {1, "CPU_01"},
PriorityParams {2, "CPU_01"},
PriorityParams {3, "CPU_01"}}},
@@ -277,8 +277,8 @@ const std::vector<ConfigParams> testConfigs = {
// {CommonTestUtils::DEVICE_GPU, {}, 2, "01", "iGPU_01", 1},
// {CommonTestUtils::DEVICE_GPU, {}, 2, "01", "dGPU_01", 2},
// {"MYRIAD", {}, 2, "01", "MYRIAD_01", 3},
// {CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "VPUX_01", 4}};
// cpu > igpu > dgpu > MYRIAD > VPUX
// {CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "NPU_01", 4}};
// cpu > igpu > dgpu > MYRIAD > NPU
ConfigParams {"FP32", true, {PriorityParams {0, "CPU_01"},
PriorityParams {1, "iGPU_01"},
PriorityParams {2, "dGPU_01"},
@@ -304,29 +304,29 @@ const std::vector<ConfigParams> testConfigs = {
PriorityParams {2, "dGPU_01"},
PriorityParams {3, "MYRIAD_01"}}},
ConfigParams {"INT8", true, {PriorityParams {0, "CPU_01"},
PriorityParams {1, "VPUX_01"},
PriorityParams {2, "VPUX_01"},
PriorityParams {2, "VPUX_01"}}},
PriorityParams {1, "NPU_01"},
PriorityParams {2, "NPU_01"},
PriorityParams {2, "NPU_01"}}},
ConfigParams {"INT8", true, {PriorityParams {2, "CPU_01"},
PriorityParams {3, "VPUX_01"},
PriorityParams {4, "VPUX_01"},
PriorityParams {5, "VPUX_01"}}},
PriorityParams {3, "NPU_01"},
PriorityParams {4, "NPU_01"},
PriorityParams {5, "NPU_01"}}},
ConfigParams {"INT8", true, {PriorityParams {2, "CPU_01"},
PriorityParams {0, "CPU_01"},
PriorityParams {2, "VPUX_01"},
PriorityParams {2, "VPUX_01"}}},
PriorityParams {2, "NPU_01"},
PriorityParams {2, "NPU_01"}}},
ConfigParams {"INT8", true, {PriorityParams {2, "CPU_01"},
PriorityParams {0, "CPU_01"},
PriorityParams {2, "VPUX_01"},
PriorityParams {3, "VPUX_01"}}},
PriorityParams {2, "NPU_01"},
PriorityParams {3, "NPU_01"}}},
ConfigParams {"INT8", true, {PriorityParams {0, "CPU_01"},
PriorityParams {1, "VPUX_01"},
PriorityParams {2, "VPUX_01"},
PriorityParams {3, "VPUX_01"},
PriorityParams {1, "NPU_01"},
PriorityParams {2, "NPU_01"},
PriorityParams {3, "NPU_01"},
PriorityParams {0, "CPU_01"},
PriorityParams {1, "VPUX_01"},
PriorityParams {2, "VPUX_01"},
PriorityParams {3, "VPUX_01"}}},
PriorityParams {1, "NPU_01"},
PriorityParams {2, "NPU_01"},
PriorityParams {3, "NPU_01"}}},
ConfigParams {"BIN", true, {PriorityParams {0, "CPU_01"},
PriorityParams {1, "iGPU_01"},
PriorityParams {2, "dGPU_01"},

View File

@@ -39,10 +39,8 @@ using namespace MockMultiDevice;
// const char cpuFullDeviceName[] = "Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz";
const char igpuFullDeviceName[] = "Intel(R) Gen9 HD Graphics (iGPU)";
const char dgpuFullDeviceName[] = "Intel(R) Iris(R) Xe MAX Graphics (dGPU)";
// const char myriadFullDeviceName[] = "Intel Movidius Myriad X VPU";
// const char vpuxFullDeviceName[] = "";
const std::vector<std::string> availableDevs = {"CPU", "GPU.0", "GPU.1", "VPUX"};
const std::vector<std::string> availableDevsNoID = {"CPU", "GPU", "VPUX"};
const std::vector<std::string> availableDevs = {"CPU", "GPU.0", "GPU.1", "NPU"};
const std::vector<std::string> availableDevsNoID = {"CPU", "GPU", "NPU"};
using ConfigParams = std::tuple<
std::string, // Priority devices
std::vector<DeviceInformation>, // expect metaDevices
@@ -201,62 +199,62 @@ TEST_P(ParseMetaDeviceNoIDTest, ParseMetaDevices) {
// ConfigParams {devicePriority, expect metaDevices, ifThrowException}
const std::vector<ConfigParams> testConfigs = {
// ConfigParams {"CPU,GPU,MYRIAD,VPUX",
// ConfigParams {"CPU,GPU,MYRIAD,NPU",
// {{"CPU", {}, -1, "", "CPU_", 0},
// {"GPU.0", {}, -1, "0", std::string(igpuFullDeviceName) + "_0", 1},
// {"GPU.1", {}, -1, "1", std::string(dgpuFullDeviceName) + "_1", 1},
// {"MYRIAD.9.2-ma2480", {}, -1, "9.2-ma2480", "MYRIAD_9.2-ma2480", 2},
// {"MYRIAD.9.1-ma2480", {}, -1, "9.1-ma2480", "MYRIAD_9.1-ma2480", 2},
// {"VPUX", {}, -1, "", "VPUX_", 3}}, false},
// ConfigParams {"VPUX,MYRIAD,GPU,CPU",
// {{"VPUX", {}, -1, "", "VPUX_", 0},
// {"NPU", {}, -1, "", "NPU_", 3}}, false},
// ConfigParams {"NPU,MYRIAD,GPU,CPU",
// {{"NPU", {}, -1, "", "NPU_", 0},
// {"MYRIAD.9.2-ma2480", {}, -1, "9.2-ma2480", "MYRIAD_9.2-ma2480", 1},
// {"MYRIAD.9.1-ma2480", {}, -1, "9.1-ma2480", "MYRIAD_9.1-ma2480", 1},
// {"GPU.0", {}, -1, "0", std::string(igpuFullDeviceName) + "_0", 2},
// {"GPU.1", {}, -1, "1", std::string(dgpuFullDeviceName) + "_1", 2},
// {"CPU", {}, -1, "", "CPU_", 3}}, false},
// ConfigParams {"CPU(1),GPU(2),MYRIAD(3),VPUX(4)",
// ConfigParams {"CPU(1),GPU(2),MYRIAD(3),NPU(4)",
// {{"CPU", {}, 1, "", "CPU_", 0},
// {"GPU.0", {}, 2, "0", std::string(igpuFullDeviceName) + "_0", 1},
// {"GPU.1", {}, 2, "1", std::string(dgpuFullDeviceName) + "_1", 1},
// {"MYRIAD.9.2-ma2480", {}, 3, "9.2-ma2480", "MYRIAD_9.2-ma2480", 2},
// {"MYRIAD.9.1-ma2480", {}, 3, "9.1-ma2480", "MYRIAD_9.1-ma2480", 2},
// {"VPUX", {}, 4, "", "VPUX_", 3}}, false},
// {"NPU", {}, 4, "", "NPU_", 3}}, false},
//
ConfigParams {"CPU,GPU,VPUX",
ConfigParams {"CPU,GPU,NPU",
{{"CPU", {}, -1, "", "CPU_", 0},
{"GPU.0", {}, -1, "", std::string(igpuFullDeviceName) + "_0", 1},
{"GPU.1", {}, -1, "", std::string(dgpuFullDeviceName) + "_1", 1},
{"VPUX", {}, -1, "", "VPUX_", 2}}, false},
ConfigParams {"VPUX,GPU,CPU",
{{"VPUX", {}, -1, "", "VPUX_", 0},
{"NPU", {}, -1, "", "NPU_", 2}}, false},
ConfigParams {"NPU,GPU,CPU",
{{"NPU", {}, -1, "", "NPU_", 0},
{"GPU.0", {}, -1, "", std::string(igpuFullDeviceName) + "_0", 1},
{"GPU.1", {}, -1, "", std::string(dgpuFullDeviceName) + "_1", 1},
{"CPU", {}, -1, "", "CPU_", 2}}, false},
ConfigParams {"CPU(1),GPU(2),VPUX(4)",
ConfigParams {"CPU(1),GPU(2),NPU(4)",
{{"CPU", {}, 1, "", "CPU_", 0},
{"GPU.0", {}, 2, "", std::string(igpuFullDeviceName) + "_0", 1},
{"GPU.1", {}, 2, "", std::string(dgpuFullDeviceName) + "_1", 1},
{"VPUX", {}, 4, "", "VPUX_", 2}}, false},
{"NPU", {}, 4, "", "NPU_", 2}}, false},
ConfigParams {"CPU(-1),GPU,VPUX", {}, true},
ConfigParams {"CPU(NA),GPU,VPUX", {}, true},
ConfigParams {"CPU(-1),GPU,NPU", {}, true},
ConfigParams {"CPU(NA),GPU,NPU", {}, true},
ConfigParams {"CPU(3),GPU.1,VPUX",
ConfigParams {"CPU(3),GPU.1,NPU",
{{"CPU", {}, 3, "", "CPU_", 0},
{"GPU.1", {}, -1, "", std::string(dgpuFullDeviceName) + "_1", 1},
{"VPUX", {}, -1, "", "VPUX_", 2}}, false},
ConfigParams {"VPUX,GPU.1,CPU(3)",
{{"VPUX", {}, -1, "", "VPUX_", 0},
{"NPU", {}, -1, "", "NPU_", 2}}, false},
ConfigParams {"NPU,GPU.1,CPU(3)",
{{"NPU", {}, -1, "", "NPU_", 0},
{"GPU.1", {}, -1, "", std::string(dgpuFullDeviceName) + "_1", 1},
{"CPU", {}, 3, "", "CPU_", 2}}, false}
};
const std::vector<ConfigParams> testConfigsNoID = {
ConfigParams {"CPU,GPU,VPUX",
ConfigParams {"CPU,GPU,NPU",
{{"CPU", {}, -1, "", "CPU_", 0},
{"GPU", {}, -1, "0", std::string(igpuFullDeviceName) + "_0", 1},
{"VPUX", {}, -1, "", "VPUX_", 2}}, false},
{"NPU", {}, -1, "", "NPU_", 2}}, false},
};

View File

@@ -47,10 +47,10 @@ const DeviceInformation CPU_INFO = {CommonTestUtils::DEVICE_CPU, {}, 2, "01", "C
const DeviceInformation IGPU_INFO = {"GPU.0", {}, 2, "01", "iGPU_01"};
const DeviceInformation DGPU_INFO = {"GPU.1", {}, 2, "01", "dGPU_01"};
const DeviceInformation MYRIAD_INFO = {"MYRIAD", {}, 2, "01", "MYRIAD_01" };
const DeviceInformation KEEMBAY_INFO = {CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "VPUX_01" };
const DeviceInformation NPU_INFO = {CommonTestUtils::DEVICE_KEEMBAY, {}, 2, "01", "NPU_01" };
const std::vector<DeviceInformation> fp32DeviceVector = {DGPU_INFO, IGPU_INFO, CPU_INFO, MYRIAD_INFO};
const std::vector<DeviceInformation> fp16DeviceVector = {DGPU_INFO, IGPU_INFO, MYRIAD_INFO, CPU_INFO};
const std::vector<DeviceInformation> int8DeviceVector = {KEEMBAY_INFO, DGPU_INFO, IGPU_INFO, CPU_INFO};
const std::vector<DeviceInformation> int8DeviceVector = {NPU_INFO, DGPU_INFO, IGPU_INFO, CPU_INFO};
const std::vector<DeviceInformation> binDeviceVector = {DGPU_INFO, IGPU_INFO, CPU_INFO};
const std::vector<DeviceInformation> batchedblobDeviceVector = {DGPU_INFO, IGPU_INFO};
std::map<std::string, const std::vector<DeviceInformation>> devicesMap = {{"FP32", fp32DeviceVector},
@@ -59,8 +59,8 @@ std::map<std::string, const std::vector<DeviceInformation>> devicesMap = {{"FP32
{"BIN", binDeviceVector},
{"BATCHED_BLOB", batchedblobDeviceVector}
};
const std::vector<DeviceInformation> totalDevices = {DGPU_INFO, IGPU_INFO, MYRIAD_INFO, CPU_INFO, KEEMBAY_INFO};
const std::vector<DeviceInformation> reverseTotalDevices = {KEEMBAY_INFO, CPU_INFO, MYRIAD_INFO, IGPU_INFO, DGPU_INFO};
const std::vector<DeviceInformation> totalDevices = {DGPU_INFO, IGPU_INFO, MYRIAD_INFO, CPU_INFO, NPU_INFO};
const std::vector<DeviceInformation> reverseTotalDevices = {NPU_INFO, CPU_INFO, MYRIAD_INFO, IGPU_INFO, DGPU_INFO};
const std::vector<std::string> netPrecisions = {"FP32", "FP16", "INT8", "BIN", "BATCHED_BLOB"};
std::vector<ConfigParams> testConfigs;
@@ -238,7 +238,7 @@ public:
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, cpuCability, {"FP32", "FP16", "INT8", "BIN"});
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, gpuCability, {"FP32", "FP16", "BATCHED_BLOB", "BIN", "INT8"});
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, myriadCability, {"FP16"});
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, vpuxCability, {"INT8"});
IE_SET_METRIC(OPTIMIZATION_CAPABILITIES, npuCability, {"INT8"});
IE_SET_METRIC(DEVICE_ARCHITECTURE, gpuArchitecture, "GPU: vendor=0x8086 arch=0");
IE_SET_METRIC(DEVICE_TYPE, dGpuType, Metrics::DeviceType::discrete);
IE_SET_METRIC(DEVICE_TYPE, iGpuType, Metrics::DeviceType::integrated);
@@ -250,7 +250,7 @@ public:
ON_CALL(*core, GetMetric(StrEq("MYRIAD"),
StrEq(METRIC_KEY(OPTIMIZATION_CAPABILITIES)), _)).WillByDefault(RETURN_MOCK_VALUE(myriadCability));
ON_CALL(*core, GetMetric(StrEq(CommonTestUtils::DEVICE_KEEMBAY),
StrEq(METRIC_KEY(OPTIMIZATION_CAPABILITIES)), _)).WillByDefault(RETURN_MOCK_VALUE(vpuxCability));
StrEq(METRIC_KEY(OPTIMIZATION_CAPABILITIES)), _)).WillByDefault(RETURN_MOCK_VALUE(npuCability));
ON_CALL(*core, GetMetric(HasSubstr("GPU"),
StrEq(METRIC_KEY(DEVICE_ARCHITECTURE)), _)).WillByDefault(RETURN_MOCK_VALUE(gpuArchitecture));
ON_CALL(*core, GetMetric(StrEq("GPU"),

View File

@@ -17,7 +17,7 @@ inline const std::string get_plugin_lib_name_by_device(const std::string& device
{ "HETERO", "openvino_hetero_plugin" },
{ "BATCH", "openvino_auto_batch_plugin" },
{ "MULTI", "openvino_auto_plugin" },
{ "VPUX", "openvino_intel_vpux_plugin" },
{ "NPU", "openvino_intel_npu_plugin" },
{ "CPU", "openvino_intel_cpu_plugin" },
{ "GNA", "openvino_intel_gna_plugin" },
{ "GPU", "openvino_intel_gpu_plugin" },

View File

@@ -10,8 +10,8 @@ const char *DEVICE_AUTO = "AUTO";
const char *DEVICE_CPU = "CPU";
const char *DEVICE_GNA = "GNA";
const char *DEVICE_GPU = "GPU";
const char *DEVICE_KEEMBAY = "NPU";
const char *DEVICE_BATCH = "BATCH";
const char *DEVICE_KEEMBAY = "VPUX";
const char *DEVICE_MULTI = "MULTI";
const char *DEVICE_TEMPLATE = "TEMPLATE";
const char *DEVICE_HETERO = "HETERO";

View File

@@ -10,8 +10,8 @@ extern const char* DEVICE_AUTO;
extern const char* DEVICE_CPU;
extern const char* DEVICE_GNA;
extern const char* DEVICE_GPU;
extern const char* DEVICE_BATCH;
extern const char* DEVICE_KEEMBAY;
extern const char* DEVICE_BATCH;
extern const char* DEVICE_MULTI;
extern const char* DEVICE_TEMPLATE;
extern const char* DEVICE_HETERO;

View File

@@ -1,448 +1,448 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/resnet-50-pytorch/onnx/FP16/resnet-50-pytorch.xml
path: ${NPU_MODELS_PKG}/resnet-50-pytorch/onnx/FP16/resnet-50-pytorch.xml
name: resnet-50-pytorch
precision: FP16
framework: onnx
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/resnet-50-pytorch/onnx/FP16/resnet-50-pytorch.xml
path: ${NPU_MODELS_PKG}/resnet-50-pytorch/onnx/FP16/resnet-50-pytorch.xml
name: resnet-50-pytorch
precision: FP16
framework: onnx
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/resnet-50-pytorch/onnx/FP16-INT8/resnet-50-pytorch.xml
path: ${NPU_MODELS_PKG}/resnet-50-pytorch/onnx/FP16-INT8/resnet-50-pytorch.xml
name: resnet-50-pytorch
precision: FP16-INT8
framework: onnx
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/resnet-50-pytorch/onnx/FP16-INT8/resnet-50-pytorch.xml
path: ${NPU_MODELS_PKG}/resnet-50-pytorch/onnx/FP16-INT8/resnet-50-pytorch.xml
name: resnet-50-pytorch
precision: FP16-INT8
framework: onnx
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/mobilenet-v2/caffe/FP16/mobilenet-v2.xml
path: ${NPU_MODELS_PKG}/mobilenet-v2/caffe/FP16/mobilenet-v2.xml
name: mobilenet-v2
precision: FP16
framework: caffe
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/mobilenet-v2/caffe/FP16/mobilenet-v2.xml
path: ${NPU_MODELS_PKG}/mobilenet-v2/caffe/FP16/mobilenet-v2.xml
name: mobilenet-v2
precision: FP16
framework: caffe
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/mobilenet-v2/caffe/FP16-INT8/mobilenet-v2.xml
path: ${NPU_MODELS_PKG}/mobilenet-v2/caffe/FP16-INT8/mobilenet-v2.xml
name: mobilenet-v2
precision: FP16-INT8
framework: caffe
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/mobilenet-v2/caffe/FP16-INT8/mobilenet-v2.xml
path: ${NPU_MODELS_PKG}/mobilenet-v2/caffe/FP16-INT8/mobilenet-v2.xml
name: mobilenet-v2
precision: FP16-INT8
framework: caffe
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16/faster-rcnn-resnet101-coco-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16/faster-rcnn-resnet101-coco-sparse-60-0001.xml
name: faster-rcnn-resnet101-coco-sparse-60-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16/faster-rcnn-resnet101-coco-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16/faster-rcnn-resnet101-coco-sparse-60-0001.xml
name: faster-rcnn-resnet101-coco-sparse-60-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16-INT8/faster-rcnn-resnet101-coco-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16-INT8/faster-rcnn-resnet101-coco-sparse-60-0001.xml
name: faster-rcnn-resnet101-coco-sparse-60-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16-INT8/faster-rcnn-resnet101-coco-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16-INT8/faster-rcnn-resnet101-coco-sparse-60-0001.xml
name: faster-rcnn-resnet101-coco-sparse-60-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v1/tf/FP16/googlenet-v1.xml
path: ${NPU_MODELS_PKG}/googlenet-v1/tf/FP16/googlenet-v1.xml
name: googlenet-v1
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v1/tf/FP16/googlenet-v1.xml
path: ${NPU_MODELS_PKG}/googlenet-v1/tf/FP16/googlenet-v1.xml
name: googlenet-v1
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v1/tf/FP16-INT8/googlenet-v1.xml
path: ${NPU_MODELS_PKG}/googlenet-v1/tf/FP16-INT8/googlenet-v1.xml
name: googlenet-v1
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v1/tf/FP16-INT8/googlenet-v1.xml
path: ${NPU_MODELS_PKG}/googlenet-v1/tf/FP16-INT8/googlenet-v1.xml
name: googlenet-v1
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v3/tf/FP16/googlenet-v3.xml
path: ${NPU_MODELS_PKG}/googlenet-v3/tf/FP16/googlenet-v3.xml
name: googlenet-v3
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v3/tf/FP16/googlenet-v3.xml
path: ${NPU_MODELS_PKG}/googlenet-v3/tf/FP16/googlenet-v3.xml
name: googlenet-v3
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v3/tf/FP16-INT8/googlenet-v3.xml
path: ${NPU_MODELS_PKG}/googlenet-v3/tf/FP16-INT8/googlenet-v3.xml
name: googlenet-v3
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v3/tf/FP16-INT8/googlenet-v3.xml
path: ${NPU_MODELS_PKG}/googlenet-v3/tf/FP16-INT8/googlenet-v3.xml
name: googlenet-v3
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/ssd512/caffe/FP16/ssd512.xml
path: ${NPU_MODELS_PKG}/ssd512/caffe/FP16/ssd512.xml
name: ssd512
precision: FP16
framework: caffe
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/ssd512/caffe/FP16/ssd512.xml
path: ${NPU_MODELS_PKG}/ssd512/caffe/FP16/ssd512.xml
name: ssd512
precision: FP16
framework: caffe
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/ssd512/caffe/FP16-INT8/ssd512.xml
path: ${NPU_MODELS_PKG}/ssd512/caffe/FP16-INT8/ssd512.xml
name: ssd512
precision: FP16-INT8
framework: caffe
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/ssd512/caffe/FP16-INT8/ssd512.xml
path: ${NPU_MODELS_PKG}/ssd512/caffe/FP16-INT8/ssd512.xml
name: ssd512
precision: FP16-INT8
framework: caffe
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16/yolo-v2-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16/yolo-v2-ava-0001.xml
name: yolo-v2-ava-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16/yolo-v2-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16/yolo-v2-ava-0001.xml
name: yolo-v2-ava-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16-INT8/yolo-v2-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16-INT8/yolo-v2-ava-0001.xml
name: yolo-v2-ava-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16-INT8/yolo-v2-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16-INT8/yolo-v2-ava-0001.xml
name: yolo-v2-ava-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16/yolo-v2-ava-sparse-35-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16/yolo-v2-ava-sparse-35-0001.xml
name: yolo-v2-ava-sparse-35-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16/yolo-v2-ava-sparse-35-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16/yolo-v2-ava-sparse-35-0001.xml
name: yolo-v2-ava-sparse-35-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16-INT8/yolo-v2-ava-sparse-35-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16-INT8/yolo-v2-ava-sparse-35-0001.xml
name: yolo-v2-ava-sparse-35-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16-INT8/yolo-v2-ava-sparse-35-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16-INT8/yolo-v2-ava-sparse-35-0001.xml
name: yolo-v2-ava-sparse-35-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16/yolo-v2-ava-sparse-70-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16/yolo-v2-ava-sparse-70-0001.xml
name: yolo-v2-ava-sparse-70-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16/yolo-v2-ava-sparse-70-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16/yolo-v2-ava-sparse-70-0001.xml
name: yolo-v2-ava-sparse-70-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16-INT8/yolo-v2-ava-sparse-70-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16-INT8/yolo-v2-ava-sparse-70-0001.xml
name: yolo-v2-ava-sparse-70-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16-INT8/yolo-v2-ava-sparse-70-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16-INT8/yolo-v2-ava-sparse-70-0001.xml
name: yolo-v2-ava-sparse-70-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16/yolo-v2-tiny-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16/yolo-v2-tiny-ava-0001.xml
name: yolo-v2-tiny-ava-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16/yolo-v2-tiny-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16/yolo-v2-tiny-ava-0001.xml
name: yolo-v2-tiny-ava-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16-INT8/yolo-v2-tiny-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16-INT8/yolo-v2-tiny-ava-0001.xml
name: yolo-v2-tiny-ava-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16-INT8/yolo-v2-tiny-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16-INT8/yolo-v2-tiny-ava-0001.xml
name: yolo-v2-tiny-ava-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16/yolo-v2-tiny-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16/yolo-v2-tiny-ava-sparse-30-0001.xml
name: yolo-v2-tiny-ava-sparse-30-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16/yolo-v2-tiny-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16/yolo-v2-tiny-ava-sparse-30-0001.xml
name: yolo-v2-tiny-ava-sparse-30-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-30-0001.xml
name: yolo-v2-tiny-ava-sparse-30-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-30-0001.xml
name: yolo-v2-tiny-ava-sparse-30-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16/yolo-v2-tiny-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16/yolo-v2-tiny-ava-sparse-60-0001.xml
name: yolo-v2-tiny-ava-sparse-60-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16/yolo-v2-tiny-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16/yolo-v2-tiny-ava-sparse-60-0001.xml
name: yolo-v2-tiny-ava-sparse-60-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-60-0001.xml
name: yolo-v2-tiny-ava-sparse-60-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-60-0001.xml
name: yolo-v2-tiny-ava-sparse-60-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/squeezenet1.1/caffe/FP16/squeezenet1.1.xml
path: ${NPU_MODELS_PKG}/squeezenet1.1/caffe/FP16/squeezenet1.1.xml
name: squeezenet1.1
precision: FP16
framework: caffe
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/squeezenet1.1/caffe/FP16/squeezenet1.1.xml
path: ${NPU_MODELS_PKG}/squeezenet1.1/caffe/FP16/squeezenet1.1.xml
name: squeezenet1.1
precision: FP16
framework: caffe
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/squeezenet1.1/caffe/FP16-INT8/squeezenet1.1.xml
path: ${NPU_MODELS_PKG}/squeezenet1.1/caffe/FP16-INT8/squeezenet1.1.xml
name: squeezenet1.1
precision: FP16-INT8
framework: caffe
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/squeezenet1.1/caffe/FP16-INT8/squeezenet1.1.xml
path: ${NPU_MODELS_PKG}/squeezenet1.1/caffe/FP16-INT8/squeezenet1.1.xml
name: squeezenet1.1
precision: FP16-INT8
framework: caffe
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16/icnet-camvid-ava-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16/icnet-camvid-ava-0001.xml
name: icnet-camvid-ava-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16/icnet-camvid-ava-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16/icnet-camvid-ava-0001.xml
name: icnet-camvid-ava-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16-INT8/icnet-camvid-ava-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16-INT8/icnet-camvid-ava-0001.xml
name: icnet-camvid-ava-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16-INT8/icnet-camvid-ava-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16-INT8/icnet-camvid-ava-0001.xml
name: icnet-camvid-ava-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16/icnet-camvid-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16/icnet-camvid-ava-sparse-30-0001.xml
name: icnet-camvid-ava-sparse-30-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16/icnet-camvid-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16/icnet-camvid-ava-sparse-30-0001.xml
name: icnet-camvid-ava-sparse-30-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-30-0001.xml
name: icnet-camvid-ava-sparse-30-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-30-0001.xml
name: icnet-camvid-ava-sparse-30-0001
precision: FP16-INT8
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16/icnet-camvid-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16/icnet-camvid-ava-sparse-60-0001.xml
name: icnet-camvid-ava-sparse-60-0001
precision: FP16
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16/icnet-camvid-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16/icnet-camvid-ava-sparse-60-0001.xml
name: icnet-camvid-ava-sparse-60-0001
precision: FP16
framework: tf
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-60-0001.xml
name: icnet-camvid-ava-sparse-60-0001
precision: FP16-INT8
framework: tf
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-60-0001.xml
name: icnet-camvid-ava-sparse-60-0001
precision: FP16-INT8
framework: tf

View File

@@ -1,7 +1,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/resnet-50-pytorch/onnx/FP16/resnet-50-pytorch.xml
path: ${NPU_MODELS_PKG}/resnet-50-pytorch/onnx/FP16/resnet-50-pytorch.xml
name: resnet-50-pytorch
precision: FP16
framework: onnx
@@ -9,7 +9,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/resnet-50-pytorch/onnx/FP16/resnet-50-pytorch.xml
path: ${NPU_MODELS_PKG}/resnet-50-pytorch/onnx/FP16/resnet-50-pytorch.xml
name: resnet-50-pytorch
precision: FP16
framework: onnx
@@ -17,7 +17,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/resnet-50-pytorch/onnx/FP16-INT8/resnet-50-pytorch.xml
path: ${NPU_MODELS_PKG}/resnet-50-pytorch/onnx/FP16-INT8/resnet-50-pytorch.xml
name: resnet-50-pytorch
precision: FP16-INT8
framework: onnx
@@ -25,7 +25,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/resnet-50-pytorch/onnx/FP16-INT8/resnet-50-pytorch.xml
path: ${NPU_MODELS_PKG}/resnet-50-pytorch/onnx/FP16-INT8/resnet-50-pytorch.xml
name: resnet-50-pytorch
precision: FP16-INT8
framework: onnx
@@ -33,7 +33,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/mobilenet-v2/caffe/FP16/mobilenet-v2.xml
path: ${NPU_MODELS_PKG}/mobilenet-v2/caffe/FP16/mobilenet-v2.xml
name: mobilenet-v2
precision: FP16
framework: caffe
@@ -41,7 +41,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/mobilenet-v2/caffe/FP16/mobilenet-v2.xml
path: ${NPU_MODELS_PKG}/mobilenet-v2/caffe/FP16/mobilenet-v2.xml
name: mobilenet-v2
precision: FP16
framework: caffe
@@ -49,7 +49,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/mobilenet-v2/caffe/FP16-INT8/mobilenet-v2.xml
path: ${NPU_MODELS_PKG}/mobilenet-v2/caffe/FP16-INT8/mobilenet-v2.xml
name: mobilenet-v2
precision: FP16-INT8
framework: caffe
@@ -57,7 +57,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/mobilenet-v2/caffe/FP16-INT8/mobilenet-v2.xml
path: ${NPU_MODELS_PKG}/mobilenet-v2/caffe/FP16-INT8/mobilenet-v2.xml
name: mobilenet-v2
precision: FP16-INT8
framework: caffe
@@ -65,7 +65,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16/faster-rcnn-resnet101-coco-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16/faster-rcnn-resnet101-coco-sparse-60-0001.xml
name: faster-rcnn-resnet101-coco-sparse-60-0001
precision: FP16
framework: tf
@@ -73,7 +73,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16/faster-rcnn-resnet101-coco-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16/faster-rcnn-resnet101-coco-sparse-60-0001.xml
name: faster-rcnn-resnet101-coco-sparse-60-0001
precision: FP16
framework: tf
@@ -81,7 +81,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16-INT8/faster-rcnn-resnet101-coco-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16-INT8/faster-rcnn-resnet101-coco-sparse-60-0001.xml
name: faster-rcnn-resnet101-coco-sparse-60-0001
precision: FP16-INT8
framework: tf
@@ -89,7 +89,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16-INT8/faster-rcnn-resnet101-coco-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/faster-rcnn-resnet101-coco-sparse-60-0001/tf/FP16-INT8/faster-rcnn-resnet101-coco-sparse-60-0001.xml
name: faster-rcnn-resnet101-coco-sparse-60-0001
precision: FP16-INT8
framework: tf
@@ -97,7 +97,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v1/tf/FP16/googlenet-v1.xml
path: ${NPU_MODELS_PKG}/googlenet-v1/tf/FP16/googlenet-v1.xml
name: googlenet-v1
precision: FP16
framework: tf
@@ -105,7 +105,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v1/tf/FP16/googlenet-v1.xml
path: ${NPU_MODELS_PKG}/googlenet-v1/tf/FP16/googlenet-v1.xml
name: googlenet-v1
precision: FP16
framework: tf
@@ -113,7 +113,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v1/tf/FP16-INT8/googlenet-v1.xml
path: ${NPU_MODELS_PKG}/googlenet-v1/tf/FP16-INT8/googlenet-v1.xml
name: googlenet-v1
precision: FP16-INT8
framework: tf
@@ -121,7 +121,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v1/tf/FP16-INT8/googlenet-v1.xml
path: ${NPU_MODELS_PKG}/googlenet-v1/tf/FP16-INT8/googlenet-v1.xml
name: googlenet-v1
precision: FP16-INT8
framework: tf
@@ -129,7 +129,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v3/tf/FP16/googlenet-v3.xml
path: ${NPU_MODELS_PKG}/googlenet-v3/tf/FP16/googlenet-v3.xml
name: googlenet-v3
precision: FP16
framework: tf
@@ -137,7 +137,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v3/tf/FP16/googlenet-v3.xml
path: ${NPU_MODELS_PKG}/googlenet-v3/tf/FP16/googlenet-v3.xml
name: googlenet-v3
precision: FP16
framework: tf
@@ -145,7 +145,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v3/tf/FP16-INT8/googlenet-v3.xml
path: ${NPU_MODELS_PKG}/googlenet-v3/tf/FP16-INT8/googlenet-v3.xml
name: googlenet-v3
precision: FP16-INT8
framework: tf
@@ -153,7 +153,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/googlenet-v3/tf/FP16-INT8/googlenet-v3.xml
path: ${NPU_MODELS_PKG}/googlenet-v3/tf/FP16-INT8/googlenet-v3.xml
name: googlenet-v3
precision: FP16-INT8
framework: tf
@@ -161,7 +161,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/ssd512/caffe/FP16/ssd512.xml
path: ${NPU_MODELS_PKG}/ssd512/caffe/FP16/ssd512.xml
name: ssd512
precision: FP16
framework: caffe
@@ -169,7 +169,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/ssd512/caffe/FP16/ssd512.xml
path: ${NPU_MODELS_PKG}/ssd512/caffe/FP16/ssd512.xml
name: ssd512
precision: FP16
framework: caffe
@@ -177,7 +177,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/ssd512/caffe/FP16-INT8/ssd512.xml
path: ${NPU_MODELS_PKG}/ssd512/caffe/FP16-INT8/ssd512.xml
name: ssd512
precision: FP16-INT8
framework: caffe
@@ -185,7 +185,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/ssd512/caffe/FP16-INT8/ssd512.xml
path: ${NPU_MODELS_PKG}/ssd512/caffe/FP16-INT8/ssd512.xml
name: ssd512
precision: FP16-INT8
framework: caffe
@@ -193,7 +193,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16/yolo-v2-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16/yolo-v2-ava-0001.xml
name: yolo-v2-ava-0001
precision: FP16
framework: tf
@@ -201,7 +201,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16/yolo-v2-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16/yolo-v2-ava-0001.xml
name: yolo-v2-ava-0001
precision: FP16
framework: tf
@@ -209,7 +209,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16-INT8/yolo-v2-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16-INT8/yolo-v2-ava-0001.xml
name: yolo-v2-ava-0001
precision: FP16-INT8
framework: tf
@@ -217,7 +217,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16-INT8/yolo-v2-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-0001/tf/FP16-INT8/yolo-v2-ava-0001.xml
name: yolo-v2-ava-0001
precision: FP16-INT8
framework: tf
@@ -225,7 +225,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16/yolo-v2-ava-sparse-35-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16/yolo-v2-ava-sparse-35-0001.xml
name: yolo-v2-ava-sparse-35-0001
precision: FP16
framework: tf
@@ -233,7 +233,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16/yolo-v2-ava-sparse-35-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16/yolo-v2-ava-sparse-35-0001.xml
name: yolo-v2-ava-sparse-35-0001
precision: FP16
framework: tf
@@ -241,7 +241,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16-INT8/yolo-v2-ava-sparse-35-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16-INT8/yolo-v2-ava-sparse-35-0001.xml
name: yolo-v2-ava-sparse-35-0001
precision: FP16-INT8
framework: tf
@@ -249,7 +249,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16-INT8/yolo-v2-ava-sparse-35-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-35-0001/tf/FP16-INT8/yolo-v2-ava-sparse-35-0001.xml
name: yolo-v2-ava-sparse-35-0001
precision: FP16-INT8
framework: tf
@@ -257,7 +257,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16/yolo-v2-ava-sparse-70-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16/yolo-v2-ava-sparse-70-0001.xml
name: yolo-v2-ava-sparse-70-0001
precision: FP16
framework: tf
@@ -265,7 +265,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16/yolo-v2-ava-sparse-70-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16/yolo-v2-ava-sparse-70-0001.xml
name: yolo-v2-ava-sparse-70-0001
precision: FP16
framework: tf
@@ -273,7 +273,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16-INT8/yolo-v2-ava-sparse-70-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16-INT8/yolo-v2-ava-sparse-70-0001.xml
name: yolo-v2-ava-sparse-70-0001
precision: FP16-INT8
framework: tf
@@ -281,7 +281,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16-INT8/yolo-v2-ava-sparse-70-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-ava-sparse-70-0001/tf/FP16-INT8/yolo-v2-ava-sparse-70-0001.xml
name: yolo-v2-ava-sparse-70-0001
precision: FP16-INT8
framework: tf
@@ -289,7 +289,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16/yolo-v2-tiny-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16/yolo-v2-tiny-ava-0001.xml
name: yolo-v2-tiny-ava-0001
precision: FP16
framework: tf
@@ -297,7 +297,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16/yolo-v2-tiny-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16/yolo-v2-tiny-ava-0001.xml
name: yolo-v2-tiny-ava-0001
precision: FP16
framework: tf
@@ -305,7 +305,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16-INT8/yolo-v2-tiny-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16-INT8/yolo-v2-tiny-ava-0001.xml
name: yolo-v2-tiny-ava-0001
precision: FP16-INT8
framework: tf
@@ -313,7 +313,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16-INT8/yolo-v2-tiny-ava-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-0001/tf/FP16-INT8/yolo-v2-tiny-ava-0001.xml
name: yolo-v2-tiny-ava-0001
precision: FP16-INT8
framework: tf
@@ -321,7 +321,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16/yolo-v2-tiny-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16/yolo-v2-tiny-ava-sparse-30-0001.xml
name: yolo-v2-tiny-ava-sparse-30-0001
precision: FP16
framework: tf
@@ -329,7 +329,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16/yolo-v2-tiny-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16/yolo-v2-tiny-ava-sparse-30-0001.xml
name: yolo-v2-tiny-ava-sparse-30-0001
precision: FP16
framework: tf
@@ -337,7 +337,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-30-0001.xml
name: yolo-v2-tiny-ava-sparse-30-0001
precision: FP16-INT8
framework: tf
@@ -345,7 +345,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-30-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-30-0001.xml
name: yolo-v2-tiny-ava-sparse-30-0001
precision: FP16-INT8
framework: tf
@@ -353,7 +353,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16/yolo-v2-tiny-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16/yolo-v2-tiny-ava-sparse-60-0001.xml
name: yolo-v2-tiny-ava-sparse-60-0001
precision: FP16
framework: tf
@@ -361,7 +361,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16/yolo-v2-tiny-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16/yolo-v2-tiny-ava-sparse-60-0001.xml
name: yolo-v2-tiny-ava-sparse-60-0001
precision: FP16
framework: tf
@@ -369,7 +369,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-60-0001.xml
name: yolo-v2-tiny-ava-sparse-60-0001
precision: FP16-INT8
framework: tf
@@ -377,7 +377,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/yolo-v2-tiny-ava-sparse-60-0001/tf/FP16-INT8/yolo-v2-tiny-ava-sparse-60-0001.xml
name: yolo-v2-tiny-ava-sparse-60-0001
precision: FP16-INT8
framework: tf
@@ -385,7 +385,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/squeezenet1.1/caffe/FP16/squeezenet1.1.xml
path: ${NPU_MODELS_PKG}/squeezenet1.1/caffe/FP16/squeezenet1.1.xml
name: squeezenet1.1
precision: FP16
framework: caffe
@@ -393,7 +393,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/squeezenet1.1/caffe/FP16/squeezenet1.1.xml
path: ${NPU_MODELS_PKG}/squeezenet1.1/caffe/FP16/squeezenet1.1.xml
name: squeezenet1.1
precision: FP16
framework: caffe
@@ -401,7 +401,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/squeezenet1.1/caffe/FP16-INT8/squeezenet1.1.xml
path: ${NPU_MODELS_PKG}/squeezenet1.1/caffe/FP16-INT8/squeezenet1.1.xml
name: squeezenet1.1
precision: FP16-INT8
framework: caffe
@@ -409,7 +409,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/squeezenet1.1/caffe/FP16-INT8/squeezenet1.1.xml
path: ${NPU_MODELS_PKG}/squeezenet1.1/caffe/FP16-INT8/squeezenet1.1.xml
name: squeezenet1.1
precision: FP16-INT8
framework: caffe
@@ -417,7 +417,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16/icnet-camvid-ava-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16/icnet-camvid-ava-0001.xml
name: icnet-camvid-ava-0001
precision: FP16
framework: tf
@@ -425,7 +425,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16/icnet-camvid-ava-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16/icnet-camvid-ava-0001.xml
name: icnet-camvid-ava-0001
precision: FP16
framework: tf
@@ -433,7 +433,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16-INT8/icnet-camvid-ava-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16-INT8/icnet-camvid-ava-0001.xml
name: icnet-camvid-ava-0001
precision: FP16-INT8
framework: tf
@@ -441,7 +441,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16-INT8/icnet-camvid-ava-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-0001/tf/FP16-INT8/icnet-camvid-ava-0001.xml
name: icnet-camvid-ava-0001
precision: FP16-INT8
framework: tf
@@ -449,7 +449,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16/icnet-camvid-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16/icnet-camvid-ava-sparse-30-0001.xml
name: icnet-camvid-ava-sparse-30-0001
precision: FP16
framework: tf
@@ -457,7 +457,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16/icnet-camvid-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16/icnet-camvid-ava-sparse-30-0001.xml
name: icnet-camvid-ava-sparse-30-0001
precision: FP16
framework: tf
@@ -465,7 +465,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-30-0001.xml
name: icnet-camvid-ava-sparse-30-0001
precision: FP16-INT8
framework: tf
@@ -473,7 +473,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-30-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-30-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-30-0001.xml
name: icnet-camvid-ava-sparse-30-0001
precision: FP16-INT8
framework: tf
@@ -481,7 +481,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16/icnet-camvid-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16/icnet-camvid-ava-sparse-60-0001.xml
name: icnet-camvid-ava-sparse-60-0001
precision: FP16
framework: tf
@@ -489,7 +489,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16/icnet-camvid-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16/icnet-camvid-ava-sparse-60-0001.xml
name: icnet-camvid-ava-sparse-60-0001
precision: FP16
framework: tf
@@ -497,7 +497,7 @@
- device:
name: CPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-60-0001.xml
name: icnet-camvid-ava-sparse-60-0001
precision: FP16-INT8
framework: tf
@@ -505,7 +505,7 @@
- device:
name: GPU
model:
path: ${VPUX_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-60-0001.xml
path: ${NPU_MODELS_PKG}/icnet-camvid-ava-sparse-60-0001/tf/FP16-INT8/icnet-camvid-ava-sparse-60-0001.xml
name: icnet-camvid-ava-sparse-60-0001
precision: FP16-INT8
framework: tf

View File

@@ -43,7 +43,7 @@ def test_timetest(instance, executable, niter, cl_cache_dir, model_cache, model_
:param niter: number of times to run executable
:param cl_cache_dir: directory to store OpenCL cache
:param cpu_cache: flag to enable model CPU cache
:param vpu_compiler: flag to change VPUX compiler type
:param npu_compiler: flag to change NPU compiler type
:param perf_hint: performance hint (optimize device for latency or throughput settings)
:param model_cache_dir: directory to store IE model cache
:param test_info: custom `test_info` field of built-in `request` pytest fixture

View File

@@ -600,7 +600,7 @@ endif()
#
if(ENABLE_SAMPLES)
# Note: VPUX requires 3.9.0 version, because it contains 'nlohmann::ordered_json'
# Note: NPU requires 3.9.0 version, because it contains 'nlohmann::ordered_json'
find_package(nlohmann_json 3.9.0 QUIET)
if(nlohmann_json_FOUND)
# conan creates imported target nlohmann_json::nlohmann_json
@@ -610,7 +610,7 @@ if(ENABLE_SAMPLES)
else()
add_subdirectory(json)
# this is required only because of VPUX plugin reused this
# this is required only because of NPU plugin reused this
openvino_developer_export_targets(COMPONENT openvino_common TARGETS nlohmann_json)
# for nlohmann library versions older than v3.0.0

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2018-2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
VPUX_DEVICE_NAME = 'VPUX'
NPU_DEVICE_NAME = 'NPU'
CPU_DEVICE_NAME = 'CPU'
GPU_DEVICE_NAME = 'GPU'
HETERO_DEVICE_NAME = 'HETERO'
@@ -22,7 +22,7 @@ BINARY_EXTENSIONS = ['.bin']
DEVICE_DURATION_IN_SECS = {
CPU_DEVICE_NAME: 60,
GPU_DEVICE_NAME: 60,
VPUX_DEVICE_NAME: 60,
NPU_DEVICE_NAME: 60,
GNA_DEVICE_NAME: 60,
UNKNOWN_DEVICE_TYPE: 120
}

View File

@@ -353,9 +353,9 @@ bool isFP32(const ov::element::Type& type) {
static void setDefaultIO(ov::preprocess::PrePostProcessor& preprocessor,
const std::vector<ov::Output<ov::Node>>& inputs,
const std::vector<ov::Output<ov::Node>>& outputs) {
const bool isVPUX = FLAGS_d.find("VPUX") != std::string::npos;
const bool isNPU = FLAGS_d.find("NPU") != std::string::npos;
if (isVPUX) {
if (isNPU) {
for (size_t i = 0; i < inputs.size(); i++) {
preprocessor.input(i).tensor().set_element_type(ov::element::u8);
}
@@ -622,9 +622,9 @@ bool isFloat(InferenceEngine::Precision precision) {
}
static void setDefaultIO(InferenceEngine::CNNNetwork& network) {
const bool isVPUX = FLAGS_d.find("VPUX") != std::string::npos;
const bool isNPU = FLAGS_d.find("NPU") != std::string::npos;
if (isVPUX) {
if (isNPU) {
const InferenceEngine::Precision u8 = InferenceEngine::Precision::U8;
const InferenceEngine::Precision fp32 = InferenceEngine::Precision::FP32;

View File

@@ -54,7 +54,7 @@ size_t InputInfo::depth() const {
} // namespace benchmark_app
uint32_t deviceDefaultDeviceDurationInSeconds(const std::string& device) {
static const std::map<std::string, uint32_t> deviceDefaultDurationInSeconds {{"CPU", 60}, {"GPU", 60}, {"VPUX", 60},
static const std::map<std::string, uint32_t> deviceDefaultDurationInSeconds {{"CPU", 60}, {"GPU", 60}, {"NPU", 60},
{"UNKNOWN", 120}};
uint32_t duration = 0;
for (const auto& deviceDurationInSeconds : deviceDefaultDurationInSeconds) {

View File

@@ -13,7 +13,7 @@ Post-Training Optimization Tool includes standalone command-line tool and Python
* Per-channel quantization for Convolutional and Fully-Connected layers.
* Multiple domains: Computer Vision, Recommendation Systems.
* Ability to implement custom calibration pipeline via supported [API](openvino/tools/pot/api/README.md).
* Compression for different HW targets such as CPU, GPU, VPU.
* Compression for different HW targets such as CPU, GPU, NPU.
* Post-training sparsity.
## Usage

View File

@@ -14,7 +14,7 @@ the fastest and easiest way to get a quantized model. It requires only some unan
.. note::
POT uses inference on the CPU during model optimization. It means that ability to infer the original floating-point model is essential for model optimization. In case of the 8-bit quantization, it is recommended to run POT on the same CPU architecture when optimizing for CPU or VNNI-based CPU when quantizing for a non-CPU device, such as GPU, VPU, or GNA. It should help to avoid the impact of the :doc:`saturation issue <pot_saturation_issue>` that occurs on AVX and SSE-based CPU devices.
POT uses inference on the CPU during model optimization. It means that ability to infer the original floating-point model is essential for model optimization. In case of the 8-bit quantization, it is recommended to run POT on the same CPU architecture when optimizing for CPU or VNNI-based CPU when quantizing for a non-CPU device, such as GPU, NPU, or GNA. It should help to avoid the impact of the :doc:`saturation issue <pot_saturation_issue>` that occurs on AVX and SSE-based CPU devices.
Improving accuracy after the Default Quantization
@@ -32,7 +32,7 @@ Parameters of the Default Quantization algorithm with basic settings are present
# the quantization scheme. For the CPU:
# performance - symmetric quantization of weights and activations.
# mixed - symmetric weights and asymmetric activations.
# accuracy - the same as "mixed" for CPU, GPU, and GNA devices; asymmetric weights and activations for VPU device.
# accuracy - the same as "mixed" for CPU, GPU, and GNA devices; asymmetric weights and activations for NPU device.
"stat_subset_size": 300 # Size of the subset to calculate activations statistics that can be used
# for quantization parameters calculation.
}

View File

@@ -90,7 +90,7 @@ Default Quantization algorithm has mandatory and optional parameters which are d
* ``"target_device"`` - the following options are available:
* ``"ANY"`` (or ``"CPU"``) - default option to quantize models for CPU, GPU, or VPU
* ``"ANY"`` (or ``"CPU"``) - default option to quantize models for CPU, GPU, or NPU
* ``"CPU_SPR"`` - to quantize models for CPU SPR (4th Generation Intel® Xeon® Scalable processor family)
* ``"GNA"``, ``"GNA3"``, ``"GNA3.5"`` - to quantize models for GNA devices respectively.

View File

@@ -2,9 +2,9 @@
## Introduction
The primary optimization feature of the Post-training Optimization Tool (POT) is the uniform integer quantization which allows substantially increasing inference performance and reducing the model size. Different HW platforms can support different integer precisions and POT is designed to support all of them, for example, 8-bit for CPU, GPU, VPU, 16-bit for GNA. Moreover, POT makes the specification of HW settings transparent for the user by introducing a concept of the `target_device` parameter.
The primary optimization feature of the Post-training Optimization Tool (POT) is the uniform integer quantization which allows substantially increasing inference performance and reducing the model size. Different HW platforms can support different integer precisions and POT is designed to support all of them, for example, 8-bit for CPU, GPU, NPU, 16-bit for GNA. Moreover, POT makes the specification of HW settings transparent for the user by introducing a concept of the `target_device` parameter.
> **NOTE**: There is a special `target_device: "ANY"` which leads to portable quantized models compatible with CPU, GPU, and VPU devices. GNA-quantized models are compatible only with CPU.
> **NOTE**: There is a special `target_device: "ANY"` which leads to portable quantized models compatible with CPU, GPU, and NPU devices. GNA-quantized models are compatible only with CPU.
During the quantization process, the POT tool runs inference of the optimizing model to estimate quantization parameters for input activations of the quantizable operation. It means that a calibration dataset is required to perform quantization. This dataset may have or not have annotation depending on the quantization algorithm that is used.

View File

@@ -17,7 +17,7 @@ class AccuracyAwareQuantization(Algorithm):
algos_by_devices = {
'ANY': 'AccuracyAwareCommon',
'CPU': 'AccuracyAwareCommon',
'VPU': 'AccuracyAwareCommon',
'NPU': 'AccuracyAwareCommon',
'GPU': 'AccuracyAwareCommon',
'GNA': 'AccuracyAwareGNA',
'GNA3': 'AccuracyAwareGNA',

View File

@@ -31,11 +31,11 @@ class INT4MixedQuantization(AccuracyAwareCommon):
self.original_quantization_config.weights.bits = 8
self.original_quantization_config.activations.bits = 8
self._config.convert_to_mixed_preset = False
self._restrict_for_vpu = True
self._restrict_for_npu = True
self._engine.calculate_metrics = True
def _can_set_fq_to_low_bitwidth(self, node):
if self._restrict_for_vpu:
if self._restrict_for_npu:
return (nu.get_node_output(node, 0)[0].type == 'Convolution') and \
('group' not in nu.get_node_output(node, 0)[0])
return nu.get_node_output(node, 0)[0].type in OPERATIONS_WITH_WEIGHTS

View File

@@ -528,7 +528,7 @@ def _fake_quantize_to_types(model, hardware_config):
def change_configurations_by_model_type(model, config, fq_configuration, hardware_config):
if config['model_type'] == 'transformer' and config['target_device'] in ['ANY', 'CPU', 'CPU_SPR', 'GPU', 'VPU']:
if config['model_type'] == 'transformer' and config['target_device'] in ['ANY', 'CPU', 'CPU_SPR', 'GPU', 'NPU']:
change_configurations_by_model_type_transformer(model, fq_configuration, hardware_config)

View File

@@ -21,7 +21,7 @@ __HARDWARE_CONFIGS_MAP = {'ANY': 'cpu.json',
'GNA3': 'gna3.json',
'GNA3.5': 'gna3.json',
'GPU': 'gpu.json', # Same as cpu.json but without LSTM/GRUSequence quantization
'VPU': 'vpu.json',
'NPU': 'npu.json',
'CPU_SPR': 'cpu.json'}

View File

@@ -347,7 +347,7 @@ class Config(Dict):
aliases = {'symmetric': 'performance', 'asymmetric': 'accuracy'}
preset = aliases.get(preset, preset)
presets_aliases_by_device = {
'VPU': {'accuracy': 'accuracy'},
'NPU': {'accuracy': 'accuracy'},
'GNA': {'accuracy': 'accuracy', 'mixed': 'accuracy'},
'GNA3': {'accuracy': 'accuracy', 'mixed': 'accuracy'},
'GNA3.5': {'accuracy': 'accuracy', 'mixed': 'accuracy'},

View File

@@ -1,5 +1,5 @@
{
"target_device": "VPU",
"target_device": "NPU",
"config": {
"quantization": {
"q8_tn": {

View File

@@ -4,7 +4,7 @@
from openvino.tools.pot.graph.pattern_utils import get_clamp_mult_const_pattern, \
get_softmax_reshape_transpose_gather_matmul_pattern
def get_vpu_ignored_patterns():
def get_npu_ignored_patterns():
return {
'blocks': [get_softmax_reshape_transpose_gather_matmul_pattern()],
'activations': [get_clamp_mult_const_pattern()],

View File

@@ -10,7 +10,7 @@ import numpy as np
from openvino.tools.pot.version import get_version
from .cpu_patterns import get_cpu_ignored_patterns, get_cpu_spr_ignored_patterns
from .gpu_patterns import get_gpu_ignored_patterns
from .vpu_patterns import get_vpu_ignored_patterns
from .npu_patterns import get_npu_ignored_patterns
from .gna_patterns import get_gna_ignored_patterns, get_gna3_ignored_patterns
from .special_operations import QUANTIZE_AGNOSTIC_OPERATIONS
from .node_utils import get_all_node_outputs, get_input_shape
@@ -19,7 +19,7 @@ HARDWARE_AWARE_IGNORED_PATTERNS = {
'ANY': get_cpu_ignored_patterns(),
'CPU': get_cpu_ignored_patterns(),
'GPU': get_gpu_ignored_patterns(),
'VPU': get_vpu_ignored_patterns(),
'NPU': get_npu_ignored_patterns(),
'GNA': get_gna_ignored_patterns(),
'GNA3': get_gna3_ignored_patterns(),
'GNA3.5': get_gna3_ignored_patterns(),

View File

@@ -7,7 +7,7 @@ from .utils.path import TOOL_CONFIG_PATH
DEVICE = [
'CPU',
'GPU',
'VPU'
'NPU'
]

View File

@@ -18,9 +18,9 @@ from .utils.path import TEST_ROOT
from .utils.data_helper import load_json
TEST_MODELS = [
('mobilenet-v2-pytorch', 'pytorch', 'MinMaxQuantization', 'performance', 'VPU'),
('resnet-50-tf', 'tf', 'DefaultQuantization', 'performance', 'VPU'),
('octave-resnet-26-0.25', 'mxnet', 'DefaultQuantization', 'accuracy', 'VPU'),
('mobilenet-v2-pytorch', 'pytorch', 'MinMaxQuantization', 'performance', 'NPU'),
('resnet-50-tf', 'tf', 'DefaultQuantization', 'performance', 'NPU'),
('octave-resnet-26-0.25', 'mxnet', 'DefaultQuantization', 'accuracy', 'NPU'),
('concat_depthwise_model', 'pytorch', 'MinMaxQuantization', 'accuracy', 'CPU'),
]