Конвертер Deep Learning Toolbox™ для Формата Модели ONNX™ обеспечивает три функции, чтобы импортировать предварительно обученную сеть ONNX (Open Neural Network Exchange): importONNXNetwork
, importONNXLayers
, и importONNXFunction
.
Эта блок-схема иллюстрирует, какая функция импорта лучше всего удовлетворяет различным сценариям.
Примечание
По умолчанию, importONNXNetwork
и importONNXLayers
попытайтесь сгенерировать пользовательский слой, когда программное обеспечение не сможет преобразовать оператор ONNX в эквивалентный встроенный MATLAB® слой. Для списка операторов, для которых программное обеспечение поддерживает преобразование, см. Операторы ONNX, Поддержанные для Преобразования на Встроенные Слои MATLAB.
importONNXNetwork
и importONNXLayers
сохраните сгенерированные пользовательские слои в пакете +
в текущей папке.PackageName
importONNXNetwork
и importONNXLayers
автоматически не генерируйте пользовательский слой для каждого оператора ONNX, который не поддерживается для преобразования на встроенный слой MATLAB.
Эта таблица описывает каждое решение в рабочем процессе для выбора функции импорта ONNX.
Решение | Описание |
---|---|
Действительно ли все - операторы ONNX, поддержанные для преобразования на эквивалентные встроенные слои MATLAB, или программное обеспечение может автоматически сгенерировать пользовательские слои? |
|
Вы развернете импортированную сеть? | Если вы используете importONNXNetwork или importONNXLayers , можно сгенерировать код для импортированной сети. Создать DAGNetwork объект для генерации кода, смотрите Предварительно обученные сети Загрузки для Генерации кода (MATLAB Coder). |
Вы загрузите импортированную сеть с Deep Network Designer? | Если вы используете importONNXNetwork или importONNXLayers , можно загрузить импортированную сеть с приложением Deep Network Designer. |
Если вы переобучите импортированную сеть, вы будете использовать пользовательский учебный цикл? |
|
Эта таблица описывает каждое действие в рабочем процессе для выбора функции импорта ONNX.
Действие | Описание |
---|---|
Использование importONNXNetwork | importONNXNetwork возвращает DAGNetwork или dlnetwork объект, который готов использовать для предсказания (для получения дополнительной информации, смотрите TargetNetwork аргумент значения имени). Предскажите метки класса при помощи classify функция на DAGNetwork возразите или predict функция на dlnetwork объект. |
Использование importONNXLayers | importONNXLayers возвращает LayerGraph объект, совместимый с DAGNetwork или dlnetwork объект (для получения дополнительной информации, смотрите TargetNetwork аргумент значения имени). importONNXLayers вставляет слои заполнителя вместо неподдерживаемых слоев. Найдите и замените слои заполнителя. Затем можно собрать график слоев при помощи assembleNetwork , который возвращает DAGNetwork объект, или преобразуют график слоев в dlnetwork объект при помощи dlnetwork . |
Использование importONNXFunction | importONNXFunction возвращает ONNXParameters объект, который содержит сетевые параметры и функцию модели (см. Импортированную Функцию Модели ONNX), который содержит сетевую архитектуру. ONNXParameters возразите и функция модели готовы использовать для предсказания. Для примера смотрите, Предсказывают Используя Импортированную Функцию ONNX. |
Найдите и замените слои заполнителя | Чтобы найти имена и индексы слоев заполнителя в импортированной сети, используйте findPlaceholderLayers функция. Затем можно заменить слой заполнителя на новый слой, который вы задаете. Чтобы заменить слой, использовать replaceLayer . |
importONNXNetwork
| importONNXLayers
| importONNXFunction
| DAGNetwork
| dlnetwork
| layerGraph
| ONNXParameters