activations

Вычислите нейронную сеть для глубокого обучения слоя активации

Описание

Можно вычислить нейронную сеть для глубокого обучения слоя активации на центральном процессоре или графическом процессоре. Для использования графический процессор требуется Parallel Computing Toolbox™ и поддерживаемый графический процессор. Для получения информации о поддерживаемых устройствах смотрите Поддержку GPU by Release (Parallel Computing Toolbox). Задайте требования к оборудованию, используя ExecutionEnvironment аргумент пары "имя-значение".

act = activations(net,imds,layer) возвращает активацию сети для определенного слоя, используя обученную сетевую net и данные изображения в datastore изображений imds.

act = activations(net,ds,layer) возвращает активацию сети с помощью данных в datastore ds.

act = activations(net,X,layer) возвращает активацию сети с помощью изображения или данных о функциях в числовом массиве X.

act = activations(net,X1,...,XN) возвращает активацию сети для данных в числовых массивах X1, …, XN для сети mutli-входов net. Область входа Xi соответствует входному параметру сети net.InputNames(i).

act = activations(net,sequences,layer) Возвраты активации сети для повторяющейся сети (для примера, сети LSTM или GRU), где sequences содержит предикторы последовательности или временных рядов.

act = activations(net,tbl,layer) возвращает активацию сети с помощью данных в таблице tbl.

пример

act = activations(___,Name,Value) возвращает активацию сети с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Для примера, 'OutputAs','rows' задает выход активации следующим 'rows'. Задайте аргументы пары "имя-значение" после всех других входных параметров.

Примеры

свернуть все

Этот пример показывает, как извлечь признаки выученного изображения из предварительно обученной сверточной нейронной сети и использовать эти функции для обучения классификатора изображений. Редукция данных является самым простым и быстрым способом использования репрезентативной степени предварительно обученных глубоких сетей. Для примера можно обучить машину опорных векторов (SVM), используя fitcecoc (Statistics and Machine Learning Toolbox™) на извлеченных функциях. Поскольку редукция данных требуется только один проход через данные, это хорошая начальная точка, если у вас нет графический процессор, чтобы ускорить обучение сети с.

Загрузка данных

Разархивируйте и загружайте образцы изображений как image datastore. imageDatastore автоматически помечает изображения на основе имен папок и сохраняет данные как ImageDatastore объект. image datastore позволяет хранить большие данные изображений, включая данные, которые не помещаются в памяти. Разделите данные на 70% обучающих и 30% тестовых данных.

unzip('MerchData.zip');

imds = imageDatastore('MerchData', ...
    'IncludeSubfolders',true, ...
    'LabelSource','foldernames');

[imdsTrain,imdsTest] = splitEachLabel(imds,0.7,'randomized');

Этот очень маленький набор данных теперь имеет 55 обучающих изображений и 20 изображений для валидации. Отобразите некоторые образцовые изображения.

numImagesTrain = numel(imdsTrain.Labels);
idx = randperm(numImagesTrain,16);

I = imtile(imds, 'Frames', idx);

figure
imshow(I)

Figure contains an axes. The axes contains an object of type image.

Загрузка предварительно обученной сети

Загрузите предварительно обученную сеть SqueezeNet. SqueezeNet обучен на более чем миллионе изображений и может классифицировать изображения по 1000 категориям объектов, например, клавиатуре, мыши, карандашу и многим животным. В результате модель получила богатые представления функций для широкой области значений изображений.

net = squeezenet;

Анализ сетевой архитектуры.

analyzeNetwork(net)

Первый слой, входной слой для изображений, требует входа изображений размера 227 227 3, где 3 количество цветовых каналов.

inputSize = net.Layers(1).InputSize
inputSize = 1×3

   227   227     3

Извлечение функций изображения

Сеть создает иерархическое представление входа изображений. Более глубокие слои содержат функции более высокого уровня, созданные с использованием функций нижнего уровня более ранних слоев. Чтобы получить представления функций обучающих и тестовых изображений, используйте activations на глобальном среднем слое объединения 'pool10'. Чтобы получить представление изображений более низкого уровня, используйте более ранний слой в сети.

Сеть требует входа изображений размера 227 227 3, но изображения в хранилищах данных изображений имеют различные размеры. Чтобы автоматически изменить размер обучающих и тестовых изображений перед их вводом в сеть, создайте дополненные хранилища данных изображений, укажите необходимый размер изображения и используйте эти хранилища данных в качестве входных параметров для activations.

augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain);
augimdsTest = augmentedImageDatastore(inputSize(1:2),imdsTest);

layer = 'pool10';
featuresTrain = activations(net,augimdsTrain,layer,'OutputAs','rows');
featuresTest = activations(net,augimdsTest,layer,'OutputAs','rows');

Извлеките метки классов из обучающих и тестовых данных.

YTrain = imdsTrain.Labels;
YTest = imdsTest.Labels;

Классификатор подгонки изображений

Используйте функции, извлеченную из обучающих изображений, как переменные-предикторы и подбирайте мультикласс машины опорных векторов (SVM), используя fitcecoc (Statistics and Machine Learning Toolbox).

mdl = fitcecoc(featuresTrain,YTrain);

Классификация тестовых изображений

Классифицируйте тестовые изображения с помощью обученной модели SVM и функций, извлеченных из тестовых изображений.

YPred = predict(mdl,featuresTest);

Отобразите четыре выборочных тестовых изображения с их предсказанными метками.

idx = [1 5 10 15];
figure
for i = 1:numel(idx)
    subplot(2,2,i)
    I = readimage(imdsTest,idx(i));
    label = YPred(idx(i));
    
    imshow(I)
    title(label)
end

Figure contains 4 axes. Axes 1 with title MathWorks Cap contains an object of type image. Axes 2 with title MathWorks Cube contains an object of type image. Axes 3 with title MathWorks Playing Cards contains an object of type image. Axes 4 with title MathWorks Screwdriver contains an object of type image.

Вычислите точность классификации на тестовом наборе. Точность является частью меток, которые сеть предсказывает правильно.

accuracy = mean(YPred == YTest)
accuracy = 1

Этот SVM имеет высокую точность. Если точность недостаточно высока с помощью редукции данных, попробуйте перенести обучение вместо этого.

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

свернуть все

Обученная сеть, заданная как SeriesNetwork или DAGNetwork объект. Вы можете получить обученную сеть, импортировав предварительно обученную сеть (для примера, используя googlenet функция) или путем обучения собственной сети с помощью trainNetwork.

Image datastore, заданный как ImageDatastore объект.

ImageDatastore позволяет пакетное чтение файлов изображений JPG или PNG с помощью предварительной выборки. Если вы используете пользовательскую функцию для чтения изображений, то ImageDatastore не выполняет предварительную выборку.

Совет

Использовать augmentedImageDatastore для эффективной предварительной обработки изображений для глубокого обучения, включая изменение размера изображений.

Не используйте readFcn опция imageDatastore для предварительной обработки или изменения размера, поскольку эта опция обычно значительно медленнее.

Datastore для данной , которой не помещаютси в память, и предварительной обработки. datastore должен возвращать данные в таблице или массиве ячеек. Формат выхода datastore зависит от сетевой архитектуры.

Сетевая архитектураВыход DatastoreПример выхода
Один вход

Таблица или массив ячеек, где первый столбец задает предикторы.

Элементы таблицы должны быть скалярами, векторами-строками или массивами ячеек 1 на 1, содержащими числовой массив.

Пользовательские хранилища данных должны выводить таблицы.

data = read(ds)
data =

  4×1 table

        Predictors    
    __________________

    {224×224×3 double}
    {224×224×3 double}
    {224×224×3 double}
    {224×224×3 double}
data = read(ds)
data =

  4×1 cell array

    {224×224×3 double}
    {224×224×3 double}
    {224×224×3 double}
    {224×224×3 double}
Множественный вход

Массив ячеек с по крайней мере numInputs столбцы, где numInputs - количество входов сети.

Первый numInputs столбцы задают предикторы для каждого входа.

Порядок входов задается InputNames свойство сети.

data = read(ds)
data =

  4×2 cell array

    {224×224×3 double}    {128×128×3 double}
    {224×224×3 double}    {128×128×3 double}
    {224×224×3 double}    {128×128×3 double}
    {224×224×3 double}    {128×128×3 double}

Формат предикторов зависит от типа данных.

ДанныеФормат предикторов
2-D изображение

h -by w -by c числовой массив, где h, w и c являются высотой, шириной и количеством каналов изображения, соответственно.

