Main Content

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에 개발됨

모두 축소

R2024a: 권장되지 않음

assembleNetwork는 권장되지 않습니다. 대신 dlnetwork 객체를 사용하십시오.

assembleNetwork 함수는 SeriesNetworkDAGNetwork 객체를 반환하는데, 이는 권장되지 않습니다. assembleNetwork 함수에 대한 지원을 제거할 계획은 없습니다. 하지만 다음과 같은 이점이 있는 dlnetwork 객체가 대신 권장됩니다.

  • dlnetwork 객체는 신경망 구축, 예측, 기본 제공 훈련, 시각화, 압축, 검증 및 사용자 지정 훈련 루프를 지원하는 통합 데이터형입니다.

  • dlnetwork 객체는 외부 플랫폼에서 만들거나 가져올 수 있는 더 넓은 범위의 신경망 아키텍처를 지원합니다.

  • dlnetwork 객체는 trainnet 함수에서 지원되기 때문에 손실 함수를 쉽게 지정할 수 있습니다. 내장 손실 함수 중에서 선택하거나 사용자 지정 손실 함수를 지정할 수 있습니다.

  • 일반적으로 dlnetwork 객체를 사용한 훈련과 예측이 LayerGraphtrainNetwork를 사용하는 워크플로보다 더 빠릅니다.

dlnetwork 객체를 사용하도록 코드를 업데이트하려면 다음 옵션 중 하나를 사용하십시오.

권장되지 않음권장됨
계층 배열 또는 계층 그래프를 사용하여 SeriesNetwork 객체 또는 DAGNetwork 객체를 조합합니다.dlnetwork 객체를 직접 구축하고, 출력 계층은 포함시키지 않습니다. LayerGraph 객체를 지원하는 대부분의 함수는 dlnetwork 객체도 지원합니다. 이 신경망을 초기화하려면 initialize 함수를 사용하십시오.
importKerasLayers, importTensorFlowLayers 또는 importONNXLayers 함수에서 반환되는 신경망을 가져와 조합합니다.importNetworkFromTensorFlow 또는 importNetworkFromONNX 함수를 사용하여 신경망을 가져옵니다.