주요 콘텐츠

assembleNetwork

(권장되지 않음) 사전 훈련된 계층으로부터 딥러닝 신경망 조합

assembleNetwork 함수는 권장되지 않습니다. 대신 dlnetwork 객체를 사용하십시오. 자세한 내용은 버전 내역 항목을 참조하십시오.

신경망을 처음부터 훈련시키려면 trainnet 함수를 사용하십시오.

설명

assembledNet = assembleNetwork(layers)는 계층 배열 또는 계층 그래프 layers를 예측에 사용할 준비가 된 딥러닝 신경망으로 조합합니다.

예제

예제

모두 축소

훈련 없이 사전 훈련된 계층으로부터 신경망을 조합합니다.

간단한 LSTM 신경망을 정의합니다.

numChannels = 3;
numHiddenUnits = 100;
numClasses = 10;

layers = [
    sequenceInputLayer(numChannels)
    lstmLayer(numHiddenUnits,OutputMode="last")
    fullyConnectedLayer(numClasses)
    softmaxLayer
    classificationLayer];

신경망의 학습 가능한 계층에 대해, 학습 가능 파라미터에 해당하는 속성을 직접 설정합니다. MAT 파일 같은 외부 소스에서 파라미터를 가져오거나 불러올 수 있습니다. 이 예제에서는 설명을 위해 학습 가능한 파라미터를 임의의 값으로 설정합니다.

layers(2).InputWeights = rand(4*numHiddenUnits,numChannels);
layers(2).RecurrentWeights = rand(4*numHiddenUnits,numHiddenUnits);
layers(2).Bias = rand(4*numHiddenUnits,1);

layers(3).Weights = rand(numClasses,numHiddenUnits);
layers(3).Bias = rand(numClasses,1);

분류 출력 계층의 Classes 속성을 설정합니다.

classNames = string(1:10);
layers(5).Classes = classNames;

assembleNetwork 함수를 사용하여 신경망을 조합합니다. 출력 신경망은 예측을 실행할 준비가 된 SeriesNetwork 객체입니다.

net = assembleNetwork(layers)
net = 

  SeriesNetwork with properties:

         Layers: [5×1 nnet.cnn.layer.Layer]
     InputNames: {'sequenceinput'}
    OutputNames: {'classoutput'}

입력 인수

모두 축소

신경망 계층으로, Layer 배열 또는 LayerGraph 객체로 지정됩니다.

모든 계층이 순차적으로 연결된 신경망을 만들려면 입력 인수로 Layer 배열을 사용하면 됩니다. 이 경우, 반환되는 신경망은 SeriesNetwork 객체입니다.

유방향 비순환 그래프(DAG) 신경망은 계층이 여러 개의 입력과 출력을 가질 수 있는 복잡한 구조를 갖습니다. DAG 신경망을 만들려면 신경망 아키텍처를 LayerGraph 객체로 지정한 다음 해당 계층 그래프를 assembleNetwork에 대한 입력 인수로 사용하십시오.

assembleNetwork 함수는 최대 한 개의 시퀀스 입력 계층을 갖는 신경망을 지원합니다.

내장 계층 목록은 딥러닝 계층 목록 항목을 참조하십시오.

출력 인수

모두 축소

예측을 실행할 준비가 된 조합된 신경망으로, SeriesNetwork 객체 또는 DAGNetwork 객체로 반환됩니다. 반환되는 신경망은 layers 입력 인수에 따라 다릅니다.

  • layersLayer 배열인 경우, assembledNetSeriesNetwork 객체가 됩니다.

  • layersLayerGraph 객체인 경우, assembledNetDAGNetwork 객체가 됩니다.

버전 내역

R2018b에 개발됨

모두 축소