exportONNXNetwork

Экспорт сети в формат модели ONNX

Описание

пример

exportONNXNetwork(net,filename) экспортирует нейронную сеть для глубокого обучения net с весами к файлу формата ONNX™ filename. Если filename существует, затем exportONNXNetwork перезаписывает файл.

Эта функция требует Конвертера Deep Learning Toolbox™ для пакета поддержки Формата Модели ONNX. Если этот пакет поддержки не установлен, то функция обеспечивает ссылку на загрузку.

exportONNXNetwork(net,filename,Name,Value) экспортирует сеть с помощью дополнительных опций, заданных одним или несколькими аргументами пары "имя-значение".

Примеры

свернуть все

Загрузите предварительно обученную сверточную нейронную сеть SqueezeNet.

net = squeezenet
  DAGNetwork with properties:

         Layers: [68×1 nnet.cnn.layer.Layer]
    Connections: [75×2 table]
     InputNames: {'data'}
    OutputNames: {'ClassificationLayer_predictions'}

Экспортируйте сеть как файл формата ONNX в текущей папке под названием squeezenet.onnx. Если Конвертер Deep Learning Toolbox для пакета поддержки Формата Модели ONNX не установлен, то функция обеспечивает ссылку на необходимый пакет поддержки в Add-On Explorer. Чтобы установить пакет поддержки, щелкните по ссылке, и затем нажмите Install.

filename = 'squeezenet.onnx';
exportONNXNetwork(net,filename)

Теперь можно импортировать squeezenet.onnx файл в любую среду глубокого обучения, которая поддерживает импорт ONNX.

Входные параметры

свернуть все

Обучивший сеть в виде SeriesNetwork или DAGNetwork объект. Можно получить обучивший сеть путем импорта предварительно обученной сети (например, при помощи googlenet функция) или по образованию ваша собственная сеть с помощью trainNetwork.

Имя файла в виде вектора символов или строкового скаляра.

Пример: 'network.onnx'

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: exportONNXNetwork(net,filename,'NetworkName','my_net') экспортирует сеть и задает 'my_net' как сетевое имя в сохраненной сети ONNX.

Имя сети ONNX, чтобы сохранить в сохраненном файле в виде вектора символов или строкового скаляра.

Пример: 'my_squeezenet'

Версия набора оператора ONNX, чтобы использовать в экспортируемой модели. Если набор оператора по умолчанию не поддерживает сеть, вы пытаетесь экспортировать, затем попытаться использовать более позднюю версию. Если вы импортируете экспортируемую сеть к другой среде, и вы использовали набор оператора во время экспорта, который не поддерживает средство импорта, то импорт может перестать работать.

Пример 6

Советы

  • Можно экспортировать обученную нейронную сеть для глубокого обучения MATLAB®, которая включает несколько входных параметров и несколько выходных параметров к формату модели ONNX. Чтобы узнать о нескольких - входе и нескольких - выходная нейронная сеть для глубокого обучения, смотрите Несколько - Вход и Несколько - Выходные Сети.

  • exportONNXNetwork не экспортирует настройки или свойства, связанные с сетевым обучением, такие как опции обучения, факторы скорости обучения или факторы регуляризации.

  • Если вы экспортируете сеть, которая содержит слой, который формат ONNX не поддерживает, то exportONNXNetwork сохраняет заполнителя оператор ONNX вместо неподдерживаемого слоя и возвращает предупреждение. Вы не можете импортировать сеть ONNX с оператором заполнителя в другие среды глубокого обучения.

  • Из-за архитектурных различий между MATLAB и ONNX, экспортируемая сеть может иметь отличную структуру по сравнению с исходной сетью. Кроме того, если вы импортируете экспортируемую сеть, слои повторно импортированной сетевой силы отличаются от исходной сети.

  • exportONNXNetwork может экспортировать следующее:

Ссылки

[1] Открытый Exchange нейронной сети. https://github.com/onnx/.

[2] ONNX. https://onnx.ai/.

Введенный в R2018a