Импортируйте слои из сети ONNX
импортирует слои сети ONNX™ (Open Neural Network Exchange) из файла layers
= importONNXLayers(modelfile
)modelfile
. Можно обучить импортированные слои на новом наборе данных или собрать слои в сеть, готовую к предсказанию. Для примера рабочего процесса сборки сети смотрите, Собирают Сеть от Предварительно обученных Слоев Keras.
Эта функция требует Конвертера Deep Learning Toolbox™ для пакета поддержки Формата Модели ONNX. Если этот пакет поддержки не установлен, то функция обеспечивает ссылку на загрузку.
импортирует слои из сети ONNX с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение".layers
= importONNXLayers(modelfile
,Name,Value
)
Например, importONNXLayers(modelfile,'ImportWeights',false)
импортирует сетевую архитектуру без весов из файла modelfile
.
importONNXLayers
поддержки версии ONNX можно следующим образом:
importONNXLayers
поддержки промежуточная версия 6 представления ONNX.
importONNXLayers
полностью поддержки оператор ONNX устанавливают 6, 7, 8, и 9.
importONNXLayers
предложения ограниченная поддержка оператора ONNX устанавливают 10 и 11.
Примечание
Если вы импортируете экспортируемую сеть, слои повторно импортированной сетевой силы отличаются от исходной сети и не могут поддерживаться.
Если сеть ONNX содержит слой, который Конвертер Deep Learning Toolbox для Формата Модели ONNX не поддерживает, то importONNXLayers
вставляет слой заполнителя вместо неподдерживаемого слоя. Чтобы найти имена и индексы неподдерживаемых слоев в сети, используйте findPlaceholderLayers
функция. Затем можно заменить слой заполнителя на новый слой, который вы задаете. Чтобы заменить слой, использовать replaceLayer
.
importONNXLayers
поддерживает следующие слои 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 в сеть, готовую к предсказанию, совпадает с собирающимися слоями, импортированными из Keras. Для примера этого рабочего процесса смотрите, Собирают Сеть от Предварительно обученных Слоев Keras.
Можно импортировать сеть ONNX с несколькими входными параметрами и несколькими выходными параметрами. Если сеть имеет несколько входных параметров и один выход, использовать importONNXNetwork
. Если сеть имеет несколько выходных параметров, использовать importONNXLayers
. importONNXLayers
функция вставляет слои заполнителя для выходных параметров. После импорта можно найти и заменить слои заполнителя при помощи findPlaceholderLayers
и replaceLayer
, соответственно. Для примера смотрите Импорт Сеть ONNX с Несколькими Выходными параметрами. Чтобы узнать о нейронной сети для глубокого обучения с несколькими входными параметрами и несколькими выходными параметрами, смотрите Несколько - Вход и Несколько - Выходные Сети.
Чтобы использовать предварительно обученную сеть для предсказания или передачи обучения на новых изображениях, необходимо предварительно обработать изображения таким же образом изображения, которые использовались, чтобы обучаться, импортированная модель были предварительно обработаны. Наиболее распространенные шаги предварительной обработки изменяют размер изображений, вычитая средние значения изображений, и преобразовывая изображения от изображений BGR до RGB.
Для получения дополнительной информации о предварительной обработке изображений для обучения и предсказания, смотрите, Предварительно обрабатывают Изображения для Глубокого обучения.
assembleNetwork
| exportONNXNetwork
| findPlaceholderLayers
| importCaffeLayers
| importCaffeNetwork
| importKerasLayers
| importKerasNetwork
| importONNXFunction
| importONNXNetwork
| replaceLayer