GraphInfo
-
class torch.onnx.verification.GraphInfo(graph, input_args, params_dict, export_options=<factory>, id='', _EXCLUDED_NODE_KINDS=frozenset({'aten::ScalarImplicit', 'prim::Constant', 'prim::ListConstruct'}))[source] -
GraphInfo содержит информацию о проверке графа TorchScript и его преобразованного графа ONNX.
-
all_mismatch_leaf_graph_info()[source] -
Возвращает список всех листовых
GraphInfoобъектов, у которых есть несоответствия.
-
clear()[source] -
Очищает состояния и результаты предыдущей проверки.
-
essential_node_count()[source] -
Возвращает количество узлов в подграфе, исключая узлы в
_EXCLUDED_NODE_KINDS.- Тип возвращаемого значения
-
essential_node_kinds()[source] -
Возвращает множество типов узлов в подграфе, исключая узлы в
_EXCLUDED_NODE_KINDS.
-
export_repro(repro_dir=None, name=None)[source] -
Экспортирует подграф в ONNX вместе с входными/выходными данными для воспроизведения.
Папка с воспроизведением будет содержать следующие файлы:
dir ├── test_<name> │ ├── model.onnx │ └── test_data_set_0 │ ├── input_0.pb │ ├── input_1.pb │ ├── output_0.pb │ └── output_1.pb
- Параметры
- Возвращаемое значение
-
Путь к экспортированной папке воспроизведения.
- Тип возвращаемого значения
-
find_mismatch(options=None)[source] -
Находит все несоответствия между графом TorchScript IR и экспортированной моделью onnx.
Выполняет двоичный поиск в графе модели, чтобы найти минимальный подграф, демонстрирующий несоответствие. Для каждого подграфа создается объект
GraphInfo, записывающий входные данные для тестирования и параметры экспорта, а также результаты проверки.- Параметры
-
options (Optional[VerificationOptions]) – Параметры проверки.
-
find_partition(id)[source] -
Находит объект
GraphInfoс заданным идентификатором.
-
has_mismatch()[source] -
Возвращает True, если в подграфе есть несоответствие вывода между torch и ONNX.
- Тип возвращаемого значения
-
pretty_print_mismatch(graph=False)[source] -
Красиво выводит подробности несоответствия между torch и ONNX.
- Параметры
-
graph (bool) – Если True, выводит граф ATen JIT и граф ONNX.
-
pretty_print_tree()[source] -
Красиво выводит
GraphInfoдерево.Каждый узел представляет подграф, показывая количество узлов в подграфе и отметку, если в подграфе есть несоответствие вывода между torch и ONNX.
Идентификатор подграфа отображается под узлом. Объект
GraphInfoдля любого подграфа можно получить, вызвавgraph_info.find_partition(id).Пример:
==================================== Tree: ===================================== 5 X __2 X __1 ✓ id: | id: 0 | id: 00 | | | |__1 X (aten::relu) | id: 01 | |__3 X __1 ✓ id: 1 | id: 10 | |__2 X __1 X (aten::relu) id: 11 | id: 110 | |__1 ✓ id: 111 =========================== Mismatch leaf subgraphs: =========================== ['01', '110'] ============================= Mismatch node kinds: ============================= {'aten::relu': 2}
-
verify_export(options)[source] -
Проверяет экспорт из графа TorchScript IR в ONNX.
Экспортирует граф TorchScript IR в ONNX, записывая входные данные, параметры и опции экспорта в этом объекте. Затем проверяет экспортированный граф ONNX по отношению к исходному графу TorchScript IR в соответствии с предоставленными параметрами проверки.
- Параметры
-
options (VerificationOptions) – Параметры проверки.
- Возвращаемое значение
-
Исключение AssertionError, поднятое во время проверки. Возвращает None, если ошибки не было. onnx_graph: Экспортированный граф ONNX в формате TorchScript IR. onnx_outs: Выводы, полученные при выполнении экспортированной модели ONNX в
options. pt_outs: Выводы, полученные при выполнении графа TorchScript IR. - Тип возвращаемого значения
-
error
-
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.onnx.verification.GraphInfo.html