3-D изображение

h w d c числовым массивом, где h, w, d, и c высота, ширина, глубина и количество каналов изображения, соответственно.

Векторная последовательность

c -by - s матрица, где c - количество функций последовательности, а s - длина последовательности.

2-D последовательности изображений

h -by- w -by- c -by- s массив, где h, w и c соответствуют высоте, ширине и количеству каналов изображения, соответственно, и s является длиной последовательности.

Каждая последовательность в мини-пакете должна иметь одинаковую длину.

3-D последовательности изображений

h -by- w -by- d -by- c -by- s массив, где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов изображения, соответственно, и s является длиной последовательности.

Каждая последовательность в мини-пакете должна иметь одинаковую длину.

Функции

c вектор-на-1, где c количество функций.

Для получения дополнительной информации смотрите Datastores для глубокого обучения.

Изображение или данные о функции, заданные как числовой массив. Размер массива зависит от типа входа:

ВходОписание
2-D изображенияh w c N числовым массивом, где h, w, и c высота, ширина, и количество каналов изображений, соответственно, и N - количество изображений.
3-D изображения<reservedrangesplaceholder9>-by-<reservedrangesplaceholder8>-by-<reservedrangesplaceholder7>-by-<reservedrangesplaceholder6>-by-<reservedrangesplaceholder5> числовой массив, где h, w, d, и c высота, ширина, глубина, и количество каналов изображений, соответственно, и N, является количеством изображений.
ФункцииA N -by- numFeatures числовой массив, где N - количество наблюдений и numFeatures - количество функций входных данных.

Если массив содержит NaNs, затем они распространяются через сеть.

Для сетей с несколькими входами можно задать несколько массивов X1, …, XN, где N количество входов сети и входных Xi соответствует входному параметру сети net.InputNames(i).

Для входа изображения, если 'OutputAs' опция 'channels', затем изображения во входных данных X может быть больше, чем вход размер изображения входа слоя сети. Для других выходных форматов изображения в X должен иметь тот же размер, что и вход размер изображения входа слоя сети.

Данные последовательности или временных рядов, заданные как N-на-1 массив ячеек числовых массивов, где N - количество наблюдений, числовой массив, представляющий одну последовательность или datastore.

Для массива ячеек или входа числовых массивов размерности числовых массивов, содержащих последовательности, зависят от типа данных.

ВходОписание
Векторные последовательностиc -by - s матрицы, где c - количество функций последовательностей, а s - длина последовательности.
2-D последовательности изображенийh -by- w -by- c -by- s массивы, где h, w и c соответствуют высоте, ширине и количеству каналов изображений, соответственно, и s является длиной последовательности.
3-D последовательности изображений<reservedrangesplaceholder9>-by-<reservedrangesplaceholder8>-by-<reservedrangesplaceholder7>-by-<reservedrangesplaceholder6>-by-<reservedrangesplaceholder5>, где h, w, d, и c соответствуют высоте, ширине, глубине, и количество каналов 3D изображений, соответственно, и s - длина последовательности.

Для входа datastore, datastore должен вернуть данные как массив ячеек с последовательностями или таблицу, первый столбец которой содержит последовательности. Размерности данных последовательности должны соответствовать таблице выше.

Таблица изображений или данных о функциях. Каждая строка в таблице соответствует наблюдению.

Расположение предикторов в столбцах таблицы зависит от типа входных данных.

ВходПредсказатели
Данные изображений
  • Абсолютный или относительный путь к изображению в виде вектора символов в одном столбце

  • Изображение, заданное как 3-D числовой массив

Задайте предикторы в одном столбце.

Данные о функции

Числовой скаляр.

Задайте предикторы в первом numFeatures столбцы таблицы, где numFeatures - количество функций входных данных.

Этот аргумент поддерживает сети только с одним входом.

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

Слой для извлечения активаций, заданный как числовой индекс или вектор символов.

Чтобы вычислить активации SeriesNetwork задайте слой с помощью числового индекса или в виде вектора символов, соответствующего имени слоя.

Чтобы вычислить активации DAGNetwork задайте слой как вектор символов, соответствующее имя слоя. Если слой имеет несколько выходы, укажите слой и выход в качестве имени слоя, затем символ «/», далее имя слоя. То есть layer имеет вид 'layerName/outputName'.

