Входной слой признака
Входной слой функций вводит данные функций в сеть и применяет нормализацию данных. Используйте этот слой, когда у вас есть набор данных из числовых скаляров, представляющих функции (данные без пространственных или временных размерностей).
Для входа изображений используйте imageInputLayer.
возвращает входной слой функций и устанавливает layer = featureInputLayer(numFeatures)InputSize свойство для заданного количества функций.
устанавливает необязательные свойства с помощью аргументов пары "имя-значение". Можно задать несколько аргументы пары "имя-значение". Заключайте каждое имя свойства в одинарные кавычки.layer = featureInputLayer(numFeatures,Name,Value)
InputSize - Количество функцийКоличество функций для каждого наблюдения в данных, заданное как положительное целое число.
Для входа изображений используйте imageInputLayer.
Пример:
10
Normalization - Нормализация данных'none' (по умолчанию) | 'zscore' | 'rescale-symmetric' | 'rescale-zero-one' | 'none' | указатель на функциюНормализация данных для применения каждый раз, когда данные передаются вперед через слой входа, заданная как одно из следующего:
'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, StandardDeviation, Min, или Max), затем нормализуйте по размерностям, соответствующим статистике. В противном случае пересчитайте статистику во время обучения и примените нормализацию по каналу.
'channel' - Нормализация по каналам.
'all' - Нормализуйте все значения с помощью скалярной статистики.
Mean - Среднее значение для нормализации с нулевым центром и z-результатом[] (по умолчанию) | вектор-столбец | числовой скалярСреднее значение для нормализации с нулевым центром и z-результатом, заданное как numFeatures-by-1 вектор средств по признаку, числовой скаляр или [].
Если вы задаете Mean свойство, затем Normalization должен быть 'zerocenter' или 'zscore'. Если Mean является []затем программное обеспечение вычисляет среднее значение во время обучения.
Можно задать это свойство при создании сетей без обучения (для примера, при сборке сетей с помощью assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
StandardDeviation - Стандартное отклонение для нормализации z-балла[] (по умолчанию) | вектор-столбец | числовой скалярСтандартное отклонение для нормализации z-балла, заданное как numFeatures-by-1 вектор средств по признаку, числовой скаляр или [].
Если вы задаете StandardDeviation свойство, затем Normalization должен быть 'zscore'. Если StandardDeviation является []затем программное обеспечение вычисляет стандартное отклонение во время обучения.
Можно задать это свойство при создании сетей без обучения (для примера, при сборке сетей с помощью assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Min - Минимальное значение для перемасштабирования[] (по умолчанию) | вектор-столбец | числовой скалярМинимальное значение для перемасштабирования, заданное как numFeatures-by-1 вектор минимумов на функцию, числовой скаляр или [].
Если вы задаете Min свойство, затем Normalization должен быть 'rescale-symmetric' или 'rescale-zero-one'. Если Min является [], затем программное обеспечение вычисляет минимум во время обучения.
Можно задать это свойство при создании сетей без обучения (для примера, при сборке сетей с помощью assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Max - Максимальное значение для перемасштабирования[] (по умолчанию) | вектор-столбец | числовой скалярМаксимальное значение для перемасштабирования, заданное как numFeatures-by-1 вектор максимумов на функцию, числовой скаляр или [].
Если вы задаете Max свойство, затем Normalization должен быть 'rescale-symmetric' или 'rescale-zero-one'. Если Max является [], затем программное обеспечение вычисляет максимум во время обучения.
Можно задать это свойство при создании сетей без обучения (для примера, при сборке сетей с помощью assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Name - Имя слоя'' (по умолчанию) | символьный вектор | строковый скаляр
Имя слоя, заданное как вектор символов или строковый скаляр. Чтобы включить слой в график слоев, необходимо задать непустое уникальное имя слоя. Если вы обучаете последовательную сеть с слоем и 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).
Deep Network Designer | dlnetwork | fullyConnectedLayer | image3dInputLayer | imageInputLayer | sequenceInputLayer | trainNetwork
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.