Загрузите предварительно обученные сети для генерации кода

Можно сгенерировать код для предварительно обученной сверточной нейронной сети (CNN). Чтобы предоставить сеть генератору кода, загрузите SeriesNetwork (Deep Learning Toolbox), DAGNetwork (Deep Learning Toolbox), yolov2ObjectDetector (Computer Vision Toolbox) или ssdObjectDetector Объект (Computer Vision Toolbox) от обучившего сеть.

Загрузите сеть при помощи coder.loadDeepLearningNetwork

Можно загрузить сетевой объект от любой сети, которая поддерживается для генерации кода при помощи coder.loadDeepLearningNetwork. Можно задать сеть из MAT-файла. MAT-файл должен содержать только сеть, чтобы загрузиться.

Например, предположите, что вы создаете обучивший сеть объект под названием myNet при помощи trainNetwork (Deep Learning Toolbox) функция. Затем вы сохраняете рабочую область путем ввода save. Это создает файл под названием matlab.mat это содержит сетевой объект. Загружать сетевой объект myNet, Введите:

net = coder.loadDeepLearningNetwork('matlab.mat');

Можно также задать сеть путем обеспечения имени функции, которая возвращает предварительно обученный SeriesNetwork (Deep Learning Toolbox), DAGNetwork (Deep Learning Toolbox), yolov2ObjectDetector (Computer Vision Toolbox) или ssdObjectDetector Объект (Computer Vision Toolbox), такой как:

Например, загрузите сетевой объект путем ввода:

net = coder.loadDeepLearningNetwork('googlenet');

Функции Deep Learning Toolbox™ в предыдущем списке требуют, чтобы вы установили пакет поддержки для функции. Смотрите Предварительно обученные Глубокие нейронные сети (Deep Learning Toolbox).

Задайте сетевой объект для генерации кода

Если вы генерируете код при помощи codegen или приложение, загрузите сетевой объект в вашей функции точки входа при помощи coder.loadDeepLearningNetwork. Например:

function out = myNet_predict(in) %#codegen

persistent mynet;

if isempty(mynet)
    mynet = coder.loadDeepLearningNetwork('matlab.mat');
end
out = predict(mynet,in);

Для предварительно обученных сетей, которые доступны, как поддерживают функции пакета такой как alexnet, inceptionv3, googlenet, и resnet, можно непосредственно задать функцию пакета поддержки, например, путем записи mynet = googlenet.

Затем сгенерируйте код для функции точки входа. Например:

cfg = coder.gpuConfig('mex');
cfg.TargetLang = 'C++';
cfg.DeepLearningConfig = coder.DeepLearningConfig('cudnn'); 
codegen -args {ones(224,224,3,'single')} -config cfg myNet_predict

Смотрите также

Функции

Объекты

Похожие темы