Пример: 3

Пример: 'conv1'

Пример: 'mpool/out'

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

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

Пример: activations(net,X,layer,'OutputAs','rows')

Формат активации выхода, заданный как разделенная запятой пара, состоящий из 'OutputAs' и любой из них 'channels', 'rows', или 'columns'. Для описания различных выходных форматов смотрите act.

Для входа изображения, если 'OutputAs' опция 'channels', затем изображения во входных данных X может быть больше, чем вход размер изображения входа слоя сети. Для других выходных форматов изображения в X должен иметь тот же размер, что и вход размер изображения входа слоя сети.

Пример: 'OutputAs','rows'

Размер мини-пакетов для использования в предсказании, заданный как положительное целое число. Большие размеры мини-пакетов требуют большей памяти, но могут привести к более быстрым предсказаниям.

Пример: 'MiniBatchSize',256

Опция для заполнения, усечения или разделения входных последовательностей, заданная как одно из следующего:

  • 'longest' - Дополните последовательности в каждом мини-пакете, чтобы иметь ту же длину, что и самая длинная последовательность. Эта опция не отбрасывает никаких данных, хотя заполнение может ввести шум в сеть.

  • 'shortest' - обрезать последовательности в каждом мини-пакете так, чтобы они имели ту же длину, что и самая короткая последовательность. Эта опция гарантирует, что заполнение не будет добавлено, за счет отбрасывания данных.

  • Положительное целое число - для каждого мини-пакета дополните последовательности ближайшим кратным указанной длине, которая больше самой длинной длины последовательности в мини-пакете, и затем разделите последовательности на меньшие последовательности заданной длины. Если происходит разделение, то программное обеспечение создает дополнительные мини-пакеты. Используйте эту опцию, если полные последовательности не помещаются в памяти. Кроме того, попробуйте уменьшить количество последовательностей на мини-пакет, установив 'MiniBatchSize' опция для более низкого значения.

Чтобы узнать больше об эффекте заполнения, усечения и разделения входа последовательностей, смотрите Sequence Padding, Truncation и Splitting.

Пример: 'SequenceLength','shortest'

Значение, которым можно дополнить входные последовательности, заданное как скаляр. Опция действительна только при SequenceLength является 'longest' или положительное целое число. Не дополнять последовательности NaN, потому что это может распространять ошибки по сети.

Пример: 'SequencePaddingValue',-1

Направление заполнения или усечения, заданное как одно из следующего:

  • 'right' - Дополните или обрезайте последовательности справа. Последовательности начинаются с того же временного шага, а программное обеспечение обрезает или добавляет заполнение в конец последовательностей.

  • 'left' - Дополните или обрезайте последовательности слева. Программа обрезает или добавляет заполнение к началу последовательностей, так что последовательности заканчиваются на одном и том же временном шаге.

Потому что слои LSTM обрабатывают данные последовательности по одному временному шагу за раз, когда слой OutputMode свойство 'last'любое заполнение на последних временных шагах может отрицательно повлиять на выход слоя. Чтобы дополнить или обрезать данные последовательности слева, установите 'SequencePaddingDirection' опция для 'left'.

Для сетей «последовательность-последовательность» (когда OutputMode свойство 'sequence' для каждого слоя LSTM), любое заполнение в первые временные шаги может негативно повлиять на предсказания для более ранних временных шагов. Чтобы дополнить или обрезать данные последовательности справа, установите 'SequencePaddingDirection' опция для 'right'.

Чтобы узнать больше об эффекте заполнения, усечения и разделения входа последовательностей, смотрите Sequence Padding, Truncation и Splitting.

Оптимизация эффективности, заданная как разделенная разделенными запятой парами, состоящая из 'Acceleration' и одно из следующих:

  • 'auto' - Автоматически применить ряд оптимизаций, подходящих для входных сетевых и аппаратных ресурсов.

  • 'mex' - Скомпилируйте и выполните MEX-функцию. Эта опция доступна только при использовании графического процессора. Для использования графический процессор требуется Parallel Computing Toolbox и поддерживаемый графический процессор. Для получения информации о поддерживаемых устройствах смотрите Поддержку GPU by Release (Parallel Computing Toolbox). Если Parallel Computing Toolbox или подходящий графический процессор недоступен, то программное обеспечение возвращает ошибку.

  • 'none' - Отключить все ускорения.

