Сжатие изображения перед отправкой в ​​SageMaker TF Serving

Необходимо раздельно распределять данные обучения для каждого графического процессора. Параллелизм данных реализуется с использованием torch.nn.DataParallel. Пример из документации pytorch :

import torch
import torch.nn as nn


class DataParallelModel(nn.Module):

    def __init__(self):
        super().__init__()
        self.block1 = nn.Linear(10, 20)

        # wrap block2 in DataParallel
        self.block2 = nn.Linear(20, 20)
        self.block2 = nn.DataParallel(self.block2)

        self.block3 = nn.Linear(20, 20)

    def forward(self, x):
        x = self.block1(x)
        x = self.block2(x)
        x = self.block3(x)
        return x

1
задан Austin 19 January 2019 в 17:31
поделиться

1 ответ

Я использую отдельный API для изменения размера изображений перед отправкой их в конечную точку. Вот фрагмент кода, у вас не должно возникнуть проблем с его адаптацией.

h = body['height']
w = body['width']
image = base64.b64decode(body['data'])
L = len(image)

image = np.fromstring(image, np.uint8)
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
(H, W, _) = image.shape
image = cv2.resize(image, (h, w,))
image = cv2.imencode('.jpeg', image)
data = base64.b64encode(image[1].tostring())

Полный пост здесь: https://medium.com/@julsimon/using-chalice-to-serve-sagemaker-predictions-a2015c02b033

0
ответ дан Julien Simon 19 January 2019 в 17:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: