• Dmitry Matveev's avatar
    Merge pull request #15090 from dmatveev:dm/ng-0001-g-api-inference-api · 0757a51e
    Dmitry Matveev authored
    * G-API-NG/API: Introduced inference API and IE-based backend
    
    - Very quick-n-dirty implementation
    - OpenCV's own DNN module is not used
    - No tests so far
    
    * G-API-NG/IE: Refined IE backend, added more tests
    
    * G-API-NG/IE: Fixed various CI warnings & build issues + tests
    
    - Added tests on multi-dimensional own::Mat
    - Added tests on GMatDesc with dimensions
    - Documentation on infer.hpp
    - Fixed more warnings + added a ROI list test
    - Fix descr_of clash for vector<Mat> & standalone mode
    - Fix build issue with gcc-4.8x
    - Addressed review comments
    
    * G-API-NG/IE: Addressed review comments
    
    - Pass `false` to findDataFile()
    - Add deprecation warning suppression macros for IE
    0757a51e
ginfer.cpp 836 Bytes
// This file is part of OpenCV project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://opencv.org/license.html.
//
// Copyright (C) 2018-2019 Intel Corporation


#include "precomp.hpp"

#include <functional> // hash
#include <numeric> // accumulate
#include <unordered_set>
#include <iterator>

#include <ade/util/algorithm.hpp>

#include <opencv2/gapi/infer.hpp>

cv::gapi::GNetPackage::GNetPackage(std::initializer_list<GNetParam> &&ii)
    : networks(std::move(ii)) {
}

std::vector<cv::gapi::GBackend> cv::gapi::GNetPackage::backends() const {
    std::unordered_set<cv::gapi::GBackend> unique_set;
    for (const auto &nn : networks) unique_set.insert(nn.backend);
    return std::vector<cv::gapi::GBackend>(unique_set.begin(), unique_set.end());
}