У меня есть модель Detectron2 .pth, которую я успешно преобразовал в Caffe2 .pb с помощью функциональности инструментов Detectron2, расположенной здесь: https://github.com/facebookresearch/detectron2/blob/master/tools/caffe2_converter.py
В соответствии с рекомендациями, использовали --run- eval-флаг для подтверждения результатов при конвертации, и результаты очень похожи на исходные результаты deteron2.
Чтобы выполнить вывод для нового изображения с использованием результирующих файлов model.pb и model_init.pb, используется следующая функциональность: https://github.com/facebookresearch/detectron2/blob/master/detectron2/export/api.py (в основном) https://github.com/facebookresearch/detectron2/blob/master/detectron2/export/caffe2_inference.py
Однако результаты вывода даже не близки. Кто-нибудь может предложить причины, по которым это может произойти? В репозитории Detectron2 говорится, что вся предварительная обработка выполняется в сценариях caffe2, но я что-то упустил?
Я могу предоставить свой код вывода:
caffe2_model = Caffe2Model.load_protobuf(input_directory)
img = cv2.imread(input_image)
image = torch.as_tensor(img.astype("float32").transpose(2, 0, 1))
data = {'image': image, 'height': image.shape[1], 'width': image.shape[2]}
output = caffe2_model([data])