Можно сгенерировать код для предварительно обученной сверточной нейронной сети (CNN). Чтобы предоставить сеть генератору кода, загрузите SeriesNetwork
или сетевой объект DAGNetwork
от обучившего сеть.
coder.loadDeepLearningNetwork
Можно загрузить сетевой объект от любой сети, которая поддерживается для генерации кода при помощи coder.loadDeepLearningNetwork
. Можно задать сеть как MAT-файл. Например:
net = coder.loadDeepLearningNetwork('alexnet.mat')
SeriesNetwork
или сетевой объект DAGNetwork
. Например, эти функции Deep Learning Toolbox™ возвращают объект предварительно обученной сети:
Функции Deep Learning Toolbox в предыдущем списке требуют, чтобы вы установили пакет поддержки для функции. Смотрите Предварительно обученные Глубокие нейронные сети (Deep Learning Toolbox).
Следующий код загружает сетевой объект путем вызывания функции alexnet
.
net = coder.loadDeepLearningNetwork('alexnet')
Если вы генерируете код при помощи codegen
или приложение, загружаете сетевой объект в вашей функции точки входа при помощи coder.loadDeepLearningNetwork
. Например:
function out = alexnet_predict(in) %#codegen persistent mynet; if isempty(mynet) mynet = coder.loadDeepLearningNetwork('alexnet'); end out = predict(mynet,in);
Поскольку некоторые поддерживают функции пакета, такие как alexnet
, inceptionv3
, googlenet
и resnet
, можно непосредственно задать функцию пакета поддержки в функции точки входа. Например:
function out = alexnet_predict(in) %#codegen persistent mynet; if isempty(mynet) mynet = alexnet; end out = predict(mynet,in);
Если вы генерируете код при помощи cnncodegen
, загружаете сетевой объект в рабочей области MATLAB®. Затем передайте объект cnncodegen
. Например:
net = alexnet; cnncodegen(net,'targetlib','cudnn');