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'}
入力引数
layers
— ニューラル ネットワーク層
Layer
配列 | LayerGraph
オブジェクト
ニューラル ネットワーク層。Layer
配列または LayerGraph
オブジェクトとして指定します。
すべての層が順に結合されたニューラル ネットワークを作成する場合、Layer
配列を入力引数として使用できます。この場合、返されるニューラル ネットワークは、SeriesNetwork
オブジェクトになります。
有向非循環グラフ (DAG) ニューラル ネットワークは複雑な構造を持ち、層は複数の入出力を持てます。DAG ニューラル ネットワークを作成するには、ニューラル ネットワーク アーキテクチャを LayerGraph
オブジェクトとして指定して、その層グラフを assembleNetwork
の入力引数として使用します。
関数 assembleNetwork
は、最大で 1 つのシーケンス入力層をもつニューラル ネットワークをサポートします。
組み込み層の一覧については、深層学習層の一覧を参照してください。
出力引数
assembledNet
— 組み立て済みネットワーク
SeriesNetwork
オブジェクト | DAGNetwork
オブジェクト
予測の準備が整った組み立て済みネットワーク。SeriesNetwork
オブジェクトまたは DAGNetwork
オブジェクトとして返されます。返されるネットワークは、入力引数 layers
によって異なります。
layers
が配列Layer
の場合、assembledNet
はSeriesNetwork
オブジェクトになります。layers
がLayerGraph
オブジェクトの場合、assembledNet
はDAGNetwork
オブジェクトになります。
バージョン履歴
R2018b で導入R2024a: 非推奨
assembleNetwork
は推奨されません。代わりに、dlnetwork
オブジェクトを使用してください。
関数 assembleNetwork
は、SeriesNetwork
オブジェクトと DAGNetwork
オブジェクトを返しますが、これらは推奨されません。関数 assembleNetwork
のサポートを削除する予定はありません。ただし、dlnetwork
オブジェクトを代わりに使用することが推奨されており、次のような利点があります。
dlnetwork
オブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。dlnetwork
オブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。関数
trainnet
はdlnetwork
オブジェクトをサポートしているため、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。dlnetwork
オブジェクトを使用した学習と予測は、通常、LayerGraph
とtrainNetwork
を使用したワークフローよりも高速です。
dlnetwork
オブジェクトを使用するようにコードを更新するには、次のいずれかの方法を使用します。
非推奨 | 推奨 |
---|---|
層配列または層グラフを使用し、SeriesNetwork オブジェクトまたは DAGNetwork オブジェクトを組み立てる。 | 出力層を含めずに、dlnetwork オブジェクトを直接構築する。LayerGraph オブジェクトをサポートするほとんどの関数は、dlnetwork オブジェクトもサポートします。ネットワークを初期化するには、関数 initialize を使用します。 |
関数 importKerasLayers 、importTensorFlowLayers 、または importONNXLayers によって返されるインポート済みネットワークを組み立てる。 | 関数 importNetworkFromTensorFlow または importNetworkFromONNX を使用してネットワークをインポートする。 |
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
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: .
You can also select a web site from the following list:
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.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)