Слой ввода элементов
Входной уровень элемента вводит данные элемента в сеть и применяет нормализацию данных. Этот слой используется при наличии набора числовых скаляров, представляющих элементы (данные без пространственных или временных измерений).
Для ввода изображения используйте 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-на-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-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 ® или C++ с помощью GPU Coder™ необходимо сначала построить и обучить глубокую нейронную сеть. После обучения и оценки сети можно настроить генератор кода для генерации кода и развертывания сверточной нейронной сети на платформах, использующих процессоры NVIDIA ® или ARM ® GPU. Дополнительные сведения см. в разделе Глубокое обучение с помощью кодера графического процессора (GPU Coder).
Конструктор глубоких сетей | dlnetwork | fullyConnectedLayer | image3dInputLayer | imageInputLayer | sequenceInputLayer | trainNetwork
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.