Прогноз Google Cloud AutoML на Docker - PullRequest
0 голосов
/ 05 апреля 2020

Я обучил многоклассовой модели обнаружения объектов в Google Cloud AutoML. Я загрузил свою собственную модель из Контейнер экспорта. Чем я развернул его на Docker с изображением Google Cloud AutoML docker. И я отправил запрос с этим кодом:

import base64
import io
import json
import requests


def process(image_file_path, image_key="1", port_number=8501):
    with io.open(image_file_path, 'rb') as image_file:
        encoded_image = base64.b64encode(image_file.read()).decode('utf-8')

    instances = {
            "instances": [
                    {
                        "image_bytes": {
                            "b64": str(encoded_image)
                        },
                        "key": image_key
                    }
            ]
    }

    url = 'http://localhost:{}/v1/models/default:predict'.format(port_number)

    response = requests.post(url, data=json.dumps(instances))
    return response.json()

Я успешно получил ответ от docker в формате json:

{
    "predictions": [{
        "detection_multiclass_scores": [
            [0.00540795922, 0.99754715], 
            ...
        ],
        "detection_classes": [1.0, ...],
        "num_detections": 40.0,
        "image_info": [320, 320, 1, 0, 320, 320],
        "detection_boxes": [
            [0.0382162929, 0.0984618068, 0.746192276, 0.991413414], 
            ...
        ],
        "detection_scores": [0.99754715, ...],
        "detection_classes_as_text": ["image_class", ...],
        "key": "1"
    }]
}

На данный момент, Я хочу знать, где обнаружен ограничивающий прямоугольник на изображении. Я знаю, что должен получить эту информацию с detection_boxes, но мне нужно преобразовать ее в значения px. Потому что я снова обработаю ограничивающие рамки.

Каков шаблон detection_boxes?

...