Опция по умолчанию 'auto'. Если 'auto' задано, MATLAB® применит несколько совместимых оптимизаций. Если вы используете 'auto' Опция никогда не генерирует MEX-функцию.

Использование 'Acceleration' опции 'auto' и 'mex' может предложить преимущества эффективности, но за счет увеличения начального времени запуска. Последующие вызовы с совместимыми параметрами выполняются быстрее. Используйте оптимизацию эффективности, когда вы планируете вызывать функцию несколько раз с помощью новых входных данных.

The 'mex' опция генерирует и выполняет MEX-функцию на основе сети и параметров, используемых в вызове функции. Одновременно с одной сетью можно связать несколько MEX-функции. Очистка сетевой переменной также очищает все MEX-функции, связанные с этой сетью.

The 'mex' опция доступна только при использовании графического процессора. Необходимо установить компилятор C/C + + и пакет поддержки GPU Coder™ Interface for Глубокое Обучение Libraries. Установите пакет поддержки с помощью Add-On Explorer в MATLAB. Инструкции по настройке см. в MEX Setup (GPU Coder). GPU Coder не требуется.

The 'mex' опция не поддерживает все слои. Список поддерживаемых слоев см. в разделе Поддерживаемые слои (GPU Coder). Рекуррентные нейронные сети (RNN), содержащие sequenceInputLayer не поддерживаются.

The 'mex' опция не поддерживает сети с несколькими входными слоями или несколькими выходными слоями.

Вы не можете использовать MATLAB Compiler™ для развертывания сети при использовании 'mex' опция.

Пример: 'Acceleration','mex'

Аппаратный ресурс, заданный как разделенная разделенными запятой парами, состоящая из 'ExecutionEnvironment' и одно из следующих:

  • 'auto' - Использовать графический процессор, если он доступен; в противном случае используйте центральный процессор.

  • 'gpu' - Использовать графический процессор. Для использования графический процессор требуется Parallel Computing Toolbox и поддерживаемый графический процессор. Для получения информации о поддерживаемых устройствах смотрите Поддержку GPU by Release (Parallel Computing Toolbox). Если Parallel Computing Toolbox или подходящий графический процессор недоступен, то программное обеспечение возвращает ошибку.

  • 'cpu' - Использовать центральный процессор.

Пример: 'ExecutionEnvironment','cpu'

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

свернуть все

Активации с слоя сети, возвращенные как числовой массив или массив ячеек из числовых массивов. Формат act зависит от типа входных данных, типа выхода слоя и 'OutputAs' опция.

Изображение или свернутая последовательность Выхода

Если слой выводит изображение или данные свернутой последовательности, то act является числовым массивом.

'OutputAs'act
'channels'

Для 2-D изображений выхода, act h w c n массив, где h, w, и c являются высотой, шириной, и количество каналов для выхода выбранного слоя, соответственно, и n - количество изображений. В этом случае act(:,:,:,i) содержит активации для i2е изображение.

Для 3-D изображений выхода, act массив <reservedrangesplaceholder10>-by-<reservedrangesplaceholder9>-by-<reservedrangesplaceholder8>-by-<reservedrangesplaceholder7>-by-<reservedrangesplaceholder6>, где h, w, d, и c являются высотой, шириной, глубиной, и количество каналов для выхода выбранного слоя, соответственно, и n - количество изображений. В этом случае act(:,:,:,:,i) содержит активации для i2е изображение.

Для выхода 2-D последовательности изображений, act h w c (n * s) массив, где h, w, и c являются высотой, шириной, и количество каналов для выхода выбранного слоя, соответственно, n является количеством последовательностей, и s длина последовательности. В этом случае act(:,:,:,(t-1)*n+k) содержит активации для временного шага t от kI последовательность.

Для выхода 3-D последовательности изображений, act <reservedrangesplaceholder12>-by-<reservedrangesplaceholder11>-by-<reservedrangesplaceholder10>-by-<reservedrangesplaceholder9>-by- (n * s) массив, где h, w, d, и c являются высотой, шириной, глубиной, и количество каналов для выхода выбранного слоя, соответственно, n является количеством последовательностей, и s длина последовательности. В этом случае act(:,:,:,:,(t-1)*n+k) содержит активации для временного шага t от kI последовательность.

