Импортируйте предварительно обученную сеть ONNX
импортирует предварительно обученную сеть из ONNX™ (Открытый Exchange Нейронной сети) файл net
= importONNXNetwork(modelfile
,'OutputLayerType',outputtype
)modelfile
и задает выходной тип слоя импортированной сети.
Эта функция требует Конвертера Deep Learning Toolbox™ для пакета поддержки Формата Модели ONNX. Если этот пакет поддержки не установлен, то функция обеспечивает ссылку на загрузку.
дополнительно задает классы для сети классификации.net
= importONNXNetwork(modelfile
,'OutputLayerType',outputtype
,'Classes',classes
)
importONNXNetwork
поддержки версии ONNX можно следующим образом:
importONNXNetwork
поддержки промежуточная версия 6 представления ONNX.
importONNXNetwork
полностью поддержки оператор ONNX устанавливают 6, 7, 8, и 9.
importONNXNetwork
предложения ограниченная поддержка оператора ONNX устанавливают 10 и 11.
Примечание
Если вы импортируете экспортируемую сеть, слои повторно импортированной сетевой силы отличаются от исходной сети и не могут поддерживаться.
Если сеть ONNX содержит слой, который не поддерживает Конвертер Deep Learning Toolbox для Формата Модели ONNX, то функция возвращает сообщение об ошибке. В этом случае можно все еще использовать importONNXLayers
импортировать сетевую архитектуру и веса.
importONNXNetwork
поддерживает следующие слои ONNX, с некоторыми ограничениями:
Слой ONNX | Слой Deep Learning Toolbox |
---|---|
| additionLayer или nnet.onnx.layer.ElementwiseAffineLayer |
| averagePooling2dLayer |
| batchNormalizationLayer |
| nnet.onnx.layer.ClipLayer |
| concatenationLayer |
| Ни один (Импортированный как веса) |
| convolution2dLayer |
| transposedConv2dLayer |
| nnet.onnx.layer.ElementwiseAffineLayer |
| dropoutLayer |
| nnet.onnx.layer.FlattenLayer или nnet.onnx.layer.Flatten3dLayer |
| eluLayer |
| fullyConnectedLayer если сеть ONNX является текущей, в противном случае nnet.onnx.layer.FlattenLayer сопровождаемый convolution2dLayer |
| globalAveragePooling2dLayer |
| globalMaxPooling2dLayer |
| gruLayer |
| nnet.onnx.layer.IdentityLayer |
| nnet.onnx.layer.ElementwiseAffineLayer |
| groupNormalizationLayer с numGroups заданный как "channel-wise" |
| leakyReluLayer |
| CrossChannelNormalizationLayer |
| lstmLayer или bilstmLayer |
| fullyConnectedLayer если сеть ONNX является текущей, в противном случае convolution2dLayer |
| maxPooling2dLayer |
| multiplicationLayer |
| nnet.onnx.layer.PReluLayer |
| reluLayer или clippedReluLayer |
| nnet.onnx.layer.FlattenLayer |
| sigmoidLayer |
| |
| nnet.onnx.layer.ElementwiseAffineLayer |
| additionLayer |
| tanhLayer |
Слой ONNX | Слой Computer Vision Toolbox |
---|---|
| spaceToDepthLayer (Computer Vision Toolbox) |
Слой ONNX | Image Processing Toolbox™ |
---|---|
Resize | resize2dLayer (Image Processing Toolbox) или resize3dLayer (Image Processing Toolbox) |
Upsample | resize2dLayer (Image Processing Toolbox) или resize3dLayer (Image Processing Toolbox) |
Можно импортировать сеть ONNX с несколькими входными параметрами и одним выходным использованием importONNXNetwork
. Если сеть имеет несколько выходных параметров, использовать importONNXLayers
. importONNXLayers
функция вставляет слои заполнителя для выходных параметров. После импорта можно найти и заменить слои заполнителя при помощи findPlaceholderLayers
и replaceLayer
, соответственно. Для примера смотрите Импорт Сеть ONNX с Несколькими Выходными параметрами. Чтобы узнать о нейронной сети для глубокого обучения с несколькими входными параметрами и несколькими выходными параметрами, смотрите Несколько - Вход и Несколько - Выходные Сети.
Чтобы использовать предварительно обученную сеть для предсказания или передачи обучения на новых изображениях, необходимо предварительно обработать изображения таким же образом изображения, которые использовались, чтобы обучаться, импортированная модель были предварительно обработаны. Наиболее распространенные шаги предварительной обработки изменяют размер изображений, вычитая средние значения изображений, и преобразовывая изображения от изображений BGR до RGB.
Для получения дополнительной информации о предварительной обработке изображений для обучения и предсказания, смотрите, Предварительно обрабатывают Изображения для Глубокого обучения.
exportONNXNetwork
| importCaffeLayers
| importCaffeNetwork
| importKerasLayers
| importKerasNetwork
| importONNXFunction
| importONNXLayers