示例#1
0
 def load_model(self):
     core = IECore()
     if self.extensions != None:
         core.add_extension(self.extensions, self.device)
     self.net = core.load_network(network=self.model,
                                  device_name=self.device,
                                  num_requests=1)
    def load_model(self):
        '''
        TODO: You will need to complete this method.
        This method is for loading the model to the device specified by the user.
        If your model requires any Plugins, this is where you can load them.
        '''
        self.plugin = IECore()

        if self.extension and self.device == 'CPU':
            self.plugin.add_extension(self.extension, self.device)

            # Check for supported layers ###
            supported_layers = self.plugin.query_network(
                network=self.model, device_name=self.device)

            unsupported_layers = [
                l for l in self.model.layers.keys()
                if l not in supported_layers
            ]

            if len(unsupported_layers) != 0:
                logger.error(
                    "Unsupported layers found: {}".format(unsupported_layers))
                logger.error(
                    "Check whether extensions are available to add to IECore.")
                exit(1)

        self.net = self.plugin.load_network(network=self.model,
                                            device_name=self.device,
                                            num_requests=1)

        return self.net
 def __init__(self, model_name, device='CPU', extensions=None):
     """
     Initialize
     :param model_name: model path
     :param device: device to use
     :param extensions: extensions
     """
     # model_weights
     self.model_bin = model_name + ".bin"
     # model_structure
     self.model_xml = model_name + ".xml"
     # device to use
     self.device = device
     self.plugin = IECore()
     self.network = None
     self.net_input = None
     # extensions to use
     self.extensions = extensions
     # Get the input layer
     self.input_blob = None
     self.input_shape = None
     self.output_blob = None
     self.exec_network = None
     self.infer_request = None
     # name of the model extended
     self.model_name = None
示例#4
0
 def __init__(self, model_name, device='CPU', extensions=None):
     '''
     TODO: Use this to set your instance variables.
     '''
     self.model_weights = model_name + '.bin'
     self.model_structure = model_name + '.xml'
     self.device = device
     self.extension = extensions
     core = IECore()
     self.model = core.read_network(self.model_structure,
                                    self.model_weights)
     self.input_name = next(iter(self.model.inputs))
     self.input_shape = self.model.inputs[self.input_name].shape
     self.output_name = next(iter(self.model.outputs))
     self.output_shape = self.model.outputs[self.output_name].shape
示例#5
0
import yaml
import cv2
import numpy as np
import pandas as pd
from PIL import Image
from numpy import count_nonzero, vstack, newaxis, argmax, where
from openvino.inference_engine.ie_api import IECore
from sklearn.metrics.pairwise import cosine_similarity
from tqdm import tqdm

from dl_src.dnn import get_data_frame_from_folder, DNN

opj = os.path.join
image_extensions = ['.png', '.jpg']
del_label = 'DELETE'
ie = IECore()

# TODO Make size output


def make_list_of_files_by_extension(source,
                                    extensions=None,
                                    escape_copies=True):
    if extensions is None:
        extensions = ('.jpg', '.png')
    ck = set()
    q = Queue()
    q.put(source)
    paths = []
    file_names = []
    while not q.empty():