Выберите функцию для импорта предварительно обученной сети ONNX

Deep Learning Toolbox™ Converter для ONNX™ Model Format обеспечивает три функции для импорта предварительно обученной сети ONNX (Open Neural Network Exchange): importONNXNetwork, importONNXLayers, и importONNXFunction.

Этот график потока иллюстрирует, какая функция импорта лучше всего подходит для различных сценариев.

Flow chart for selecting ONNX import function

Решения

Эта таблица описывает каждое решение в рабочем процессе для выбора функции импорта ONNX.

РешениеОписание
Имеет ли сеть ONNX несколько выходов?
  • Можно импортировать сеть ONNX с несколькими входами и одним выходом, используя importONNXNetwork. Если сеть имеет несколько выходов, используйте importONNXLayers или importONNXFunction.

  • importONNXLayers вставляет слои заполнителя для выходов. Для получения примера смотрите Импорт и Сборка сети ONNX с несколькими выходами.

  • importONNXFunction поддерживает импорт сетей ONNX с несколькими входами и выходами.

Поддерживаются ли все слои сети ONNX?
  • Если сеть ONNX содержит слой, который не поддерживает пакет поддержки Deep Learning Toolbox Converter для ONNX Model Format (см. «Поддерживаемые слои ONNX»), то importONNXNetwork возвращает сообщение об ошибке.

  • Если сеть ONNX содержит неподдерживаемый слой, то importONNXLayers вставляет слой заполнителя вместо неподдерживаемого слоя.

  • importONNXFunction поддерживает большинство слоев ONNX. Для получения дополнительной информации см. «Поддерживаемые слои ONNX» importONNXFunction.

Будете ли вы развертывать импортированную сеть?Если вы используете importONNXNetwork или importONNXLayersможно сгенерировать код для импортированной сети. Как создать DAGNetwork объект для генерации кода см. Загрузку предварительно обученных сетей для генерации кода (MATLAB Coder).
Загрузите ли вы импортированную сеть с помощью Deep Network Designer?Если вы используете importONNXNetwork или importONNXLayersможно загрузить импортированную сеть с помощью приложения Deep Network Designer.
Если вы переобучаете импортированную сеть, будете ли вы использовать пользовательский цикл обучения?

Действия

Эта таблица описывает каждое действие в рабочем процессе для выбора функции импорта ONNX.

ДействиеОписание
Использовать importONNXNetworkimportONNXNetwork возвращает DAGNetwork объект, который готов к использованию для предсказания. Использовать classify для выполнения предсказаний.
Использовать importONNXLayersimportONNXLayers возвращает layerGraph объект со слоями-заполнителями на месте неподдерживаемых слоев. Найдите и замените слои заполнителя. Соберите график слоев с помощью assembleNetwork, который возвращает DAGNetwork объект.
Использовать importONNXFunctionimportONNXFunction возвращает ONNXParameters объект, который содержит сетевые параметры, и функцию модели (см. Imported ONNX Model Function), которая содержит сетевую архитектуру. The ONNXParameters объект и функция модели готовы к использованию для предсказания. Для получения примера смотрите Предсказание использования импортированной функции ONNX.
Поиск и замена слоевЧтобы найти имена и индексы неподдерживаемых слоев в сети, используйте findPlaceholderLayers функция. Затем можно заменить слой-заполнитель новым слоем, который вы задаете. Чтобы заменить слой, используйте replaceLayer.

См. также

| | | | |

Похожие темы