主要内容

激活

딥러닝신경망계층활성화계산

설명

CPU또는gpu에서딥러닝신경망계층활성화를계산할수있습니다。GPU를사용하려면并行计算工具箱™와지원되는GPU장치가필요합니다。지원되는장치에대한자세한내용은릴리스별gpu지원(并行计算工具箱)항목을참조하십시오。하드웨어구사항은이름—값수ExecutionEnvironment를사용하여지정하십시오。

훈련된SeriesNetwork또는DAGNetwork를사용하여활성화결과를구하려면激活함수를사용하십시오。dlnetwork객체의활성화결과를구하려면向前함수 또는预测함수를사용하고输出옵션을지정하십시오。

行为=激活(图片는지정된상을사용하여이름또는번호가계층의신경망활성화결과를반환합니다。

行为=激活(序列는지정된시퀀스를사용하여계층의신경망활성화결과를반환합니다。

行为=激活(特性는지정된특징데이터를사용하여계층의신경망활성화결과를반환합니다。

行为=激活(X1,…,XN는다중입력신경망에대해숫자형배열또는셀형배열X1、……XN의데이터를사용하여계층의신경망활성화결과를반환합니다。입력값西는신경망입력값net.InputNames(我)에대응됩니다。

行为=激活(混合는혼합된데이터형의입력값을여러개갖는훈련된신경망을사용하여계층의신경망활성화결과를반환합니다。

예제

行为=激活(___名称=值는하나이상의이름——값쌍인수로지정된추가옵션을사용하여신경망활성화결과를반환합니다。예를들어,OutputAs = "行"는활성화출력형식을“行”로지정합니다。이구문은위에열거된구문의모든입력수와함께사용하십시오。이름-값수는다른모든입력수다음에지정하십시오。

예제

모두 축소

이예제에서는사전훈련된컨벌루션신경망에서학습된영상특징을추출한다음추출한특징을사용하여영상분류기를훈련시키는방법을보여줍니다。

특징추출은사전훈련된심층신경망의강력한표현기능을가장쉽고빠르게사용하는방법입니다。예를들어,추출된특징에대해fitcecoc(统计和机器学习的工具箱™)를사용하여서포트벡터머신(SVM)을훈련시킬수있습니다。특징추출은데이터를한번만통과하면되므로신경망훈련을가속할GPU가없을때시도할수있는좋은출발점이됩니다。

데이터불러오기

샘플、상의압축을풀고、샘플、상데이터저장소로서불러옵니다。imageDatastore는폴더이름을기준으로상에자동으로레이블을지정하고데이터를ImageDatastore객체로저장합니다。영상데이터저장소를사용하면메모리에담을수없는데이터를포함하여다량의영상데이터를저장할수있습니다。데이터를훈련데이터70%와테스트데이터30%로분할합니다。

解压缩(“MerchData.zip”);imds = imageDatastore(“MerchData”...IncludeSubfolders = true,...LabelSource =“foldernames”);[imdsTrain,imdsTest] = splitEachLabel(imds,0.7,“随机”);

이매우작은데이터세트에는이제55개의훈련영상과20개의검증영상이있습니다。샘플상몇개를시합니다。

numImagesTrain = numel(imdsTrain.Labels);idx = randperm(numImagesTrain,16);I = imtile(imds,“帧”, idx);图imshow(我)

사전훈련된신경망불러오기

사전훈련된SqueezeNet신경망을불러옵니다。1백만개가넘는영상에대해훈련된SqueezeNet은영상을키보드,마우스,연필,각종동물등1000가지사물범주로분류할수있습니다。그결과이모델은다양한상을대하는다양한특징을학습했습니다。

网=挤压网;

신경망아키텍처를분석합니다。

analyzeNetwork(净)

2022 - 01 - 07 - _16 - 31 - 30. - png

첫번째계층인영상입력계층에입력되는영상은크기가227×227×3이어야합니다。여기서3은색채널의개수입니다。

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

상특징추출하기

신경망은입력상에대한계층현을생성합니다。보다심층의계층에는앞쪽계층의하위수준특징을사용하여생성한상위수준의특징이포함됩니다。훈련、상과테스트、상의특징、현을가져오려면전역평균값풀링계층“pool10”에서激活를사용하십시오。@ @상의하위수준@ @현을가져오려면신경망의앞쪽계층을사용하십시오。

이신경망의입력영상은크기가227×227×3이되어야하는데영상데이터저장소의영상은이와다른크기를갖습니다。신경망에입력하기전에훈련영상과테스트영상의크기를자동으로조정하려면증대된영상데이터저장소를만들고원하는영상크기를지정한다음이러한데이터저장소를激活에대한입력수로사용하십시오。

augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain);augimdsTest = augmentedImageDatastore(inputSize(1:2),imdsTest);层=“pool10”;featuresTrain =激活(net,augimdsTrain,layer,OutputAs=“行”);featuresTest =激活(net,augimdsTest,layer,OutputAs=“行”);

훈련데이터와테스트데이터로부터클래스레이블을추출합니다。

TTrain = imdsTrain.Labels;TTest = imdsTest.Labels;

상분류기피팅하기

훈련상으로부터추출한특징을예측변수로사용하고fitcecoc(统计和机器学习的工具箱)를사용하여다중클래스서포트벡터머신(SVM)을피팅합니다。

mdl = fitcecoc(featuresTrain,TTrain);

테스트상분류하기

훈련된SVM모델과테스트영상으로부터추출한특징을사용하여테스트영상을분류합니다。

YPred = predict(mdl, featurest);

4개의샘플테스트상을예측된레이블과함께시합니다。

Idx = [1 5 10 15];数字i = 1: nummel (idx) subplot(2,2,i) i = readimage(imdsTest,idx(i));标签= YPred(idx(i));imshow (I)标题(标签)结束

테스트세트에대한분류정확도를계산합니다。정확도는신경망이올바르게예측하는레이블의비율입니다。

精度=平均值(YPred == TTest)
准确度= 0.9500

이svm은높은정확도를갖습니다。특징추출을사용했을때의정확도가충분히높지않다면그대신전이학습을사용해보십시오。

입력marketing수

모두 축소

훈련된신경망으로,SeriesNetwork또는DAGNetwork객체로지정됩니다。사전훈련된신경망을가져오거나(예:googlenet함수사용)trainNetwork를사용하여자신만의고유한신경망을훈련시켜훈련된신경망을얻을수있습니다。

상데이터로,다음중하나로지정됩니다。

데이터유형 설명 대적사용법
데이터저장소 ImageDatastore 디스크에저장된상의데이터저장소

디스크에저장된같은크기의상들을사용하여예측을수행합니다。

상크기가서로다른경우AugmentedImageDatastore객체를사용하십시오。

AugmentedImageDatastore 크기조,정회전,반사,전단,평행이동을비롯한무작위아핀기하변환을적용하는데이터저장소

디스크에저장된서로다른크기의상들을사용하여예측을수행합니다。

TransformedDatastore 사용자지정변환함수를사용하여기본데이터저장소에서읽어들인데이터배치를변환하는데이터저장소

  • 激活함수에서지원하지않는출력값을가진데이터저장소를변환합니다。

  • 데이터저장소출력값에사용자지정변환을적용합니다。

CombinedDatastore 둘이상의기본데이터저장소에서읽어들데이터저장소

  • 여러개의입력값을갖는신경망을사용하여예측을수행합니다。

  • 서로다른데이터소스의예측변수를결합합니다。

사용자지정미니배치데이터저장소 데이터의미니배치를반환하는사용자지정데이터저장소

다른데이터저장소에서지원하지않는형식의데이터를사용하여예측을수행합니다。

자세한내용은开发自定义小批量数据存储항목을참조하십시오。

숫자형배열 숫자형배열로지정된상 메모리에맞고크기조정과같은추가처리가필요하지않은데이터를사용하여예측을수행합니다。
테이블 테이블로지정된상 테이블에저장된데이터를사용하여예측을수행합니다。

여러개의입력값을갖는신경망에데이터저장소를사용하는경우,데이터저장소는TransformedDatastore객체이거나CombinedDatastore객체여야합니다。

비디오데이터와같은상시퀀스의경우序列입력수를사용하십시오。

데이터저장소

데이터저장소는상및응답변수의미니배치를읽어들입니다。데이터저장소는메모리에맞지않는데이터가있거나입력데이터의크기를조정하려는경우에사용하십시오。

다음데이터저장소는상데이터에대해激活함수와직접호환됩니다。

ImageDatastore객체는프리페치작업을사용한JPG또는PNG http://http://mail.huawei.com상읽기를위해사용자지정함수를사용하는경우ImageDatastore객체는프리페치를수행하지않습니다。

딥러닝을위해상을효율적으로전처리하려면(상크기조정포함)augmentedImageDatastore를사용하십시오。

imageDatastore함수의readFcn옵션은일반적으로상당히느리므로전처리나크기조정을위해사용하지마십시오。

变换함수와结合함수를사용하여예측을수행하기위해다른내장데이터저장소를사용할수있습니다。이러한함수는데이터저장소에서읽어들데이터를分类에필한형식으로변환할수있습니다。

데이터저장소출력값의필한형식은신경망아키텍처에따라달라집니다。

신경망아키텍처 데이터저장소출력값 출력값의예
단일입력값

테이블또는셀형배열로,여기서첫번째열은예측변수를지정합니다。

테이블요소는스칼라또는행벡터이거나숫자형배열을포함하는1×1셀형배열이어야합니다。

사용자지정데이터저장소는테이블을출력해야합니다。

数据=读取(ds)
data = 4×1 table Predictors __________________ {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double}
数据=读取(ds)
Data = 4×1 cell array {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double}
다중입력값

열 개수가numInputs개이상marketing셀형배열로,여기서numInputs는신경망입력값의개수입니다。

처음numInputs개의열은각입력값에대한예측변수를지정합니다。

입력값의순서는신경망의InputNames속성으로지정됩니다。

数据=读取(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차원상

w h××c숫자형배열로,여기서h, w c는각각영상의높이,너비,채널개수입니다。

3차원상 h d w×××c숫자형배열로,여기서h, w, d c는각각영상의높이,너비,깊이,채널개수입니다。

자세한내용은用于深度学习的数据存储항목을참조하십시오。

숫자형배열

메모리에맞고증대와같은추가처리가필요하지않은데이터의경우영상데이터세트를숫자형배열로지정할수있습니다。

숫자형배열의크기와형태는상데이터의유형에따라달라집니다。

데이터 형식
2차원상

h c w×××N숫자형배열로,여기서h, w c는각각영상의높이,너비,채널개수이고N은영상개수입니다。

3차원상 h c d w××××N숫자형배열로,여기서h, w, d c는각각영상의높이,너비,깊이,채널개수이고N은영상개수입니다。

테이블

데이터저장소또는숫자형배열의대으로테이블에상을지정할수도있습니다。

테이블에상을지정할때테이블의각행은관측값하나에대응됩니다。

영상입력의경우예측변수는다음중하나로지정된테이블의첫번째열에있어야합니다。

  • 상에대한상대또는절대파일경로로,문자형벡터로지정됩니다。

  • 2차원영상을나타내는w h××c숫자형배열을포함하는1×1셀형배열로,여기서h, w c는각각영상의높이,너비,채널의개수입니다。

복소수값데이터를신경망에입력하려면입력계층의SplitComplexInputs옵션이1이어야합니다。

데이터형:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|表格
복소수지원여부:

시퀀스또는시계열데이터로,다음중하나로지정됩니다。

데이터유형 설명 대적사용법
데이터저장소 TransformedDatastore 사용자지정변환함수를사용하여기본데이터저장소에서읽어들인데이터배치를변환하는데이터저장소

  • 激活함수에서지원하지않는출력값을가진데이터저장소를변환합니다。

  • 데이터저장소출력값에사용자지정변환을적용합니다。

CombinedDatastore 둘이상의기본데이터저장소에서읽어들데이터저장소

  • 여러개의입력값을갖는신경망을사용하여예측을수행합니다。

  • 서로다른데이터소스의예측변수를결합합니다。

사용자지정미니배치데이터저장소 데이터의미니배치를반환하는사용자지정데이터저장소

다른데이터저장소에서지원하지않는형식의데이터를사용하여예측을수행합니다。

자세한내용은开发自定义小批量数据存储항목을참조하십시오。

숫자형또는셀형배열 숫자형배열로지정된단일시퀀스또는숫자형배열로구성된셀형배열로지정된시퀀스데이터세트 메모리에맞고사용자지정변환과같은추가처리가필요하지않은데이터를사용하여예측을수행합니다。

데이터저장소

데이터저장소는시퀀스및응답변수의미니배치를읽어들입니다。메모리에맞지않는데이터가있거나데이터에변환을적용하려는경우에데이터저장소를사용하십시오。

다음데이터저장소는시퀀스데이터에대해激活함수와직접호환됩니다。

变换함수와结合함수를사용하여예측을수행하기위해다른내장데이터저장소를사용할수있습니다。이러한함수는데이터저장소에서읽어들데이터를激活함수에필한테이블또는셀형배열형식으로변환할수있습니다。예를들어,각각ArrayDatastore객체 및TabularTextDatastore객체를사용하여메모리내배열및CSV파일에서읽어들인데이터를변환하고결합할수있습니다。

데이터저장소는데이터를테이블또는셀형배열로반환해야합니다。사용자지정미니배치데이터저장소는테이블을출력해야합니다。

데이터저장소출력값 출력값의예
테이블
数据=读取(ds)
data = 4×2表预测  __________________ { 12×50双}{12×50双}{12×50双}{12×50双}
셀형 배열
数据=读取(ds)
Data = 4×2 cell array {12×50 double} {12×50 double} {12×50 double} {12×50 double}

예측변수의형식은데이터의유형에따라달라집니다。

데이터 예측변수의형식
벡터시퀀스

C×s행렬로,여기서c는시퀀스의특징개수이고,s는시퀀스길이입니다。

1차원상시퀀스

c h××s배열로,여기서h, c는각각영상의높이와채널개수이고,年代는시퀀스길이입니다。

미니배치의각시퀀스는시퀀스길이가같아야합니다。

2차원상시퀀스

h c w×××s배열로,여기서h, w c는각각영상의높이,너비,채널개수이고,年代는시퀀스길이입니다。

미니배치의각시퀀스는시퀀스길이가같아야합니다。

3차원상시퀀스

h c d w××××s배열로,여기서h, w, d c는각각영상의높이,너비,깊이,채널개수이고,年代는시퀀스길이입니다。

미니배치의각시퀀스는시퀀스길이가같아야합니다。

테이블로반환되는예측변수의경우,요소는숫자형스칼라또는숫자형행벡터를포함하거나숫자형배열을포함하는1×1셀형배열을포함해야합니다。

자세한내용은用于深度学习的数据存储항목을참조하십시오。

숫자형또는셀형배열

메모리에맞고사용자지정변환과같은추가처리가필요하지않은데이터의경우단일시퀀스를숫자형배열로지정하거나시퀀스데이터세트를숫자형배열로구성된셀형배열로지정할수있습니다。

셀형배열입력값의경우셀형배열은숫자형배열로구성된N×1셀형배열이어야합니다。여기서n은관측값의개수입니다。시퀀스를나타내는숫자형배열의크기와형태는시퀀스데이터의유형에따라달라집니다。

입력값 설명
벡터시퀀스 C×s행렬로,여기서c는시퀀스의특징개수이고s는시퀀스길이입니다。
1차원상시퀀스 c h××s배열로,여기서h, c는각각영상의높이,채널개수이고年代는시퀀스길이입니다。
2차원상시퀀스 h c w×××s배열로,여기서h, w c는영상의높이,너비,채널개수이고年代는시퀀스길이입니다。
3차원상시퀀스 h c d w××××s배열로,여기서h, w, d c는3차원영상의높이,너비,깊이,채널개수이고年代는시퀀스길이입니다。

복소수값데이터를신경망에입력하려면입력계층의SplitComplexInputs옵션이1이어야합니다。

데이터형:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|细胞
복소수지원여부:

특징데이터로,다음중하나로지정됩니다。

데이터유형 설명 대적사용법
데이터저장소 TransformedDatastore 사용자지정변환함수를사용하여기본데이터저장소에서읽어들인데이터배치를변환하는데이터저장소

  • 激活함수에서지원하지않는출력값을가진데이터저장소를변환합니다。

  • 데이터저장소출력값에사용자지정변환을적용합니다。

CombinedDatastore 둘이상의기본데이터저장소에서읽어들데이터저장소

  • 여러개의입력값을갖는신경망을사용하여예측을수행합니다。

  • 서로다른데이터소스의예측변수를결합합니다。

사용자지정미니배치데이터저장소 데이터의미니배치를반환하는사용자지정데이터저장소

다른데이터저장소에서지원하지않는형식의데이터를사용하여예측을수행합니다。

자세한내용은开发自定义小批量数据存储항목을참조하십시오。

테이블 테이블로지정된특징데이터 테이블에저장된데이터를사용하여예측을수행합니다。
숫자형배열 숫자형배열로지정된특징데이터 메모리에맞고사용자지정변환과같은추가처리가필요하지않은데이터를사용하여예측을수행합니다。

데이터저장소

데이터저장소는특징데이터및응답변수의미니배치를읽어들입니다。메모리에맞지않는데이터가있거나데이터에변환을적용하려는경우에데이터저장소를사용하십시오。

다음데이터저장소는특징데이터에대해激活함수와직접호환됩니다。

变换함수와结合함수를사용하여예측을수행하기위해다른내장데이터저장소를사용할수있습니다。이러한함수는데이터저장소에서읽어들데이터를激活함수에필한테이블또는셀형배열형식으로변환할수있습니다。자세한내용은用于深度学习的数据存储항목을참조하십시오。

여러개의입력값을갖는신경망의경우,데이터저장소는TransformedDatastore객체이거나CombinedDatastore객체여야합니다。

데이터저장소는데이터를테이블또는셀형배열로반환해야합니다。사용자지정미니배치데이터저장소는테이블을출력해야합니다。데이터저장소출력값의형식은신경망아키텍처에따라달라집니다。

신경망아키텍처 데이터저장소출력값 출력값의예
하나의입력계층

하나이상의열을가진테이블또는셀형배열로,여기서첫번째열은예측변수를지정합니다。

테이블요소는스칼라또는행벡터이거나숫자형배열을포함하는1×1셀형배열이어야합니다。

사용자지정미니배치데이터저장소는테이블을출력해야합니다。

1개의입력값을갖는신경망에대한테이블입니다。

数据=读取(ds)
data = 4×2表预测  __________________ { 24×24×1双}{1双}{24×1双}{24×1双}

1개의입력값을갖는신경망에대한셀형배열입니다。

数据=读取(ds)
Data = 4×1 cell array {24×1 double} {24×1 double} {24×1 double} {24×1 double}

여러개의입력계층

열 개수가numInputs개이상marketing셀형배열로,여기서numInputs는신경망입력값의개수입니다。

처음numInputs개의열은각입력값에대한예측변수를지정합니다。

입력값의순서는신경망의InputNames속성으로지정됩니다。

2개의입력값을갖는신경망에대한셀형배열입니다。

数据=读取(ds)
Data = 4×3 cell array {24×1 double} {28×1 double} {24×1 double} {28×1 double} {24×1 double} {28×1 double} {24×1 double} {28×1 double}

예측변수는c×1열벡터여야합니다。여기서c는특징의개수입니다。

자세한내용은用于深度学习的数据存储항목을참조하십시오。

테이블

메모리에맞고사용자지정변환과같은추가처리가필요하지않은특징데이터의경우특징데이터와응답변수를테이블로지정할수있습니다。

테이블의각행은관측값하나에대응됩니다。테이블열에서예측변수의배치방식은작업유형에따라달라집니다。

작업 예측 변수
특징 분류

하나이상의열에스칼라로지정된특징。

숫자형배열

메모리에맞고사용자지정변환과같은추가처리가필요하지않은특성데이터의경우특징데이터를숫자형배열로지정할수있습니다。

숫자형배열은n×numFeatures숫자형배열이어야합니다。여기서n은관측값의개수이고,numFeatures는입력데이터의특징의개수입니다。

복소수값데이터를신경망에입력하려면입력계층의SplitComplexInputs옵션이1이어야합니다。

데이터형:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|表格
복소수지원여부:

여러개의입력값을갖는신경망에대한숫자형배열또는셀형배열입니다。

상,시퀀스,특징예측변수입력값에대해예측변수형식은각각图片序列特性수설명에기술된형식과일치해야합니다。

여러개의입력값을갖는신경망을훈련시키는방법을보여주는예제는训练网络图像和特征数据항목을참조하십시오。

복소수값데이터를신경망에입력하려면입력계층의SplitComplexInputs옵션이1이어야합니다。

데이터형:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|细胞
복소수지원여부:

혼합된데이터로,다음중하나로지정됩니다。

데이터유형 설명 대적사용법
TransformedDatastore 사용자지정변환함수를사용하여기본데이터저장소에서읽어들인데이터배치를변환하는데이터저장소

  • 여러개의입력값을갖는신경망을사용하여예측을수행합니다。

  • 激活에서지원하지않는데이터저장소의출력값이필한형식을갖도록변환합니다。

  • 데이터저장소출력값에사용자지정변환을적용합니다。

CombinedDatastore 둘이상의기본데이터저장소에서읽어들데이터저장소

  • 여러개의입력값을갖는신경망을사용하여예측을수행합니다。

  • 서로다른데이터소스의예측변수를결합합니다。

사용자지정미니배치데이터저장소 데이터의미니배치를반환하는사용자지정데이터저장소

다른데이터저장소에서지원하지않는형식의데이터를사용하여예측을수행합니다。

자세한내용은开发自定义小批量数据存储항목을참조하십시오。

变换함수와结合함수를사용하여예측을수행하기위해다른내장데이터저장소를사용할수있습니다。이러한함수는데이터저장소에서읽어들데이터를激活함수에필한테이블또는셀형배열형식으로변환할수있습니다。자세한내용은用于深度学习的数据存储항목을참조하십시오。

데이터저장소는데이터를테이블또는셀형배열로반환해야합니다。사용자지정미니배치데이터저장소는테이블을출력해야합니다。데이터저장소출력값의형식은신경망아키텍처에따라달라집니다。

데이터저장소출력값 출력값의예

열의개수가numInputs셀형배열로,여기서numInputs는신경망입력값의개수입니다。

입력값의순서는신경망의InputNames속성으로지정됩니다。

数据=读取(ds)
Data = 4×3 cell array {24×1 double} {28×1 double} {24×1 double} {28×1 double} {24×1 double} {28×1 double} {24×1 double} {28×1 double}

상,시퀀스,특징예측변수입력값에대해예측변수형식은각각图片序列特性수설명에기술된형식과일치해야합니다。

여러개의입력값을갖는신경망을훈련시키는방법을보여주는예제는训练网络图像和特征数据항목을참조하십시오。

숫자형배열을데이터저장소로변환하려면arrayDatastore를사용하십시오。

활성화결과를추출할계층으로,숫자형marketing덱스또는문자형벡터로지정됩니다。

SeriesNetwork객체의활성화결과를구하려면层를숫자형인덱스로지정하거나계층이름에해당하는문자형벡터로지정하십시오。

DAGNetwork객체의활성화결과를구하려면层를계층이름에해당하는문자형벡터로지정하십시오。계층에여러개의출력값이있다면계층이름을지정하고,문자"를입력하고,이어서계층출력값의이름을지정하여계층과출력값을지정합니다。즉,“layerName / outputName”과같은형식으로지정합니다。

예:3.

예:“conv1”

예:“mpool /出”

이름-값通讯录수

선택적수쌍을Name1 = Value1,…,以=家으로지정합니다。여기서的名字은수이름이고价值는대응값입니다。이름-값수는다른수뒤에와야하지만,수쌍의순서는상관없습니다。

R2021a이전릴리스에서는쉼` ` `를사용하여각이름과값을구분하고的名字을따옴@ @로묶으십시오。

예:MiniBatchSize = 256은미니배치크기를256으로지정합니다。

활성화결과출력형식으로,“通道”“行”또는“列”로지정됩니다。출력형식에대한설명은行为항목을참조하십시오。

상입력값의경우,OutputAs옵션이“通道”이면입력데이터의、상은신경망의、이면입력데이터의、상입력계층의입력크기보다클수있습니다。그밖의다른출력형식의경우에는입력값의영상크기가신경망의영상입력계층의입력크기와같아야합니다。

예측에사용할미니배치의크기로,양의정수로지정됩니다。미니배치가클수록메모리가더많이필하지만예측속도는빨라질수있습니다。

입력시퀀스를채우거나자르거나분할하는옵션으로,다음중하나로지정됩니다。

  • “最长”-각미니배치의시퀀스길이가가장긴시퀀스의길이와같아지도록채웁니다。이옵션은채우기로해신경망에잡음이포함되더라도데이터를버리지않습니다。

  • “最短”-각미니배치의시퀀스가가장짧은시퀀스와길이가같아지도록자릅니다。이옵션은데이터를버리게되더라도채우기를추가하지않습니다。

  • 양의정수-각미니배치에대해,미니배치에서가장긴시퀀스의길이에맞춰시퀀스를채운다음,지정된길이를갖는더작은크기의시퀀스로분할합니다。분할이이루어지면소프트웨어가미니배치를추가로만듭니다。데이터의시퀀스길이가지정된시퀀스길이로균등하게나뉘지않는경우,해당시퀀스의끝을포함하는미니배치의길이는지정된시퀀스길이보다짧습니다。전체시퀀스가메모리에맞지않으면이옵션을사용하십시오。또는MiniBatchSize옵션을더낮은값으로설정하여미니배치당시퀀스개수를줄여보십시오。

입력시퀀스채우기,자르기,분할의효과에대한자세한정보는시퀀스채우기,자르기및분할항목을참조하십시오。

데이터형:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串

입력시퀀스에채울값으로,스칼라로지정됩니다。

이 옵션은SequenceLength“最长”또는양의정수경우에만유효합니다。시퀀스를으로채우면신경망전체로오류가전파될수있으므로유의하십시오。

데이터형:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

채우기또는자르기방향으로,다음중하나로지정됩니다。

  • “正确”-시퀀스들을오른쪽에서채우거나자릅니다。시퀀스들은동일한시간스텝에서시작하며소프트웨어가시퀀스들의끝부분에서자르기나채우기를수행합니다。

  • “左”-시퀀스들을왼쪽에서채우거나자릅니다。시퀀스들이동일한시간스텝에서끝나도록소프트웨어가시퀀스들의시작부분에서자르기나채우기를수행합니다。

순환계층은시퀀스데이터를한번에하나의시간스텝씩처리하기때문에순환계층의OutputMode속성이“最后一次”경우마지막시간스텝에서의채우기가계층출력에부정적향을줄수있습니다。시퀀스데이터를왼쪽에서채우거나자르려면SequencePaddingDirection옵션을“左”로설정하십시오。

序列对序列신경망의경우(각순환계층의OutputMode속성이“序列”인경우),첫시간스텝들에서의채우기가앞쪽에있는시간스텝들의예측에부정적인영향을줄수있습니다。시퀀스데이터를오른쪽에서채우거나자르려면SequencePaddingDirection옵션을“正确”로설정하십시오。

입력시퀀스채우기,자르기,분할의효과에대한자세한정보는시퀀스채우기,자르기및분할항목을참조하십시오。

성능최적화로,다음중하나로지정됩니다。

  • “汽车”-입력신경망및하드웨어리소스에적합한여러최적화를자동으로적용합니다。

  • “墨西哥人”- mex함수를컴파일하고실행합니다。이옵션은gpu를사용하는경우에만사용할수있습니다。GPU를사용하려면并行计算工具箱와지원되는GPU장치가필요합니다。지원되는장치에대한자세한내용은릴리스별gpu지원(并行计算工具箱)항목을참조하십시오。并行计算工具箱또는적당한GPU를사용할수없는경우,오류가반환됩니다。

  • “没有”-모든가속을비활성화합니다。

加速度“汽车”rr경우matlab®은호환되는여러최적화를적용하고mex함수를생성하지않습니다。

“汽车”“墨西哥人”옵션을사용하면초기실행시간이늘어나는대신성능이향상될수있습니다。호환되는파라미터를사용한후속호출은더빨리실행됩니다。성능최적화는새입력데이터를사용하여함수를여러번호출해야하는경우에사용하십시오。

“墨西哥人”옵션은신경망과함수호출에서사용된파라미터에따라墨西哥人함수를생성하고실행합니다。단일신경망에한번에여러개의mex함수가연결되어있을수있습니다。신경망변수를지우면해당신경망에연결된모든mex함수도지워집니다。

“墨西哥人”옵션은단일gpu를사용하는경우에사용할수있습니다。

“墨西哥人”옵션을사용하려면C / c++컴파일러가설치되어있어야하며GPU编码器™界面深度学习库지원패키지가필요합니다。Matlab의애드온탐색기를사용하여지원패키지를설치하십시오。설정지침은墨西哥人设置(GPU编码器)항목을참조하십시오。GPU编码器는필하지않습니다。

“墨西哥人”옵션은sequenceInputLayer객체와featureInputLayer객체를제외하고金宝app支持层(GPU编码器)페이지에나열된계층을포함하는신경망을지원합니다。

“墨西哥人”옵션을사용할경우MATLAB编译器™는신경망배포를지원하지않습니다。

하드웨어리소스로,다음중하나로지정됩니다。

  • “汽车”- gpu를사용할수있으면gpu를사용하고그렇지않으면cpu를사용합니다。

  • “图形”- gpu를사용합니다。GPU를사용하려면并行计算工具箱와지원되는GPU장치가필요합니다。지원되는장치에대한자세한내용은릴리스별gpu지원(并行计算工具箱)항목을참조하십시오。并行计算工具箱또는적당한GPU를사용할수없는경우,오류가반환됩니다。

  • “cpu”- cpu를사용합니다。

  • “multi-gpu”——디폴트클러스터프로파일에따라로컬병렬풀을사용하여컴퓨터1대에서여러개의GPU를사용합니다。기존병렬풀이없는경우소프트웨어는사용가능한GPU의개수와동일한풀크기로병렬풀을시작합니다。

  • “平行”-디폴트클러스터프로파일에따라로컬또는원격병렬풀을사용합니다。기존병렬풀이없는경우소프트웨어는디폴트클러스터프로파일을사용하여병렬풀을시작합니다。풀이gpu를사용할수있는경우,고유한gpu를갖는워커만계산을수행합니다。풀에gpu가없는경우,대신사용가능한모든CPU워커에서계산이이루어집니다。

서로다른실행환경을사용해야하는경우에대한자세한내용은并行、gpu和云中扩展深度学习항목을참조하십시오。

“图形”“multi-gpu”“平行”옵션을사용하려면并行计算工具箱가필cmc합니다。딥러닝을위해gpu를사용하려면지원되는gpu장치도필uc합니다。지원되는장치에대한자세한내용은릴리스별gpu지원(并行计算工具箱)항목을참조하십시오。이러한옵션중하나를선택했는데并行计算工具箱또는적당GPU한가없는경우,오류가반환됩니다。

ExecutionEnvironment“multi-gpu”또는“平行”로설정하여순환계층이있는신경망으로병렬로예측을수행하려면,SequenceLength옵션은“最短”또는“最长”여야합니다。

状态파라미터를포함하는사용자지정계층이있는신경망은병렬예측수행을지원하지않습니다。

출력marketing수

모두 축소

신경망계층의활성화결과로,숫자형배열또는숫자형배열로구성된셀형배열로반환됩니다。行为의형식은입력데이터의유형,계층출력값의유형및지정된OutputAs옵션에따라달라집니다。

상출력값또는접힌시퀀스출력값

계층이상또는접힌시퀀스데이터를출력하는경우行为는숫자형배열입니다。

OutputAs 行为
“通道”

2차원상출력값에대해,行为는h×w×c×n배열입니다。여기서h, w c는선택한계층출력값의높이,너비,채널개수이고,n은영상개수입니다。이 경우法》(::,:,我)번째상에대한활성화결과를포함합니다。

3차원상출력값에대해,行为는h×w×d×c×n배열입니다。여기서h, w、d、c는각각선택한계층출력값의높이,너비,깊이,채널개수이고,n은영상개수입니다。이 경우法案(::,:,:,我)번째상에대한활성화결과를포함합니다。

접힌2차원상시퀀스출력값에대해,行为는h×w×c×(n*s)배열입니다。여기서h, w c는각각선택한계층출력값의높이,너비,채널개수이고,n은시퀀스개수이고,年代는시퀀스길이입니다。이 경우法》(:,:,:,(t - 1) * n + k)k번째시퀀스의시간스텝t에대한활성화결과를포함합니다。

접힌3차원상시퀀스출력값에대해,行为는h×w×d×c×(n*s)배열입니다。여기서h, w、d、c는각각선택한계층출력값의높이,너비,깊이,채널개수이고,n은시퀀스개수이고,年代는시퀀스길이입니다。이 경우行为 (:,:,:,:,( t - 1) * n + k)k번째시퀀스의시간스텝t에대한활성화결과를포함합니다。

“行”

2차원및3차원상출력값에대해,行为는n×m행렬입니다。여기서n은rm상의개수이고,은계층의출력값소개수입니다。이 경우法案(我,:)번째상에대한활성화결과를포함합니다。

접힌2차원및3차원상시퀀스출력값에대해,行为는(n*s)×m행렬입니다。여기서n은시퀀스개수이고,s는시퀀스길이이고,은계층의출력값소개수입니다。이 경우法》((t - 1) * n + k,:)k번째시퀀스의시간스텝t에대한활성화결과를포함합니다。

“列”

2차원및3차원상출력값에대해,行为는m×n행렬입니다。여기서m은선택한계층의출력값소개수이고,n은상의개수입니다。이 경우法》(:,我)번째상에대한활성화결과를포함합니다。

접힌2차원및3차원상시퀀스출력값에대해,行为는m×(n*s)행렬입니다。여기서m은선택한계층의출력값요소개수이고,n은시퀀스개수이고,年代는시퀀스길이입니다。이 경우法案(:,(t - 1) * n + k)k번째시퀀스의시간스텝t에대한활성화결과를포함합니다。

시퀀스출력값

에시퀀스출력값이있는경우(예:출력모드가“序列”nlstm계층),行为는셀형배열입니다。이 경우“OutputAs”옵션은“通道”여야합니다。

OutputAs 行为
“通道”

벡터시퀀스출력에대해,行为는c×s행렬로구성된n×1셀형배열입니다。여기서n은시퀀스개수이고,c는시퀀스에있는특징의개수이고,年代는시퀀스길이입니다。

2차원상시퀀스출력에대해,行为는h×w×c×s행렬로구성된n×1셀형배열입니다。여기서n은시퀀스개수이고,h, w c는각각영상의높이,너비,채널개수이고,年代는시퀀스길이입니다。

3차원상시퀀스출력에대해,行为는h×w×c×d×s행렬로구성된n×1셀형배열입니다。여기서n은시퀀스개수이고,h, w, d c는각각영상의높이,너비,깊이,채널개수이고,年代는시퀀스길이입니다。

위의 경우行为{我}번째시퀀스에대한활성화결과를포함합니다。

특징벡터및단일시간스텝출력값

가특징벡터또는시퀀스의단일시간스텝을출력하는경우(예:출력모드가“最后一次”nlstm계층),行为는숫자형배열입니다。

OutputAs 行为
“通道”

특징벡터또는벡터데이터를포함하는단일시간스텝에대해,行为는c×n행렬입니다。여기서n은관측값개수이고,c는특징의개수입니다。

2차원상데이터를포함하는단일시간스텝에대해,行为는h×w×c×n배열입니다。여기서n은시퀀스개수이고,h, w c는각각영상의높이,너비,채널개수입니다。

3차원상데이터를포함하는단일시간스텝에대해,行为는h×w×c×d×n배열입니다。여기서n은시퀀스개수이고,h, w, d c는각각영상의높이,너비,깊이,채널개수입니다。

“行” N×m행렬로,여기서n은관측값의개수이고은선택한계층의출력값소개수입니다。이 경우法案(我,:)번째시퀀스에대한활성화결과를포함합니다。
“列” m×n행렬로,여기서m은선택한계층의출력값요소개수이고n은관측값의개수입니다。이 경우法》(:,我)번째상에대한활성화결과를포함합니다。

알고리즘

trainNetwork함수를사용하여신경망을훈련시키거나DAGNetwork객체 및SeriesNetwork객체와함께예측함수또는검증함수를사용할때소프트웨어는단정밀도부동소수점연산방식을사용하여이러한계산을수행합니다。훈련,예측및검을위한함수는trainNetwork预测分类激活등이있습니다。CPU와GPU를모두사용하여신경망을훈련시키는경우,단정밀도연산방식이사용됩니다。

참고 문헌

[1]工藤,美一,富山俊,新保真。“使用穿过区域的多维曲线分类”模式识别信20,没有。11-13(1999年11月):1103-11。https://doi.org/10.1016/s0167 - 8655 (99) 00077 - x

[2] UCI机器学习库:日语元音数据集。https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels

확장 기능

버전 내역

R2016a에개발됨

모두 확장