Импортируйте предварительно обученную сеть ONNX
импортирует предварительно обученную сеть из ONNX™ (Открытый Exchange Нейронной сети) файл net
= importONNXNetwork(modelfile
,'OutputLayerType',outputtype
)modelfile
и задает выходной тип слоя импортированной сети.
Эта функция требует Конвертера Deep Learning Toolbox™ для пакета поддержки Формата Модели ONNX. Если этот пакет поддержки не установлен, то функция обеспечивает ссылку на загрузку.
дополнительно задает классы для сети классификации.net
= importONNXNetwork(modelfile
,'OutputLayerType',outputtype
,'Classes',classes
)
Если сеть 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 |
| nnet.onnx.layer.FlattenLayer и fullyConnectedLayer если сеть ONNX является текущей, в противном случае fullyConnectedLayer |
| globalAveragePooling2dLayer |
| globalMaxPooling2dLayer |
| gruLayer |
| nnet.onnx.layer.IdentityLayer |
| nnet.onnx.layer.ElementwiseAffineLayer |
| leakyReluLayer |
| CrossChannelNormalizationLayer |
| lstmLayer или bilstmLayer |
| fullyConnectedLayer |
| maxPooling2dLayer |
| nnet.onnx.layer.ElementwiseAffineLayer |
| nnet.onnx.layer.PReluLayer |
| reluLayer или clippedReluLayer |
| nnet.onnx.layer.FlattenLayer |
| nnet.onnx.layer.SigmoidLayer |
| |
| nnet.onnx.layer.ElementwiseAffineLayer |
| additionLayer |
| tanhLayer |
Можно импортировать сеть ONNX с несколькими входными параметрами и одним выходом с помощью importONNXNetwork
. Если сеть имеет несколько выходных параметров, используйте importONNXLayers
. importONNXLayers
функция вставляет слои заполнителя для выходных параметров. После импорта можно найти и заменить слои заполнителя при помощи findPlaceholderLayers
и replaceLayer
, соответственно. Для примера смотрите Импорт Сеть ONNX с Несколькими Выходными параметрами. Чтобы узнать о нейронной сети для глубокого обучения с несколькими входными параметрами и несколькими выходными параметрами, смотрите Несколько - Вход и Несколько - Выходные Сети.
Чтобы использовать предварительно обученную сеть в предсказании или передаче обучения на новых изображениях, необходимо предварительно обработать изображения таким же образом изображения, которые использовались, чтобы обучаться, импортированная модель были предварительно обработаны. Наиболее распространенные шаги предварительной обработки изменяют размер изображений, вычитая средние значения изображений, и преобразовывая изображения от изображений BGR до RGB.
Для получения дополнительной информации о предварительной обработке изображений для обучения и предсказания, смотрите, Предварительно обрабатывают Изображения для Глубокого обучения.
exportONNXNetwork
| importCaffeLayers
| importCaffeNetwork
| importKerasLayers
| importKerasNetwork
| importONNXLayers