Свойства входного слоя
Функция ввела входные данные о функции слоя к сети, и применяет нормализацию данных. Используйте этот слой, когда у вас будет набор данных числовых скаляров, представляющих функции (данные без пространственных или измерений времени).
Для входа изображений используйте imageInputLayer.
возвращает входной слой функции и устанавливает layer = featureInputLayer(numFeatures)InputSize свойство к конкретному количеству функций.
устанавливает дополнительные аргументы пары "имя-значение" использования свойств. Можно задать несколько аргументов пары "имя-значение". Заключите каждое имя свойства в одинарные кавычки.layer = featureInputLayer(numFeatures,Name,Value)
InputSize — Количество функцийКоличество функций каждого наблюдения в данных в виде положительного целого числа.
Для входа изображений используйте imageInputLayer.
Пример:
10
Normalization — Нормализация данных'none' (значение по умолчанию) | 'zerocenter' | 'zscore' | 'rescale-symmetric' | 'rescale-zero-one' | указатель на функциюНормализация данных, чтобы применить каждый раз данные вперед распространена через входной слой в виде одного из следующего:
'zerocenter' — Вычтите среднее значение, заданное Mean.
'zscore' — Вычтите среднее значение, заданное Mean и разделитесь на StandardDeviation.
'rescale-symmetric' — Перемасштабируйте вход, чтобы быть в области значений [-1, 1] использование минимальных и максимальных значений, заданных Min и Max, соответственно.
'rescale-zero-one' — Перемасштабируйте вход, чтобы быть в области значений [0, 1] использование минимальных и максимальных значений, заданных Min и Max, соответственно.
'none' — Не нормируйте входные данные.
указатель на функцию — Нормирует данные с помощью заданной функции. Функция должна иметь форму Y = func(X), где X входные данные и выход Y нормированные данные.
Совет
Программное обеспечение, по умолчанию, автоматически вычисляет статистику нормализации в учебное время. Чтобы сэкономить время когда обучение, задайте необходимую статистику для нормализации и установите 'ResetInputNormalization' опция в trainingOptions к false.
NormalizationDimension — Размерность нормализации'auto' (значение по умолчанию) | 'channel' | 'all'Размерность нормализации в виде одного из следующего:
'auto' – Если опцией обучения является false и вы задаете любые из статистических данных нормализации (MeanСтандартное отклонениеmin, или Max), затем нормируйте по размерностям, совпадающим со статистикой. В противном случае повторно вычислите статистику в учебное время и примените мудрую каналом нормализацию.
'channel' – Мудрая каналом нормализация.
'all' – Нормируйте все значения с помощью скалярной статистики.
Mean — Среднее значение для нулевого центра и нормализации z-счета[] (значение по умолчанию) | вектор-столбец | числовой скалярСреднее значение для нулевого центра и нормализации z-счета в виде numFeatures- 1 вектор из средних значений на функцию, числовой скаляр или [].
Если вы задаете Mean свойство, затем Normalization должен быть 'zerocenter' или 'zscore'. Если Mean [], затем программное обеспечение вычисляет среднее значение в учебное время.
Можно установить это свойство при создании сетей без обучения (например, при сборке использования сетей assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
StandardDeviation — Стандартное отклонение для нормализации z-счета[] (значение по умолчанию) | вектор-столбец | числовой скалярСтандартное отклонение для нормализации z-счета в виде numFeatures- 1 вектор из средних значений на функцию, числовой скаляр или [].
Если вы задаете StandardDeviation свойство, затем Normalization должен быть 'zscore'. Если StandardDeviation [], затем программное обеспечение вычисляет стандартное отклонение в учебное время.
Можно установить это свойство при создании сетей без обучения (например, при сборке использования сетей assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Min — Минимальное значение для того, чтобы перемасштабировать[] (значение по умолчанию) | вектор-столбец | числовой скалярМинимальное значение для того, чтобы перемасштабировать в виде numFeatures- 1 вектор из минимумов на функцию, числовой скаляр или [].
Если вы задаете Min свойство, затем Normalization должен быть 'rescale-symmetric' или 'rescale-zero-one'. Если Min [], затем программное обеспечение вычисляет минимум в учебное время.
Можно установить это свойство при создании сетей без обучения (например, при сборке использования сетей assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Max — Максимальное значение для того, чтобы перемасштабировать[] (значение по умолчанию) | вектор-столбец | числовой скалярМаксимальное значение для того, чтобы перемасштабировать в виде numFeatures- 1 вектор из максимумов на функцию, числовой скаляр или [].
Если вы задаете Max свойство, затем Normalization должен быть 'rescale-symmetric' или 'rescale-zero-one'. Если Max [], затем программное обеспечение вычисляет максимум в учебное время.
Можно установить это свойство при создании сетей без обучения (например, при сборке использования сетей assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Name — Имя слоя'' (значение по умолчанию) | вектор символов | строковый скаляр
Имя слоя в виде вектора символов или строкового скаляра. Для Layer вход массивов, trainNetwork, assembleNetwork, layerGraph, и dlnetwork функции автоматически присваивают имена к слоям с Name установите на ''.
Типы данных: char | string
NumInputs — Количество входных параметровКоличество входных параметров слоя. Слой не имеет никаких входных параметров.
Типы данных: double
InputNames — Введите имена{} (значение по умолчанию)Введите имена слоя. Слой не имеет никаких входных параметров.
Типы данных: cell
NumOutputs — Количество выходных параметров (значение по умолчанию)Это свойство доступно только для чтения.
Количество выходных параметров слоя. Этот слой имеет один выход только.
Типы данных: double
OutputNames — Выведите имена{'out'} (значение по умолчанию)Это свойство доступно только для чтения.
Выведите имена слоя. Этот слой имеет один выход только.
Типы данных: cell
Создайте входной слой функции с именем 'input' для наблюдений, состоящих из 21 функции.
layer = featureInputLayer(21,'Name','input')
layer =
FeatureInputLayer with properties:
Name: 'input'
InputSize: 21
Hyperparameters
Normalization: 'none'
NormalizationDimension: 'auto'
Включайте входной слой функции в Layer массив.
numFeatures = 21;
numClasses = 3;
layers = [
featureInputLayer(numFeatures,'Name','input')
fullyConnectedLayer(numClasses, 'Name','fc')
softmaxLayer('Name','sm')
classificationLayer('Name','classification')]layers =
4x1 Layer array with layers:
1 'input' Feature Input 21 features
2 'fc' Fully Connected 3 fully connected layer
3 'sm' Softmax softmax
4 'classification' Classification Output crossentropyex
Чтобы обучить сеть, содержащую и входной слой изображений и входной слой функции, необходимо использовать dlnetwork объект в пользовательском учебном цикле.
Задайте размер входного изображения, количество функций каждого наблюдения, количество классов, и размер и количество фильтров слоя свертки.
imageInputSize = [28 28 1]; numFeatures = 1; numClasses = 10; filterSize = 5; numFilters = 16;
Чтобы создать сеть с двумя входными слоями, необходимо задать сеть в двух частях и соединить их, например, при помощи слоя конкатенации.
Задайте первую часть сети. Задайте слои классификации изображений и включайте слой конкатенации перед последним полносвязным слоем.
layers = [
imageInputLayer(imageInputSize,'Normalization','none','Name','images')
convolution2dLayer(filterSize,numFilters,'Name','conv')
reluLayer('Name','relu')
fullyConnectedLayer(50,'Name','fc1')
concatenationLayer(1,2,'Name','concat')
fullyConnectedLayer(numClasses,'Name','fc2')
softmaxLayer('Name','softmax')];Преобразуйте слои в график слоев.
lgraph = layerGraph(layers);
Для второй части сети добавьте входной слой функции и соедините его со вторым входом слоя конкатенации.
featInput = featureInputLayer(numFeatures,'Name','features'); lgraph = addLayers(lgraph, featInput); lgraph = connectLayers(lgraph, 'features', 'concat/in2');
Визуализируйте сеть.
plot(lgraph)

Создайте dlnetwork объект.
dlnet = dlnetwork(lgraph)
dlnet =
dlnetwork with properties:
Layers: [8x1 nnet.cnn.layer.Layer]
Connections: [7x2 table]
Learnables: [6x3 table]
State: [0x3 table]
InputNames: {'images' 'features'}
OutputNames: {'softmax'}
Initialized: 1
Сгенерировать CUDA® или Код С++ при помощи GPU Coder™, необходимо сначала создать и обучить глубокую нейронную сеть. Если сеть обучена и оценена, можно сконфигурировать генератор кода, чтобы сгенерировать код и развернуть сверточную нейронную сеть на платформах то использование NVIDIA® или ARM® Процессоры графического процессора. Для получения дополнительной информации смотрите Глубокое обучение для GPU Coder (GPU Coder).
trainNetwork | fullyConnectedLayer | image3dInputLayer | Deep Network Designer | imageInputLayer | sequenceInputLayer | dlnetwork
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.