Загрузка модели Pytorch в C ++ с использованием Dev Pytorch 1.0 - PullRequest
0 голосов
/ 02 октября 2018

Pytorch 1.0 имеет функцию для преобразования модели в программу сценария факела (сериализованную каким-либо образом) для обеспечения возможности ее выполнения в C ++ без зависимостей Python.

Подробности в этом уроке.https://pytorch.org/tutorials/advanced/cpp_export.html

Вот как это делается:

import torch
import torchvision

# An instance of your model.
model = A UNET MODEL FROM FASTAI which has hooks as required by UNET

# An example input you would normally provide to your model's forward() method.
example = torch.rand(1, 3, 224, 224)

# Use torch.jit.trace to generate a torch.jit.ScriptModule via tracing.
traced_script_module = torch.jit.trace(model, example)

В моем случае я использую модель UNET для семантической сегментации.Однако, отслеживая модель с помощью этого метода, я получаю следующую ошибку:

Forward or backward hooks can't be compiled 

Модель UNET использует ловушки для сохранения промежуточных объектов, которые используются на более поздних уровнях в сети.Есть ли способ обойти это?или Это все еще ограничение этого нового метода, что он не может работать с моделями, использующими такие ловушки

1 Ответ

0 голосов
/ 06 декабря 2018

Возможно, вы могли бы переписать модель на C ++, поскольку API c ++ имеет почти тот же интерфейс, что и версия Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...