'rows'

Для 2-D и 3-D выходы изображения, act - матрица n -by m, где n - количество изображений и m количество выхода элементов из слоя. В этом случае act(i,:) содержит активации для i2е изображение.

Для сложенных 2-D и 3-D выходы последовательности изображений, act является (n * s) -by - m матрицей, где n - количество последовательностей, s - длина последовательности и m количество выхода элементов из слоя. В этом случае act((t-1)*n+k,:) содержит активации для временного шага t от kI последовательность.

'columns'

Для 2-D и 3-D выходы изображения, act является m -by - n матрицей, где m - количество выходных элементов из выбранного слоя, и n - количество изображений. В этом случае act(:,i) содержит активации для i2е изображение.

Для сложенных 2-D и 3-D выходы последовательности изображений, act является m -by- (n * s) матрицей, где m - количество выхода элементов из выбранного слоя, n - количество последовательностей, а s - длина последовательности. В этом случае act(:,(t-1)*n+k) содержит активации для временного шага t от kI последовательность.

Выход последовательности

Если layer имеет выход последовательности (для примера, слои LSTM с выходом режимом 'sequence'), затем act - массив ячеек. В этом случае 'OutputAs' опция должен быть 'channels'.

'OutputAs'act
'channels'

Для выхода векторной последовательности, act - n массив ячеек -by-1, из c -by- s матриц, где n - количество последовательностей, c - количество функций в последовательности, а s - длина последовательности.

Для 2-D последовательности изображений выхода, act - n массив ячеек -by-1, из h w -by- c -by- s матриц, где n - количество последовательностей, h, w и c - высота, ширина и количество каналов изображений, соответственно, и s - длина последовательности.

Для 3-D последовательности изображений выхода, act массив ячеек <reservedrangesplaceholder11>-by-1, <reservedrangesplaceholder10>-by-<reservedrangesplaceholder9>-by-<reservedrangesplaceholder8>-by-<reservedrangesplaceholder7>-by-<reservedrangesplaceholder6> матриц, где n - количество последовательностей, h, w, d, и c высота, ширина, глубина, и количество каналов изображений, соответственно, и s - длина последовательности.

В этих случаях act{i} содержит активации iI последовательность.

Один временной шаг Выхода

Если layer выводит один временной шаг последовательности (для примера, уровень LSTM с выходом режимом 'last'), затем act является числовым массивом.

'OutputAs'act
'channels'

Для одного временного шага, содержащего векторные данные, act является c -by - n матрицей, где n - количество последовательностей, а c - количество функций в последовательности.

Для одного временного шага, содержащего 2-D данные изображения, act h w c n массив, где n - количество последовательностей, h, w, и c высота, ширина и количество каналов изображений, соответственно.

Для одного временного шага, содержащего 3-D данные изображения, act массив <reservedrangesplaceholder9>-by-<reservedrangesplaceholder8>-by-<reservedrangesplaceholder7>-by-<reservedrangesplaceholder6>-by-<reservedrangesplaceholder5>, где n - количество последовательностей, h, w, d, и c высота, ширина, глубина и количество каналов изображений, соответственно.

'rows'n -by - m матрица, где n - количество наблюдений, и m количество выхода элементов из выбранного слоя. В этом случае act(i,:) содержит активации для iI последовательность.
'columns'm -by - n матрица, где m - количество выходных элементов из выбранного слоя, и n - количество наблюдений. В этом случае act(:,i) содержит активации для i2е изображение.

Алгоритмы

Когда вы обучаете сеть, используя trainNetwork function, или когда вы используете функции предсказания или валидации с DAGNetwork и SeriesNetwork объекты, программное обеспечение выполняет эти расчеты с помощью арифметики с одной точностью и плавающей точкой. Функции для обучения, предсказания и валидации включают trainNetwork, predict, classify, и activations. Программа использует арифметику с одной точностью, когда вы обучаете сети, используя как центральные процессоры, так и графические процессоры.

Ссылки

[1] М. Кудо, Дж. Тояма и М. Симбо. «Многомерная классификация кривых с использованием областей». Распознавание Букв. Том 20, № 11-13, стр. 1103-1111.

[2] UCI Machine Learning Repository: Японский набор данных гласных. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels

Расширенные возможности

..
Введенный в R2016a