2022-01-19 01:07:49 +03:00
|
|
|
// Copyright (C) 2018-2022 Intel Corporation
|
2019-08-09 19:02:42 +03:00
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
Dynamic reshapes (#7788)
* Merged and compiling
* Fix for dynamic shape type
* review fixes
* renamed blob shape to tensor shape, small improvements
* fix code style
* added parsing of multiple shapes
* store latency per group, add isIdleRequestAvailable() to Infer Queue
* added cached random inputs
* redesign pipeline, added new metrics(avg, max, min), added metrics per groups
* fixed code style
* small improvements
* modified tensor parameters parsing
* modified -i parameter parsing: added possibility to specify input names
* implemented image cashing
* added cashed blobs creating
* added -pcseq flag, modified batch filling, changes fps formula
* improvements
* code formatting
* code formatting2
* apply suggestions from review
* replaced Buffer class with InferenceEngine Blobs
* use batch size in blobs filling
* added shared blob allocator to handle blob's data
* fixed warnings & code style
* allocate blobs
* fix for networks with image info input
* added comments & fixed codestyle
* clear data in free() in SharedBlobAllocator
* remove unnecessary check
* Delimeter is changed to ::
* stylefix
* added layout from string function, small improvements
* modified parsing to enable : in input parameters
* small fixes
* small fixes
* added missed blob allocation, fixes
* [TEST]added support for remote blobs
* fix remote blobs
* new inputs/files output format
* removed vectors resize which caused bugs
* made cl::Buffer type under ifdef, fix inputs filling
* changed batch() function to not throwing exceptions
* removed unused var
* fix code style
* replace empty name in input files with name from net input
* restored old behaviour for static models
* fix code style
* fix warning - made const iterator
* fix warning - remove reference in loop variable
* added random and image_info input types to -i, fix problem with layout
* replaced batch() with getBatchSize() in main
* fix layout, shape, tensor shape parameters parsing
* upd help messages for input, tensor shape and pcseq command
* added buffer for cl output blobs, small fixes
Signed-off-by: ivikhrev <ivan.vikhrev@intel.com>
* added legacy mode
* restore setBlob
* code style formatting
* move collecting latency for groups under flag
* removed not applicable layouts
* added hint to error message when wrong input name in -tensor_shape was specified
* added new metrics to statistics report
* Apply suggestions from code review
* fix binary blobs filling when layout is CN
* apply suggestions
* moved file in the right place after rebase
* improved -pcseq output
* updated args and readme
* removed TEMPLATE plugin registration
* fix -shape arg decsription
* enable providing several -i args as input
* renamed legacy_mode to inference_only and made it default for static models, renamed tensor_shape to data_shape
* upd readme
* use getBlob() in inference only mode
* fix old input type for static case
* fix typo
* upd readme
* move log about benchmark mode to the measuring perfomance step
* added class for latency metrics
* upd readme, fix typos, renamed funcs
* fix warning and upd parsing to avoid error with : in file paths
* fix error on centos : error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)
* added check for key in inputs
* renamed input to inputs
* adjust batch size for binary blobs
* replaced warning with exception in bench mode defining
* align measurement cycle with master
Co-authored-by: ivikhrev <ivan.vikhrev@intel.com>
2021-12-17 12:20:43 +03:00
|
|
|
#include <chrono>
|
|
|
|
|
#include <iomanip>
|
2021-04-22 14:02:54 +03:00
|
|
|
#include <map>
|
2021-12-30 19:09:12 +03:00
|
|
|
#include <openvino/openvino.hpp>
|
Dynamic reshapes (#7788)
* Merged and compiling
* Fix for dynamic shape type
* review fixes
* renamed blob shape to tensor shape, small improvements
* fix code style
* added parsing of multiple shapes
* store latency per group, add isIdleRequestAvailable() to Infer Queue
* added cached random inputs
* redesign pipeline, added new metrics(avg, max, min), added metrics per groups
* fixed code style
* small improvements
* modified tensor parameters parsing
* modified -i parameter parsing: added possibility to specify input names
* implemented image cashing
* added cashed blobs creating
* added -pcseq flag, modified batch filling, changes fps formula
* improvements
* code formatting
* code formatting2
* apply suggestions from review
* replaced Buffer class with InferenceEngine Blobs
* use batch size in blobs filling
* added shared blob allocator to handle blob's data
* fixed warnings & code style
* allocate blobs
* fix for networks with image info input
* added comments & fixed codestyle
* clear data in free() in SharedBlobAllocator
* remove unnecessary check
* Delimeter is changed to ::
* stylefix
* added layout from string function, small improvements
* modified parsing to enable : in input parameters
* small fixes
* small fixes
* added missed blob allocation, fixes
* [TEST]added support for remote blobs
* fix remote blobs
* new inputs/files output format
* removed vectors resize which caused bugs
* made cl::Buffer type under ifdef, fix inputs filling
* changed batch() function to not throwing exceptions
* removed unused var
* fix code style
* replace empty name in input files with name from net input
* restored old behaviour for static models
* fix code style
* fix warning - made const iterator
* fix warning - remove reference in loop variable
* added random and image_info input types to -i, fix problem with layout
* replaced batch() with getBatchSize() in main
* fix layout, shape, tensor shape parameters parsing
* upd help messages for input, tensor shape and pcseq command
* added buffer for cl output blobs, small fixes
Signed-off-by: ivikhrev <ivan.vikhrev@intel.com>
* added legacy mode
* restore setBlob
* code style formatting
* move collecting latency for groups under flag
* removed not applicable layouts
* added hint to error message when wrong input name in -tensor_shape was specified
* added new metrics to statistics report
* Apply suggestions from code review
* fix binary blobs filling when layout is CN
* apply suggestions
* moved file in the right place after rebase
* improved -pcseq output
* updated args and readme
* removed TEMPLATE plugin registration
* fix -shape arg decsription
* enable providing several -i args as input
* renamed legacy_mode to inference_only and made it default for static models, renamed tensor_shape to data_shape
* upd readme
* use getBlob() in inference only mode
* fix old input type for static case
* fix typo
* upd readme
* move log about benchmark mode to the measuring perfomance step
* added class for latency metrics
* upd readme, fix typos, renamed funcs
* fix warning and upd parsing to avoid error with : in file paths
* fix error on centos : error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)
* added check for key in inputs
* renamed input to inputs
* adjust batch size for binary blobs
* replaced warning with exception in bench mode defining
* align measurement cycle with master
Co-authored-by: ivikhrev <ivan.vikhrev@intel.com>
2021-12-17 12:20:43 +03:00
|
|
|
#include <samples/slog.hpp>
|
2019-08-09 19:02:42 +03:00
|
|
|
#include <string>
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
Dynamic reshapes (#7788)
* Merged and compiling
* Fix for dynamic shape type
* review fixes
* renamed blob shape to tensor shape, small improvements
* fix code style
* added parsing of multiple shapes
* store latency per group, add isIdleRequestAvailable() to Infer Queue
* added cached random inputs
* redesign pipeline, added new metrics(avg, max, min), added metrics per groups
* fixed code style
* small improvements
* modified tensor parameters parsing
* modified -i parameter parsing: added possibility to specify input names
* implemented image cashing
* added cashed blobs creating
* added -pcseq flag, modified batch filling, changes fps formula
* improvements
* code formatting
* code formatting2
* apply suggestions from review
* replaced Buffer class with InferenceEngine Blobs
* use batch size in blobs filling
* added shared blob allocator to handle blob's data
* fixed warnings & code style
* allocate blobs
* fix for networks with image info input
* added comments & fixed codestyle
* clear data in free() in SharedBlobAllocator
* remove unnecessary check
* Delimeter is changed to ::
* stylefix
* added layout from string function, small improvements
* modified parsing to enable : in input parameters
* small fixes
* small fixes
* added missed blob allocation, fixes
* [TEST]added support for remote blobs
* fix remote blobs
* new inputs/files output format
* removed vectors resize which caused bugs
* made cl::Buffer type under ifdef, fix inputs filling
* changed batch() function to not throwing exceptions
* removed unused var
* fix code style
* replace empty name in input files with name from net input
* restored old behaviour for static models
* fix code style
* fix warning - made const iterator
* fix warning - remove reference in loop variable
* added random and image_info input types to -i, fix problem with layout
* replaced batch() with getBatchSize() in main
* fix layout, shape, tensor shape parameters parsing
* upd help messages for input, tensor shape and pcseq command
* added buffer for cl output blobs, small fixes
Signed-off-by: ivikhrev <ivan.vikhrev@intel.com>
* added legacy mode
* restore setBlob
* code style formatting
* move collecting latency for groups under flag
* removed not applicable layouts
* added hint to error message when wrong input name in -tensor_shape was specified
* added new metrics to statistics report
* Apply suggestions from code review
* fix binary blobs filling when layout is CN
* apply suggestions
* moved file in the right place after rebase
* improved -pcseq output
* updated args and readme
* removed TEMPLATE plugin registration
* fix -shape arg decsription
* enable providing several -i args as input
* renamed legacy_mode to inference_only and made it default for static models, renamed tensor_shape to data_shape
* upd readme
* use getBlob() in inference only mode
* fix old input type for static case
* fix typo
* upd readme
* move log about benchmark mode to the measuring perfomance step
* added class for latency metrics
* upd readme, fix typos, renamed funcs
* fix warning and upd parsing to avoid error with : in file paths
* fix error on centos : error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)
* added check for key in inputs
* renamed input to inputs
* adjust batch size for binary blobs
* replaced warning with exception in bench mode defining
* align measurement cycle with master
Co-authored-by: ivikhrev <ivan.vikhrev@intel.com>
2021-12-17 12:20:43 +03:00
|
|
|
typedef std::chrono::high_resolution_clock Time;
|
|
|
|
|
typedef std::chrono::nanoseconds ns;
|
|
|
|
|
|
2022-01-19 01:08:07 +03:00
|
|
|
inline uint64_t get_duration_in_milliseconds(uint32_t duration) {
|
Dynamic reshapes (#7788)
* Merged and compiling
* Fix for dynamic shape type
* review fixes
* renamed blob shape to tensor shape, small improvements
* fix code style
* added parsing of multiple shapes
* store latency per group, add isIdleRequestAvailable() to Infer Queue
* added cached random inputs
* redesign pipeline, added new metrics(avg, max, min), added metrics per groups
* fixed code style
* small improvements
* modified tensor parameters parsing
* modified -i parameter parsing: added possibility to specify input names
* implemented image cashing
* added cashed blobs creating
* added -pcseq flag, modified batch filling, changes fps formula
* improvements
* code formatting
* code formatting2
* apply suggestions from review
* replaced Buffer class with InferenceEngine Blobs
* use batch size in blobs filling
* added shared blob allocator to handle blob's data
* fixed warnings & code style
* allocate blobs
* fix for networks with image info input
* added comments & fixed codestyle
* clear data in free() in SharedBlobAllocator
* remove unnecessary check
* Delimeter is changed to ::
* stylefix
* added layout from string function, small improvements
* modified parsing to enable : in input parameters
* small fixes
* small fixes
* added missed blob allocation, fixes
* [TEST]added support for remote blobs
* fix remote blobs
* new inputs/files output format
* removed vectors resize which caused bugs
* made cl::Buffer type under ifdef, fix inputs filling
* changed batch() function to not throwing exceptions
* removed unused var
* fix code style
* replace empty name in input files with name from net input
* restored old behaviour for static models
* fix code style
* fix warning - made const iterator
* fix warning - remove reference in loop variable
* added random and image_info input types to -i, fix problem with layout
* replaced batch() with getBatchSize() in main
* fix layout, shape, tensor shape parameters parsing
* upd help messages for input, tensor shape and pcseq command
* added buffer for cl output blobs, small fixes
Signed-off-by: ivikhrev <ivan.vikhrev@intel.com>
* added legacy mode
* restore setBlob
* code style formatting
* move collecting latency for groups under flag
* removed not applicable layouts
* added hint to error message when wrong input name in -tensor_shape was specified
* added new metrics to statistics report
* Apply suggestions from code review
* fix binary blobs filling when layout is CN
* apply suggestions
* moved file in the right place after rebase
* improved -pcseq output
* updated args and readme
* removed TEMPLATE plugin registration
* fix -shape arg decsription
* enable providing several -i args as input
* renamed legacy_mode to inference_only and made it default for static models, renamed tensor_shape to data_shape
* upd readme
* use getBlob() in inference only mode
* fix old input type for static case
* fix typo
* upd readme
* move log about benchmark mode to the measuring perfomance step
* added class for latency metrics
* upd readme, fix typos, renamed funcs
* fix warning and upd parsing to avoid error with : in file paths
* fix error on centos : error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)
* added check for key in inputs
* renamed input to inputs
* adjust batch size for binary blobs
* replaced warning with exception in bench mode defining
* align measurement cycle with master
Co-authored-by: ivikhrev <ivan.vikhrev@intel.com>
2021-12-17 12:20:43 +03:00
|
|
|
return duration * 1000LL;
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-19 01:08:07 +03:00
|
|
|
inline uint64_t get_duration_in_nanoseconds(uint32_t duration) {
|
Dynamic reshapes (#7788)
* Merged and compiling
* Fix for dynamic shape type
* review fixes
* renamed blob shape to tensor shape, small improvements
* fix code style
* added parsing of multiple shapes
* store latency per group, add isIdleRequestAvailable() to Infer Queue
* added cached random inputs
* redesign pipeline, added new metrics(avg, max, min), added metrics per groups
* fixed code style
* small improvements
* modified tensor parameters parsing
* modified -i parameter parsing: added possibility to specify input names
* implemented image cashing
* added cashed blobs creating
* added -pcseq flag, modified batch filling, changes fps formula
* improvements
* code formatting
* code formatting2
* apply suggestions from review
* replaced Buffer class with InferenceEngine Blobs
* use batch size in blobs filling
* added shared blob allocator to handle blob's data
* fixed warnings & code style
* allocate blobs
* fix for networks with image info input
* added comments & fixed codestyle
* clear data in free() in SharedBlobAllocator
* remove unnecessary check
* Delimeter is changed to ::
* stylefix
* added layout from string function, small improvements
* modified parsing to enable : in input parameters
* small fixes
* small fixes
* added missed blob allocation, fixes
* [TEST]added support for remote blobs
* fix remote blobs
* new inputs/files output format
* removed vectors resize which caused bugs
* made cl::Buffer type under ifdef, fix inputs filling
* changed batch() function to not throwing exceptions
* removed unused var
* fix code style
* replace empty name in input files with name from net input
* restored old behaviour for static models
* fix code style
* fix warning - made const iterator
* fix warning - remove reference in loop variable
* added random and image_info input types to -i, fix problem with layout
* replaced batch() with getBatchSize() in main
* fix layout, shape, tensor shape parameters parsing
* upd help messages for input, tensor shape and pcseq command
* added buffer for cl output blobs, small fixes
Signed-off-by: ivikhrev <ivan.vikhrev@intel.com>
* added legacy mode
* restore setBlob
* code style formatting
* move collecting latency for groups under flag
* removed not applicable layouts
* added hint to error message when wrong input name in -tensor_shape was specified
* added new metrics to statistics report
* Apply suggestions from code review
* fix binary blobs filling when layout is CN
* apply suggestions
* moved file in the right place after rebase
* improved -pcseq output
* updated args and readme
* removed TEMPLATE plugin registration
* fix -shape arg decsription
* enable providing several -i args as input
* renamed legacy_mode to inference_only and made it default for static models, renamed tensor_shape to data_shape
* upd readme
* use getBlob() in inference only mode
* fix old input type for static case
* fix typo
* upd readme
* move log about benchmark mode to the measuring perfomance step
* added class for latency metrics
* upd readme, fix typos, renamed funcs
* fix warning and upd parsing to avoid error with : in file paths
* fix error on centos : error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)
* added check for key in inputs
* renamed input to inputs
* adjust batch size for binary blobs
* replaced warning with exception in bench mode defining
* align measurement cycle with master
Co-authored-by: ivikhrev <ivan.vikhrev@intel.com>
2021-12-17 12:20:43 +03:00
|
|
|
return duration * 1000000000LL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inline double get_duration_ms_till_now(Time::time_point& startTime) {
|
|
|
|
|
return std::chrono::duration_cast<ns>(Time::now() - startTime).count() * 0.000001;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
inline std::string double_to_string(const double number) {
|
|
|
|
|
std::stringstream ss;
|
|
|
|
|
ss << std::fixed << std::setprecision(2) << number;
|
|
|
|
|
return ss.str();
|
|
|
|
|
};
|
|
|
|
|
|
2021-02-11 12:57:05 +03:00
|
|
|
namespace benchmark_app {
|
2021-04-22 14:02:54 +03:00
|
|
|
struct InputInfo {
|
2021-12-30 19:09:12 +03:00
|
|
|
ov::element::Type type;
|
|
|
|
|
ov::PartialShape partialShape;
|
|
|
|
|
ov::Shape dataShape;
|
|
|
|
|
ov::Layout layout;
|
2021-08-05 01:51:46 +09:00
|
|
|
std::vector<float> scale;
|
|
|
|
|
std::vector<float> mean;
|
2022-01-19 01:08:07 +03:00
|
|
|
bool is_image() const;
|
|
|
|
|
bool is_image_info() const;
|
2021-04-22 14:02:54 +03:00
|
|
|
size_t width() const;
|
|
|
|
|
size_t height() const;
|
|
|
|
|
size_t channels() const;
|
|
|
|
|
size_t batch() const;
|
|
|
|
|
size_t depth() const;
|
2021-12-30 19:09:12 +03:00
|
|
|
std::vector<std::string> fileNames;
|
2021-04-22 14:02:54 +03:00
|
|
|
};
|
|
|
|
|
using InputsInfo = std::map<std::string, InputInfo>;
|
Dynamic reshapes (#7788)
* Merged and compiling
* Fix for dynamic shape type
* review fixes
* renamed blob shape to tensor shape, small improvements
* fix code style
* added parsing of multiple shapes
* store latency per group, add isIdleRequestAvailable() to Infer Queue
* added cached random inputs
* redesign pipeline, added new metrics(avg, max, min), added metrics per groups
* fixed code style
* small improvements
* modified tensor parameters parsing
* modified -i parameter parsing: added possibility to specify input names
* implemented image cashing
* added cashed blobs creating
* added -pcseq flag, modified batch filling, changes fps formula
* improvements
* code formatting
* code formatting2
* apply suggestions from review
* replaced Buffer class with InferenceEngine Blobs
* use batch size in blobs filling
* added shared blob allocator to handle blob's data
* fixed warnings & code style
* allocate blobs
* fix for networks with image info input
* added comments & fixed codestyle
* clear data in free() in SharedBlobAllocator
* remove unnecessary check
* Delimeter is changed to ::
* stylefix
* added layout from string function, small improvements
* modified parsing to enable : in input parameters
* small fixes
* small fixes
* added missed blob allocation, fixes
* [TEST]added support for remote blobs
* fix remote blobs
* new inputs/files output format
* removed vectors resize which caused bugs
* made cl::Buffer type under ifdef, fix inputs filling
* changed batch() function to not throwing exceptions
* removed unused var
* fix code style
* replace empty name in input files with name from net input
* restored old behaviour for static models
* fix code style
* fix warning - made const iterator
* fix warning - remove reference in loop variable
* added random and image_info input types to -i, fix problem with layout
* replaced batch() with getBatchSize() in main
* fix layout, shape, tensor shape parameters parsing
* upd help messages for input, tensor shape and pcseq command
* added buffer for cl output blobs, small fixes
Signed-off-by: ivikhrev <ivan.vikhrev@intel.com>
* added legacy mode
* restore setBlob
* code style formatting
* move collecting latency for groups under flag
* removed not applicable layouts
* added hint to error message when wrong input name in -tensor_shape was specified
* added new metrics to statistics report
* Apply suggestions from code review
* fix binary blobs filling when layout is CN
* apply suggestions
* moved file in the right place after rebase
* improved -pcseq output
* updated args and readme
* removed TEMPLATE plugin registration
* fix -shape arg decsription
* enable providing several -i args as input
* renamed legacy_mode to inference_only and made it default for static models, renamed tensor_shape to data_shape
* upd readme
* use getBlob() in inference only mode
* fix old input type for static case
* fix typo
* upd readme
* move log about benchmark mode to the measuring perfomance step
* added class for latency metrics
* upd readme, fix typos, renamed funcs
* fix warning and upd parsing to avoid error with : in file paths
* fix error on centos : error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)
* added check for key in inputs
* renamed input to inputs
* adjust batch size for binary blobs
* replaced warning with exception in bench mode defining
* align measurement cycle with master
Co-authored-by: ivikhrev <ivan.vikhrev@intel.com>
2021-12-17 12:20:43 +03:00
|
|
|
using PartialShapes = std::map<std::string, ngraph::PartialShape>;
|
2021-04-22 14:02:54 +03:00
|
|
|
} // namespace benchmark_app
|
2021-02-11 12:57:05 +03:00
|
|
|
|
2022-01-19 01:08:07 +03:00
|
|
|
std::vector<std::string> parse_devices(const std::string& device_string);
|
|
|
|
|
uint32_t device_default_device_duration_in_seconds(const std::string& device);
|
|
|
|
|
std::map<std::string, std::string> parse_nstreams_value_per_device(const std::vector<std::string>& devices,
|
|
|
|
|
const std::string& values_string);
|
|
|
|
|
std::string get_shape_string(const ov::Shape& shape);
|
|
|
|
|
std::string get_shapes_string(const benchmark_app::PartialShapes& shapes);
|
|
|
|
|
size_t get_batch_size(const benchmark_app::InputsInfo& inputs_info);
|
2021-04-22 14:02:54 +03:00
|
|
|
std::vector<std::string> split(const std::string& s, char delim);
|
2022-01-19 01:08:07 +03:00
|
|
|
std::map<std::string, std::vector<float>> parse_scale_or_mean(const std::string& scale_mean,
|
|
|
|
|
const benchmark_app::InputsInfo& inputs_info);
|
|
|
|
|
std::vector<ngraph::Dimension> parse_partial_shape(const std::string& partial_shape);
|
|
|
|
|
ov::Shape parse_data_shape(const std::string& dataShapeStr);
|
|
|
|
|
std::pair<std::string, std::vector<std::string>> parse_input_files(const std::string& file_paths_string);
|
|
|
|
|
std::map<std::string, std::vector<std::string>> parse_input_arguments(const std::vector<std::string>& args);
|
2021-02-11 12:57:05 +03:00
|
|
|
|
2022-01-19 01:08:07 +03:00
|
|
|
std::map<std::string, std::vector<std::string>> parse_input_parameters(const std::string& parameter_string,
|
|
|
|
|
const ov::ParameterVector& input_info);
|
2021-12-30 19:09:12 +03:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Parses command line data and data obtained from the function and returns configuration of each input
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="shape_string">command-line shape string</param>
|
|
|
|
|
/// <param name="layout_string">command-line layout string</param>
|
|
|
|
|
/// <param name="batch_size">command-line batch string</param>
|
|
|
|
|
/// <param name="tensors_shape_string">command-line tensor_shape string</param>
|
|
|
|
|
/// <param name="scale_string">command-line iscale string</param>
|
|
|
|
|
/// <param name="mean_string">command-line imean string</param>
|
|
|
|
|
/// <param name="input_info">inputs vector obtained from ov::Model</param>
|
|
|
|
|
/// <param name="reshape_required">returns true to this parameter if reshape is required</param>
|
|
|
|
|
/// <returns>vector of benchmark_app::InputsInfo elements.
|
|
|
|
|
/// Each element is a configuration item for every test configuration case
|
|
|
|
|
/// (number of cases is calculated basing on tensor_shape and other parameters).
|
|
|
|
|
/// Each element is a map (input_name, configuration) containing data for each input</returns>
|
2022-01-19 01:08:07 +03:00
|
|
|
std::vector<benchmark_app::InputsInfo> get_inputs_info(const std::string& shape_string,
|
|
|
|
|
const std::string& layout_string,
|
|
|
|
|
const size_t batch_size,
|
|
|
|
|
const std::string& data_shapes_string,
|
|
|
|
|
const std::map<std::string, std::vector<std::string>>& fileNames,
|
|
|
|
|
const std::string& scale_string,
|
|
|
|
|
const std::string& mean_string,
|
|
|
|
|
const std::vector<ov::Output<const ov::Node>>& input_info,
|
|
|
|
|
bool& reshape_required);
|
2021-12-30 19:09:12 +03:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Parses command line data and data obtained from the function and returns configuration of each input
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="shape_string">command-line shape string</param>
|
|
|
|
|
/// <param name="layout_string">command-line layout string</param>
|
|
|
|
|
/// <param name="batch_size">command-line batch string</param>
|
|
|
|
|
/// <param name="tensors_shape_string">command-line tensor_shape string</param>
|
|
|
|
|
/// <param name="scale_string">command-line iscale string</param>
|
|
|
|
|
/// <param name="mean_string">command-line imean string</param>
|
|
|
|
|
/// <param name="input_info">inputs vector obtained from ov::Model</param>
|
|
|
|
|
/// <param name="reshape_required">returns true to this parameter if reshape is required</param>
|
|
|
|
|
/// <returns>vector of benchmark_app::InputsInfo elements.
|
|
|
|
|
/// Each element is a configuration item for every test configuration case
|
|
|
|
|
/// (number of cases is calculated basing on tensor_shape and other parameters).
|
|
|
|
|
/// Each element is a map (input_name, configuration) containing data for each
|
|
|
|
|
/// input</returns>
|
2022-01-19 01:08:07 +03:00
|
|
|
std::vector<benchmark_app::InputsInfo> get_inputs_info(const std::string& shape_string,
|
|
|
|
|
const std::string& layout_string,
|
|
|
|
|
const size_t batch_size,
|
|
|
|
|
const std::string& data_shapes_string,
|
|
|
|
|
const std::map<std::string, std::vector<std::string>>& fileNames,
|
|
|
|
|
const std::string& scale_string,
|
|
|
|
|
const std::string& mean_string,
|
|
|
|
|
const std::vector<ov::Output<const ov::Node>>& input_info);
|
2020-05-13 21:12:22 +03:00
|
|
|
|
2022-01-24 11:29:09 +03:00
|
|
|
void dump_config(const std::string& filename, const std::map<std::string, std::map<std::string, std::string>>& config);
|
|
|
|
|
void load_config(const std::string& filename, std::map<std::string, std::map<std::string, std::string>>& config);
|
2021-12-30 19:09:12 +03:00
|
|
|
|
|
|
|
|
extern const std::vector<std::string> supported_image_extensions;
|
|
|
|
|
extern const std::vector<std::string> supported_binary_extensions;
|
|
|
|
|
|
2022-01-19 01:08:07 +03:00
|
|
|
bool is_binary_file(const std::string& filePath);
|
|
|
|
|
bool is_image_file(const std::string& filePath);
|
|
|
|
|
bool contains_binaries(const std::vector<std::string>& filePaths);
|
|
|
|
|
std::vector<std::string> filter_files_by_extensions(const std::vector<std::string>& filePaths,
|
|
|
|
|
const std::vector<std::string>& extensions);
|