Не удается зарегистрировать пользовательскую модель (на основе OpenCV) в службе машинного обучения Azure - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь зарегистрировать модель на основе cv2.face.createFacemarkLBF, но безуспешно.

Я начинаю с такого класса:

import cv2
import numpy as np
from pprint import pprint as pp
from lib.fsclib import logger

LBF_MODEL = model_file = "lbfmodel.yml"

class Landmarker:
    def __init__(self):
        self.logger = logger
        self.landmarker = None

    def get_img_gray(self,img):
        return cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    def process_landmarks(self, raw_landmarks):
        return raw_landmarks

    def get_landmarks(self, img_gray, face_coords):
        pass

class MyLandmarker(Landmarker):
    def __init__(self, model=LBF_MODEL):
        super(MyLandmarker).__init__()
        logger.info("Initializing FACEMARK with model: %s"%model)
        self.landmarker = cv2.face.createFacemarkLBF()
        self.landmarker.loadModel(model)

    def get_landmarks(self,image, face):
        landmarks = None
        try:
            ok, landmarks = self.landmarker.fit(self.get_img_gray(image), face)
        except Exception as e:
            logger.error("Error on class - %s - landmarking failed - %s"%(self.__class__.__name__,str(e)))
        return landmarks

... иЯ хочу развернуть его в соответствии с тем, что объясняется в:

https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-deploy-and-where#registermodel

Как я могу развернуть такую ​​основанную на OpenCV модель наземного ориентирования лица в ML Studio?

Спасибо, c

1 Ответ

1 голос
/ 24 октября 2019

Вы хотите зарегистрировать файл модели (lbfmodel.yml) и необходимые исходные файлы (в данном случае landmarker.py) - проще всего это сделать, указав команду Model.register в каталоге.

Этиможно ссылаться из файла драйвера как импорт и загрузка.

...