functionToLayerGraph

Преобразуйте функцию модели глубокого обучения в график слоев

Описание

пример

lgraph = functionToLayerGraph(fun,x) возвращает график слоев, основанную на функции глубокого обучения array fun. functionToLayerGraph преобразует только эти операции в fun которые работают с dlarray объекты среди входов в x. Чтобы включить дополнительные параметры или данные в fun, см. тему «Параметризация функций» или пример «Создать график слоев из функции».

functionToLayerGraph оценивает fun(x) и прослеживает выполнение, чтобы вывести эквивалентный график слоев, насколько это возможно. Шаги в fun(x) что functionToLayerGraph can trace основаны на dlarray аргументы и поддерживаются вызовы для dlarray. Смотрите Список функций с поддержкой dlarray. Для неподдерживаемых функций, functionToLayerGraph создает PlaceholderLayer.

lgraph = functionToLayerGraph(fun,x,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

The simplemodel функция в конце этого примера создает полносвязные выходы, за которыми следует softmax операция. Чтобы создать график слоев из этой функции на основе dlarray данные, создайте входные массивы как dlarray Объекты и создайте указатель на функцию для simplemodel функция, включая данные.

rng default % For reproducibility
dlX1 = dlarray(rand(10),'CB');
dlX2 = dlarray(zeros(10,1),'CB');
fun = @(x)simplemodel(x,dlX1,dlX2);

Функции functionToLayerGraph использование dlarray для входных данных dlX.

dlX = dlarray(ones(10,1),'CB');
lgraph = functionToLayerGraph(fun,dlX)
lgraph = 
  LayerGraph with properties:

         Layers: [2x1 nnet.cnn.layer.Layer]
    Connections: [1x2 table]
     InputNames: {1x0 cell}
    OutputNames: {1x0 cell}

Исследуйте получившиеся слои в lgraph.

disp(lgraph.Layers)
  2x1 Layer array with layers:

     1   'fc_1'   Fully Connected   10 fully connected layer
     2   'sm_1'   Softmax           softmax
function y = simplemodel(x,w,b)
y = fullyconnect(x,w,b);
y = softmax(y);
end

Входные параметры

свернуть все

Функция для преобразования, заданная как указатель на функцию.

Пример: @relu

Типы данных: function_handle

Данные для функции, заданные как любой тип данных. Только dlarray данные прослеживаются и преобразуются в график слоев.

Пример: dlarray(zeros(12*50,23))

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | function_handle | categorical | datetime | duration | calendarDuration | fi

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'GenerateLayer','placeholder-layer'

Тип слоя для генерации неподдерживаемых операций в fun, заданный как 'custom-layer' или 'placeholder-layer'.

Когда операция в fun не соответствует слою в Deep Learning Toolbox™, программное обеспечение генерирует слой, чтобы представлять эту функциональность. The 'GenerateLayer' опция задает тип слоя следующим образом.

Пример: 'GenerateLayer','placeholder-layer'

Префикс для генерации пользовательских слоев, заданный как вектор char.

Эта опция применяется только тогда, когда 'GenerateLayer' опция 'custom-layer'. Имя каждого сгенерированного пользовательского слоя начинается с заданного префикса.

Пример: 'CustomLayerPrefix','myGeneratedLayer'

Выходные аргументы

свернуть все

График слоев, возвращенный как LayerGraph объект.

Введенный в R2019b