이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
激活
딥러닝 신경망 계층 활성화 계산
구문
설명
CPU 또는 GPU에서 딥러닝 신경망 계층 활성화를 계산할 수 있습니다.GPU를사용하려면并行计算工具箱™와지원되는gpu장치가필요필요。지원되는장치에대한자세한내용은릴리스별 GPU 지원(Parallel Computing Toolbox)항목을참조하십시오。하드웨어 요구 사항은ExecutionEnvironment
이름-값 쌍 인수를 사용하여 지정하십시오.
는 하나 이상의 이름-값 쌍 인수로 지정된 추가 옵션을 사용하여 신경망 활성화 결과를 반환합니다. 예를 들어,act
= activations(___,Name,Value
)'outputas','行'
는 활성화 출력 형식을'rows'
로 지정합니다. 이름-값 쌍 인수는 다른 모든 입력 인수 다음에 지정하십시오.
예제
SqueezeNet을 사용하여 특징 추출하기
이예제에서는사전훈련훈련컨벌루션신경망학습학습영상을추출추출다음추출특징사용하여하여영상분류기훈련시키는방법을보여분류기를시키는방법을보여보여특징 추출은 사전 훈련된 심층 신경망의 강력한 표현 기능을 가장 쉽고 빠르게 사용하는 방법입니다.예를들어,추출된특징에대해Fitcecoc.
(Statistics and Machine Learning Toolbox™)를 사용하여 서포트 벡터 머신(SVM)을 훈련시킬 수 있습니다. 특징 추출은 데이터를 한 번만 통과하면 되기 때문에 신경망 훈련을 가속할 GPU가 없을 때 시도할 수 있는 좋은 출발점이 됩니다.
데이터 불러오기
샘플 영상의 압축을 풀고 영상 데이터저장소로서 불러옵니다.imageDatastore
는 폴더 이름을 기준으로 영상에 자동으로 레이블을 지정하고 데이터를ImageDatastore
객체로저장합니다。영상이터저장소를사용하면하면메모리에담을수없는터를포함하여다량다량영상영상터를저장저장수수아이터를를데이터70%와테스트데이터30%로분할합니다。
unzip('MerchData.zip');imds = imageDatastore('MerchData',...'upplyubfolders',true,...'labelsource','foldernames');[imdsTrain,imdsTest] = splitEachLabel(imds,0.7,'随机');
이 매우 작은 데이터 세트에는 이제 55개의 훈련 영상과 20개의 검증 영상이 있습니다. 샘플 영상 몇 개를 표시합니다.
numImagesTrain = numel(imdsTrain.Labels); idx = randperm(numImagesTrain,16); I = imtile(imds,'Frames', idx); figure imshow(I)
사전 훈련된 신경망 불러오기
사전전훈련挤压Zenet신경망을불러옵니다。1백만개가넘는영상에대해훈련된挤压仪은영상을키보드,마우스,연필,각종동물등1,000가지사물범주로범주로분류수수수수수그 결과 이 모델은 다양한 영상을 대표하는 다양한 특징을 학습했습니다.
网= squeezenet;
신경망아키텍처를분석합니다。
分析(网)
첫번째계층인영상입력계층에입력되는영상은크기가227×227×3이어야합니다。여기서3은색채널의개수개수。
InputSize =.网.Layers(1).InputSize
InputSize =.1×3227 227 3
영상특징추출하기
신경망은 입력 영상에 대한 계층 표현을 생성합니다. 보다 심층의 계층에는 앞쪽 계층의 하위 수준 특징을 사용하여 생성한 상위 수준의 특징이 포함됩니다. 훈련 영상과 테스트 영상의 특징 표현을 가져오려면 전역 평균값 풀링 계층'池10'
에서激活
를사용하십시오. 영상의 하위 수준 표현을 가져오려면 신경망의 앞쪽 계층을 사용하십시오.
이 신경망의 입력 영상은 크기가 227×227×3이 되어야 하는데 영상 데이터저장소의 영상은 이와 다른 크기를 갖습니다. 신경망에 입력하기 전에 훈련 영상과 테스트 영상의 크기를 자동으로 조정하려면 증대 영상 데이터저장소를 만들고 원하는 영상 크기를 지정한 다음 이러한 데이터저장소를激活
에 대한 입력 인수로 사용하십시오.
augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain); augimdsTest = augmentedImageDatastore(inputSize(1:2),imdsTest); layer ='池10'; featuresTrain = activations(net,augimdsTrain,layer,'outputas','rows');featuresTest = activations(net,augimdsTest,layer,'outputas','rows');
훈련 데이터와 테스트 데이터로부터 클래스 레이블을 추출합니다.
YTrain = imdsTrain.Labels; YTest = imdsTest.Labels;
영상 분류기 피팅하기
훈련 영상으로부터 추출한 특징을 예측 변수로 사용하고Fitcecoc.
(统计和机器学习工具箱)를사용하여다중클래스서포트(svm)을피팅합니다。
mdl = fitcecoc(featuresTrain,YTrain);
테스트영상분류하기
훈련된SVM모델과테스트영상으로부터추출한특징을사용하여테스트영상을분류합니다。
YPred = predict(mdl,featuresTest);
4개의샘플테스트영상을된레이블레레표시합니다。
Idx = [1 5 10 15];数字fori = 1:numel(idx) subplot(2,2,i) I = readimage(imdsTest,idx(i)); label = YPred(idx(i)); imshow(I) title(label)end
테스트세트에대한분류정확도를계산합니다。정확도는이올바르게올바르게하는레이블의의비율。
精度=意味着(YPred = =次)
accuracy = 1
이 SVM은 높은 정확도를 갖습니다. 특징 추출을 사용했을 때의 정확도가 충분히 높지 않다면 그 대신 전이 학습을 사용해 보십시오.
입력인수
网
—훈련된신경망
SeriesNetwork
객체|DAGNetwork
객체
훈련된신경망으로,SeriesNetwork
또는DAGNetwork
객체로 지정됩니다. 사전 훈련된 신경망을 가져오거나(예:googlenet
함수사용)trainNetwork
를사용하여하여자신만의고유한신경망을훈련시켜된신경망을을얻을수
imds
—영상 데이터저장소
ImageDatastore
객체
영상 데이터저장소로,ImageDatastore
객체로 지정됩니다.
ImageDatastore
는 프리페치 작업을 사용한 JPG 또는 PNG 영상 파일의 배치 읽기를 허용합니다.영상읽기를위해사용자지정함수사용하는하는,ImageDatastore
는 프리페치를 수행하지 않습니다.
팁
딥러닝딥러닝을위해영상을을효율적으로전처리(영상영상조정포함)augmentedImageDatastore
를사용하십시오.
imageDatastore
의readfcn.
옵션은 일반적으로 상당히 느리므로 전처리나 크기 조정을 위해 사용하지 마십시오.
ds
—데이터저장소
데이터저장소
메모리에 담을 수 없는 큰 데이터 및 전처리를 위한 데이터저장소. 데이터저장소는 데이터를 테이블 또는 셀형 배열로 반환해야 합니다. 데이터저장소 출력값의 형식은 신경망 아키텍처에 따라 달라집니다.
신경망 아키텍처 | 데이터저장소 출력값 | 출력값의 예 |
---|---|---|
단일 입력값 | 테이블 또는 셀형 배열로, 여기서 첫 번째 열은 예측 변수를 지정합니다. 테이블 요소는 스칼라 또는 행 벡터이거나 숫자형 배열을 포함하는 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} |
||
다중 입력값 | 열열付款 처음 입력값의순서는신경망의 |
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차원영상 | h×w×c 숫자형 배열로, 여기서 h, w, c는 각각 영상의 높이, 너비, 채널 개수입니다. |
3차원 영상 | h×w×d×c 숫자형 배열로, 여기서 h, w, d, c는 각각 영상의 높이, 너비, 깊이, 채널 개수입니다. |
벡터 시퀀스 | c×s 행렬로, 여기서 c는 시퀀스의 특징 개수이고, s는 시퀀스 길이입니다. |
1차원영상시퀀스 | H×C×S배열로,여기서h,c는는영상의이와채널채널이고,s는시퀀스길이입니다。 미니 배치의 각 시퀀스는 시퀀스 길이가 같아야 합니다. |
2차원영상시퀀스 | H×W×C×S배열로,여기서H,W,C는는영상의이,너비,채널개수이고,s는시퀀스길이입니다。 미니 배치의 각 시퀀스는 시퀀스 길이가 같아야 합니다. |
3차원 영상 시퀀스 | h×w×d×c×s 배열로, 여기서 h, w, d, c는 각각 영상의 높이, 너비, 깊이, 채널 개수이고, s는 시퀀스 길이입니다. 미니 배치의 각 시퀀스는 시퀀스 길이가 같아야 합니다. |
특징 | c×1 열 벡터로, 여기서 c는 특징의 개수입니다. |
자세한 내용은Datastores for Deep Learning항목을참조하십시오。
X
—영상데이터또는특징데이터
숫자형 배열
영상데이터또는특징데이터로, 숫자형 배열로 지정됩니다. 배열의 크기는 입력값의 유형에 따라 달라집니다.
입력 | 설명 |
---|---|
2차원영상 | h×w×c×N 숫자형 배열로, 여기서 h, w, c는 각각 영상의 높이, 너비, 채널 개수이고 N은 영상 개수입니다. |
3차원 영상 | h×w×d×c×N 숫자형 배열로, 여기서 h, w, d, c는 각각 영상의 높이, 너비, 깊이, 채널 개수이고 N은 영상 개수입니다. |
특징 | N×numFeatures 숫자형배열,여기여기n은관측값개수이고,numFeatures 는 입력 데이터의 특징의 개수입니다. |
배열에NaN
이포함되어되어있는,이값이신경망끝까지전파됩니다。
여러 개의 입력값을 갖는 신경망의 경우, 여러 개의 배열X1
,......,XN
을 지정할 수 있습니다. 여기서N
은 신경망 입력값의 개수이고, 입력값Xi
는신경망입력값net.inputnames(i)
에대응됩니다。
영상 입력값의 경우,'outputas'
옵션이'channels'
이면 입력 데이터X
의 영상은 신경망의 영상 입력 계층의 입력 크기보다 클 수 있습니다. 그 밖의 다른 출력 형식의 경우에는X
의 영상 크기가 신경망의 영상 입력 계층의 입력 크기와 같아야 합니다.
序列
—시퀀스 또는 시계열 데이터
숫자형 시퀀스로 구성된 셀형 배열|숫자형 배열|데이터저장소
시퀀스 또는 시계열 데이터로, 숫자형 배열로 구성된 N×1 셀형 배열, 단일 시퀀스를 나타내는 숫자형 배열 또는 데이터저장소로 지정됩니다. 여기서 N은 관측값 개수입니다.
셀형 배열 또는 숫자형 배열 입력값에 대해, 시퀀스를 포함하는 숫자형 배열의 차원은 데이터 유형에 따라 달라집니다.
입력 | 설명 |
---|---|
벡터 시퀀스 | c×s 행렬. 여기서 c는 시퀀스의 특징 개수이고 s는 시퀀스 길이입니다. |
1차원영상시퀀스 | H×C×S배열。여기서h,c는는영상의의이,채널개수이고s는시퀀스시퀀스이입니다 |
2차원영상시퀀스 | h×w×c×s 배열. 여기서 h, w, c는 영상의 높이, 너비, 채널 개수이고 s는 시퀀스 길이입니다. |
3차원 영상 시퀀스 | h×w×d×c×s 배열. 여기서 h, w, d, c는 3차원 영상의 높이, 너비, 깊이, 채널 개수이고 s는 시퀀스 길이입니다. |
데이터저장소 입력값의 경우, 데이터저장소는 데이터를 시퀀스로 구성된 셀형 배열 또는 첫 번째 열이 시퀀스를 포함하는 테이블로 반환해야 합니다. 시퀀스 데이터의 차원은 위 표와 같아야 합니다.
tbl
—영상데이터또는특징데이터로 구성된 테이블
桌子
영상데이터또는특징데이터로 구성된 테이블. 테이블의 각 행은 관측값 하나에 대응됩니다.
테이블 열에서 예측 변수의 배치되는 방식은 입력 데이터의 유형에 따라 달라집니다.
입력 | 예측변수 |
---|---|
영상 데이터 |
예측변수는 단일 열에 지정하십시오. |
특징 데이터 | 숫자형 스칼라. 예측변수를테이블의 처음 |
이 인수는 입력값이 하나만 있는 신경망을 지원합니다.
데이터형:桌子
layer
—활성화 결과를 추출할 계층
숫자형 인덱스|문자형 벡터
활성화 결과를 추출할 계층으로, 숫자형 인덱스 또는 문자형 벡터로 지정됩니다.
SeriesNetwork
객체의 활성화 결과를 구하려면 layer를 숫자형 인덱스로 지정하거나 계층 이름에 해당하는 문자형 벡터로 지정하십시오.
DAGNetwork
객체의 활성화 결과를 구하려면 layer를 계층 이름에 해당하는 문자형 벡터로 지정하십시오. 계층에 여러 개의 출력값이 있다면 계층 이름을 지정하고, 문자 “/”를 입력하고, 이어서 계층 출력값의 이름을 지정하여 계층과 출력값을 지정합니다. 즉,layer
를'layerName/outputName'
과 같은 형식으로 지정합니다.
예:3
예:'conv1'
예:'mpool/out'
이름 - 값값
예:激活(net,x,图层,'outputas','行')
선택적으로Name,Value
인수가 쉼표로 구분되어 지정됩니다. 여기서Name
은인수이름이고价值
는대응값입니다。Name
은 따옴표 안에 표시해야 합니다.Name1,Value1,...,NameN,ValueN
과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.
outputas.
—활성화결과출력형식
'channels'
(디폴트 값) |'rows'
|'columns'
小匹匹匹匹配
—미니배치의크기
128(디폴트 값) |양의정수
예측에 사용할 미니 배치의 크기로, 양의 정수로 지정됩니다. 미니 배치가 클수록 메모리가 더 많이 필요하지만 예측 속도는 빨라질 수 있습니다.
예:'MiniBatchSize',256
Sequencelength.
—입력시퀀스를 채우거나 자르거나 분할하는 옵션
'longest'
(디폴트 값) |'shortest'
|양의정수
입력시퀀스를 채우거나 자르거나 분할하는 옵션으로, 다음 중 하나로 지정됩니다.
'longest'
- 각미니배치의시퀀스가가장긴시퀀스와이같아지도록채웁니다。이옵션은채우기로인해신경망에이포함되더라도데이터를를버리지。'shortest'
- 각미니배치의시퀀스가가장짧은시퀀스와이같아지도록자릅니다。이옵션은데이터를버리게되더라도채우기를가하지하지。양의정수 - 각미니배치에대해,미니미니가장긴시퀀스이보다큰지정된길이의가장가까운길로시퀀스를채운,지정다음에에갖는작은의시퀀스로분할합니다시퀀스로합니다합니다분할합니다합니다합니다분할분할분할분할분할분할분할분할이이루어지면소프트웨어가미니배치를가로만듭니다。전체전체가메모리메모리맞지않으면이옵션을照片하십시오。또는
'MiniBatchSize'
옵션을 더 낮은 값으로 설정하여 미니 배치당 시퀀스 개수를 줄여 보십시오.
입력시퀀스 채우기, 자르기, 분할의 효과에 대한 자세한 정보는시퀀스채우기,자르기및분할항목을참조하십시오。
예:'seameLength','shortest'
SequencePaddingValue
—입력시퀀스에채울값
0(디폴트 값) |스칼라
입력시퀀스에채울값으로, 스칼라로 지정됩니다. 이 옵션은Sequencelength.
가'longest'
또는양의정수인 경우에만 유효합니다. 시퀀스를NaN
으로 채우면 신경망 전체로 오류가 전파될 수 있으므로 유의하십시오.
예:'SequencePaddingValue',-1
SequencePaddingDirection
—채우기 또는 자르기 방향
'right'
(디폴트 값) |'剩下'
채우기채우기또는자르기방향,다음중하나로됩니다。
'right'
- 시퀀스들을오른쪽에서채우거나자릅니다。시퀀스들은 동일한 시간 스텝에서 시작하며 소프트웨어가 시퀀스들의 끝 부분에서 자르기나 채우기를 수행합니다.'剩下'
— 시퀀스들을 왼쪽에서 채우거나 자릅니다. 시퀀스들이 동일한 시간 스텝에서 끝나도록 소프트웨어가 시퀀스들의 시작 부분에서 자르기나 채우기를 수행합니다.
LSTM계층은시퀀스데이터를를한번에에하나시간스텝씩처리하기때문때문계층계층계층OutputMode
속성이'last'
인 경우 마지막 시간 스텝에서의 채우기가 계층 출력에 부정적인 영향을 줄 수 있습니다.시퀀스데이터를를왼쪽왼쪽에서채우거나'SequencePaddingDirection'
옵션을'剩下'
로 설정하십시오.
sequence-to-sequence 신경망의 경우(각 LSTM 계층의OutputMode
속성이'sequence'
인 경우), 첫 시간 스텝들에서의 채우기가 앞쪽에 있는 시간 스텝들의 예측에 부정적인 영향을 줄 수 있습니다. 시퀀스 데이터를 오른쪽에서 채우거나 자르려면'SequencePaddingDirection'
옵션을'right'
로 설정하십시오.
입력시퀀스 채우기, 자르기, 분할의 효과에 대한 자세한 정보는시퀀스채우기,자르기및분할항목을참조하십시오。
加速
—성능최적화
'auto'
(디폴트 값) |'mex'
|'none'
성능최적화로,'Acceleration'
과 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.
'auto'
— 입력 신경망 및 하드웨어 리소스에 적합한 여러 최적화를 자동으로 적용합니다.'mex'
— MEX 함수를 컴파일하고 실행합니다. 이 옵션은 GPU를 사용하는 경우에만 사용할 수 있습니다.GPU를사용하려면并行计算工具箱와지원되는gpu장치가필요필요。지원되는장치에대한자세한내용은릴리스별 GPU 지원(Parallel Computing Toolbox)항목을참조하십시오。Parallel Computing Toolbox 또는 적당한 GPU를 사용할 수 없는 경우, 오류가 반환됩니다.'none'
— 모든 가속을 비활성화합니다.
디폴트 옵션은'auto'
입니다。'auto'
가지정된 경우 MATLAB®은 호환되는 여러 최적화를 적용합니다.'auto'
옵션을사용할할matlab은은mex함수를생성하지않습니다않습니다않습니다않습니다않습니다하지하지
'Acceleration'
옵션'auto'
와'mex'
를사용하면 성능이 향상될 수 있는 대신 초기 실행 시간이 늘어납니다. 호환되는 파라미터를 사용한 후속 호출은 더 빨리 실행됩니다. 성능 최적화는 새 입력 데이터를 사용하여 함수를 여러 번 호출해야 하는 경우에 사용하십시오.
'mex'
옵션은 신경망과 함수 호출에서 사용된 파라미터에 따라 MEX 함수를 생성하고 실행합니다. 단일 신경망에 한 번에 여러 개의 MEX 함수가 연결되어 있을 수 있습니다. 신경망 변수를 지우면 해당 신경망에 연결된 모든 MEX 함수도 지워집니다.
'mex'
옵션은 GPU를 사용하는 경우에만 사용할 수 있습니다. MEX 가속은 이름-값 옵션'刽子手evironment','gpu'
만 사용하여 단일 GPU 실행을 지원합니다.
'mex'
옵션을 사용하려면 C/C++ 컴파일러가 설치되어 있어야 하며 GPU Coder™ Interface for Deep Learning Libraries 지원 패키지가 필요합니다. MATLAB의 애드온 탐색기를 사용하여 지원 패키지를 설치하십시오. 설정 지침은MEX设置(GPU编码器)항목을참조하십시오。GPU编码器는는하지않습니다。
'mex'
옵션은모든계층을지원하지않습니다않습니다。지원되는계층목록은Supported Layers(GPU编码器)항목을참조하십시오。imageInputLayer
를갖는신경망만지원됩니다。
'mex'
옵션을 사용할 때는Matlab Compiler™를사용하여 신경망을 배포할 수 없습니다.
예:'Acceleration','mex'
ExecutionEnvironment
—하드웨어리소스
'auto'
(디폴트 값) |'gpu'
|'cpu'
|'multi-gpu'
|'parallel'
하드웨어리소스로,'ExecutionEnvironment'
와와다음중하나가쉼표로구분되어지정됩니다。
'auto'
— GPU를 사용할 수 있으면 GPU를 사용하고 그렇지 않으면 CPU를 사용합니다.'gpu'
— GPU를 사용합니다.GPU를사용하려면并行计算工具箱와지원되는gpu장치가필요필요。지원되는장치에대한자세한내용은릴리스별 GPU 지원(Parallel Computing Toolbox)항목을참조하십시오。Parallel Computing Toolbox 또는 적당한 GPU를 사용할 수 없는 경우, 오류가 반환됩니다.'cpu'
— CPU를 사용합니다.'multi-gpu'
- 디폴트클러스터프로파일에따라따라풀을사용하여하여컴퓨터컴퓨터대에서여러개gpu를사용합니다기존 병렬 풀이 없는 경우 소프트웨어는 사용 가능한 GPU의 개수와 동일한 풀 크기로 병렬 풀을 시작합니다.'parallel'
— 디폴트 클러스터 프로파일에 따라 로컬 또는 원격 병렬 풀을 사용합니다. 기존 병렬 풀이 없는 경우 소프트웨어는 디폴트 클러스터 프로파일을 사용하여 병렬 풀을 시작합니다. 풀이 GPU를 사용할 수 있는 경우, 고유한 GPU를 갖는 워커만 계산을 수행합니다. 풀에 GPU가 없는 경우, 대신 사용 가능한 모든 CPU 워커에서 계산이 이루어집니다.
서로 다른 실행 환경을 사용해야 하는 경우에 대한 자세한 내용은Scale Up Deep Learning in Parallel, on GPUs, and in the Cloud항목을참조하십시오。
'gpu'
옵션,'multi-gpu'
옵션,'parallel'
옵션을 사용하려면 Parallel Computing Toolbox가 필요합니다.딥러닝을 위해 GPU를 사용하려면 지원되는 GPU 장치도 필요합니다. 지원되는 장치에 대한 자세한 내용은릴리스별 GPU 지원(Parallel Computing Toolbox)항목을참조하십시오。이러한옵션옵션중하나를를并行计算工具箱또는적당한gpu가없는경우,오류가반환됩니다。
'multi-gpu'
및'parallel'
옵션은lstmLayer
객체,Bilstmlayer.
객체또는gruLayer
객체객체를포함하는순환(RNN)을을하지않습니다。
예:'ExecutionEnvironment','cpu'
출력 인수
act
- 신경망계층의활성화결과
숫자형 배열 | 셀형 배열
신경망 계층의 활성화 결과로, 숫자형 배열 또는 숫자형 배열로 구성된 셀형 배열로 반환됩니다.act
의 형식은 입력 데이터의 유형, 계층 출력값의 유형 및'outputas'
옵션에 따라 달라집니다.
영상출력값또는접힌시퀀스출력값
계층이 영상 또는 접힌 시퀀스 데이터를 출력하는 경우act
는 숫자형 배열입니다.
'outputas' |
act |
---|---|
'channels' |
2차원영상출력값에대해, 3차원 영상 출력값에 대해, 접힌2차원영상시퀀스출력값에대해대해대해, 접힌3차원영상시퀀스출력값에대해, |
'rows' |
2차원및3차원영상출력값대해대해대해대해, 접힌 2차원 및 3차원 영상 시퀀스 출력값에 대해, |
'columns' |
2차원및3차원영상출력값대해대해대해대해, 접힌 2차원 및 3차원 영상 시퀀스 출력값에 대해, |
시퀀스출력값
layer
에 시퀀스 출력값이 있는 경우(예: 출력 모드가'sequence'
인lstm계층),act
는셀형배열입니다。이경우.'outputas'
옵션은'channels'
여야합니다。
'outputas' |
act |
---|---|
'channels' |
벡터 시퀀스 출력에 대해, 2차원영상시퀀스 출력에 대해, 3차원 영상 시퀀스 출력에 대해, 위의 경우 |
단일 시간 스텝 출력값
layer
가시퀀스시퀀스의단일단일시간스텝스텝출력하는(예:출력출력가'last'
인lstm계층),act
는 숫자형 배열입니다.
'outputas' |
act |
---|---|
'channels' |
벡터 데이터를 포함하는 단일 시간 스텝에 대해, 2차원영상데이터를를포함하는단일시간스텝스텝에대해대해에에 3차원영상데이터를를포함하는단일단일시간스텝에, |
'rows' |
n×m 행렬로, 여기서 n은 관측값의 개수이고m 은 선택한 계층의 출력값 요소 개수입니다. 이 경우act(i,:) 는i 번째 시퀀스에 대한 활성화 결과를 포함합니다. |
'columns' |
m×n 행렬로, 여기서 m은 선택한 계층의 출력값 요소 개수이고 n은 관측값의 개수입니다. 이 경우act(:,i) 는i 번째 영상에 대한 활성화 결과를 포함합니다. |
알고리즘
trainNetwork
함수를사용하여 신경망을 훈련시키거나DAGNetwork
객체 및SeriesNetwork
객체와 함께 예측 함수 또는 검증 함수를 사용할 때 소프트웨어는 단정밀도 부동소수점 연산방식을 사용하여 이러한 계산을 수행합니다.훈련,예측예측및검증검증을위한함수trainNetwork
,预测
,classify
,激活
등이 있습니다. CPU와 GPU를 모두 사용하여 신경망을 훈련시키는 경우, 단정밀도 연산방식이 사용됩니다.
참고문헌
[1] M. Kudo, J. Toyama, and M. Shimbo. "Multidimensional Curve Classification Using Passing-Through Regions." Pattern Recognition Letters. Vol. 20, No. 11–13, pages 1103–1111.
[2] UCI Machine Learning Repository: Japanese Vowels Dataset. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
확장 기능
C / C ++코드코드
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
C ++코드생성시에같은구문이지원지원。
act = activations(net,X,layer)
ACT =激活(网络,序列,层)
动作=激活(__,名称,值)
입력값
X
는 가변 크기를 가질 수 없습니다. 입력값의 크기는 코드 생성 시점에 고정되어야 합니다.벡터시퀀스입력값의경우,코드생성시에특징의개수가상수여야합니다。시퀀스길이는가변 크기일 수 있습니다.
영상 시퀀스 입력값의 경우, 코드 생성 시에 높이, 너비, 채널 개수가 상수여야 합니다.
코드 생성 시에
layer
인수는 상수여야 합니다.코드 생성 시에는
'outputas'
,'MiniBatchSize'
,'seameLength'
,'SequencePaddingDirection'
및'SequencePaddingValue'
이름-값 쌍 인수만 지원됩니다. 모든 이름-값 쌍은 컴파일타임 상수여야 합니다.활성화결과출력형식은
'channels'
여야합니다。코드 생성 시에는
'seameLength'
이름 - 값쌍의'longest'
및'shortest'
옵션만 지원됩니다.Intel®MKL-DNN 대상에 대한 코드 생성 시
'seameLength','longest'
,'SequencePaddingDirection','left'
및'SequencePaddingValue',0
이름 - 값값의 조합은 지원되지 않습니다.
딥러닝딥러닝신경망을위해위해코드를생성하는방법에대한자세한내용내용내용Workflow for Deep Learning Code Generation with MATLAB Coder(MATLAB Coder)항목을참조하십시오。
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
GPU코드생성시에 다음과 같은 구문이 지원됩니다.
act = activations(net,X,layer)
ACT =激活(网络,序列,层)
动作=激活(__,名称,值)
입력값
X
는 가변 크기를 가질 수 없습니다. 입력값의 크기는 코드 생성 시점에 고정되어야 합니다.GPU코드생성시
gpuArray
입력값은激活
함수에서지원되지않습니다。cuDNN 라이브러리는 벡터와 2차원 영상 시퀀스를 지원합니다. TensorRT 라이브러리는 벡터 입력 시퀀스만 지원합니다. GPU용 ARM®
Compute Library
는 순환 신경망을 지원하지 않습니다.벡터시퀀스입력값의경우,코드생성시에특징의개수가상수여야합니다。시퀀스길이는가변 크기일 수 있습니다.
영상 시퀀스 입력값의 경우, 코드 생성 시에 높이, 너비, 채널 개수가 상수여야 합니다.
코드 생성 시에
layer
인수는 상수여야 합니다.코드 생성 시에는
'outputas'
,'MiniBatchSize'
,'seameLength'
,'SequencePaddingDirection'
및'SequencePaddingValue'
이름-값 쌍 인수만 지원됩니다. 모든 이름-값 쌍은 컴파일타임 상수여야 합니다.활성화결과출력형식은
'channels'
여야합니다。코드 생성 시에는
'seameLength'
이름 - 값쌍의'longest'
및'shortest'
옵션만 지원됩니다.激活
함수에 대한 GPU 코드 생성에서는 반정밀도 부동소수점 데이터형으로 정의된 입력값이 지원됩니다. 자세한 내용은一半
(GPU编码器)를참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
입력데이터가
gpuArray
,gpuArray
데이터를 포함하는 셀형 배열 또는 테이블, 또는gpuArray
데이터를 반환하는 데이터저장소인 경우"ExecutionEnvironment"
옵션은"auto"
또는"gpu"
여야합니다。
자세한 내용은GPU에서matlab함수실행하기(Parallel Computing Toolbox)항목을참조하십시오。
버전 내역
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
选择网站
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select:.
您还可以从以下列表中选择一个网站:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
美洲
- América Latina(Español)
- 加拿大(English)
- 美国(English)
欧洲
- Netherlands(English)
- 挪威(English)
- Österreich(德意志)
- Portugal(English)
- Sweden(English)
- 瑞士
- United Kingdom(English)