itlab-vision / dl-benchmark

Deep Learning Inference benchmark. Supports OpenVINO™ toolkit, TensorFlow, TensorFlow Lite, ONNX Runtime, OpenCV DNN, MXNet, PyTorch, Apache TVM, ncnn, PaddlePaddle, etc.
http://hpc-education.unn.ru/dli
Apache License 2.0
27 stars 37 forks source link

[TVM] retinaface-resnet50-pytorch NotImplementedError #458

Open ismukhin opened 11 months ago

ismukhin commented 11 months ago

@n-berezina-nn, добрый день! Возникла проблема с моделью retinaface-resnet50-pytorch при запуске скрипта inference_tvm_pytorch.py выбрасывается следующая ошибка:

[ ERROR ] Traceback (most recent call last):
  File "/home/vanya/projects/dl-benchmark/src/inference/./inference_tvm_pytorch.py", line 181, in main
    graph_module = converter.get_graph_module()
  File "/home/vanya/projects/dl-benchmark/src/model_converters/tvm_converter/tvm_converter.py", line 75, in get_graph_module
    model = self._convert_model_from_framework(target, dev)
  File "/home/vanya/projects/dl-benchmark/src/model_converters/tvm_converter/tvm_converter.py", line 146, in _convert_model_from_framework
    model, params = self.tvm.relay.frontend.from_pytorch(scripted_model, shape_list)
  File "/home/vanya/anaconda3/envs/dl_benchmark_env/lib/python3.9/site-packages/tvm/relay/frontend/pytorch.py", line 4979, in from_pytorch
    converter.report_missing_conversion(op_names)
  File "/home/vanya/anaconda3/envs/dl_benchmark_env/lib/python3.9/site-packages/tvm/relay/frontend/pytorch.py", line 4053, in report_missing_conversion
    raise NotImplementedError(msg)
NotImplementedError: The following operators are not implemented: ['aten::__isnot__', 'aten::smooth_l1_loss', 'prim::Exit', 'aten::__contains__', 'aten::uniform_', 'aten::_set_item', 'aten::insert', 'aten::conv2d', 'aten::__is__', 'prim::dtype', 'aten::items', 'prim::CreateObject', 'aten::list', 'aten::dim', 'aten::dict', 'prim::type', 'prim::tolist', 'prim::max', 'aten::__range_length', 'prim::Uninitialized', 'aten::warn', 'aten::__derive_index', 'aten::extend', 'prim::TupleIndex', 'aten::format', 'prim::Enter', 'aten::copy_', 'prim::unchecked_cast', 'aten::as_tensor', 'aten::keys', 'aten::item', 'aten::binary_cross_entropy_with_logits', 'prim::DictConstruct', 'aten::unique_dim', 'aten::values', 'aten::floordiv', 'prim::SetAttr', 'aten::append', 'prim::min']

Ошибка говорит о том, что TVM на низком уровне не поддерживает данные операторы, поэтому в настоящее время сконвертировать модель в представление TVM не получится. На какую другую модель можно заменить данную модель?

n-berezina-nn commented 9 months ago

@ismukhin @valentina-kustikova эта проблема еще актуальна?

valentina-kustikova commented 9 months ago

@ismukhin @valentina-kustikova эта проблема еще актуальна?

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

n-berezina-nn commented 9 months ago

Можем закрыть этот тикет, если модель заменили?

valentina-kustikova commented 9 months ago

Можем закрыть этот тикет, если модель заменили?

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