Импортируйте слои из сети 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
.
Если сеть 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 |
| 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 в сеть, готовую к предсказанию, совпадает с собирающимися слоями, импортированными из Keras. Для примера этого рабочего процесса смотрите, Собирают Сеть от Предварительно обученных Слоев Keras.
Можно импортировать сеть ONNX с несколькими входными параметрами и несколькими выходными параметрами. Если сеть имеет несколько входных параметров и один выход, используйте importONNXNetwork
. Если сеть имеет несколько выходных параметров, используйте importONNXLayers
. importONNXLayers
функция вставляет слои заполнителя для выходных параметров. После импорта можно найти и заменить слои заполнителя при помощи findPlaceholderLayers
и replaceLayer
, соответственно. Для примера смотрите Импорт Сеть ONNX с Несколькими Выходными параметрами. Чтобы узнать о нейронной сети для глубокого обучения с несколькими входными параметрами и несколькими выходными параметрами, смотрите Несколько - Вход и Несколько - Выходные Сети.
Чтобы использовать предварительно обученную сеть в предсказании или передаче обучения на новых изображениях, необходимо предварительно обработать изображения таким же образом изображения, которые использовались, чтобы обучаться, импортированная модель были предварительно обработаны. Наиболее распространенные шаги предварительной обработки изменяют размер изображений, вычитая средние значения изображений, и преобразовывая изображения от изображений BGR до RGB.
Для получения дополнительной информации о предварительной обработке изображений для обучения и предсказания, смотрите, Предварительно обрабатывают Изображения для Глубокого обучения.
assembleNetwork
| exportONNXNetwork
| findPlaceholderLayers
| importCaffeLayers
| importCaffeNetwork
| importKerasLayers
| importKerasNetwork
| importONNXNetwork
| replaceLayer