メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

networkDataLayout

学習可能なパラメーターを初期化するための深層学習ネットワーク データ レイアウト

R2022b 以降

    説明

    ネットワーク データ レイアウト オブジェクトは、パラメーターを初期化するための入力データのデータ サイズと dlarray の形式情報を表します。

    サンプル データを使用する代わりに、networkDataLayout オブジェクトを使用して、サイズと形式の情報を基に dlnetwork オブジェクトとカスタム層の学習可能なパラメーターを初期化できます。

    作成

    説明

    layout = networkDataLayout(sz) は、形式を整えていないネットワーク データ レイアウト オブジェクトを作成し、Size プロパティを設定します。

    layout = networkDataLayout(sz,fmt) は、形式を整えたネットワーク データ レイアウト オブジェクトを作成し、Size プロパティと Format プロパティを設定します。

    プロパティ

    すべて展開する

    サイズ。2 つ以上の非負の整数または NaN 値の行ベクトルとして指定します。ここで、sz(i) は次元 i のサイズを表し、NaN 値は不明な次元サイズに対応します。

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    データ形式。string スカラーまたは文字ベクトルとして指定します。文字列の各文字は、次のいずれかの次元ラベルでなければなりません。

    • "S" — 空間

    • "C" — チャネル

    • "B" — バッチ

    • "T" — 時間

    • "U" — 指定なし

    "S" または "U" のラベルが付いた次元については、複数回指定できます。"C""B""T" のラベルについては、1 回のみ使用できます。

    データ型: string | char

    オブジェクト関数

    finddim指定されたラベルをもつ次元の検索

    すべて折りたたむ

    サイズ [28 28 1] のデータを表す、形式を整えていない networkDataLayout オブジェクトを作成します。

    layout = networkDataLayout([28 28 1])
    layout = 
      networkDataLayout with properties:
    
          Size: [28 28 1]
        Format: ''
    
    

    サイズ [227 227] の 2 次元 RGB イメージのバッチを表す、形式を整えた networkDataLayout オブジェクトを作成します。ここで、バッチ サイズは不明です。

    layout = networkDataLayout([227 227 3 NaN],"SSCB")
    layout = 
      networkDataLayout with properties:
    
          Size: [227 227 3 NaN]
        Format: 'SSCB'
    
    

    2 つの未接続の入力をもつ未初期化の dlnetwork オブジェクトを作成します。

    layers = [
        convolution2dLayer(5,16,Name="conv")
        batchNormalizationLayer
        reluLayer
        fullyConnectedLayer(50)
        flattenLayer
        concatenationLayer(1,2,Name="cat")
        fullyConnectedLayer(10)
        softmaxLayer];
    
    net = dlnetwork(layers,Initialize=false);

    ネットワークの入力名を表示します。

    net.InputNames
    ans = 1×2 cell
        {'conv'}    {'cat/in2'}
    
    

    入力の入力データを表すネットワーク データ レイアウト オブジェクトを作成します。最初の入力には、28 行 28 列のグレースケール イメージのバッチを指定します。2 番目の入力には、シングルチャネルの特徴データのバッチを指定します。

    layout1 = networkDataLayout([28 28 1 NaN],"SSCB");
    layout2 = networkDataLayout([1 NaN],"CB");

    ネットワーク データ レイアウト オブジェクトを使用してネットワークを初期化します。

    net = initialize(net,layout1,layout2)
    net = 
      dlnetwork with properties:
    
             Layers: [8×1 nnet.cnn.layer.Layer]
        Connections: [7×2 table]
         Learnables: [8×3 table]
              State: [2×3 table]
         InputNames: {'conv'  'cat/in2'}
        OutputNames: {'softmax'}
        Initialized: 1
    
      View summary with summary.
    
    

    2 次元イメージ シーケンスを表す、形式を整えたネットワーク データ レイアウト オブジェクトを作成します。形式を "SSCBT" (空間、空間、チャネル、バッチ、時間) として指定します。

    layout = networkDataLayout([227 227 3 NaN 100],"SSCBT");

    ラベル "S" をもつ次元を見つけます。

    dim = finddim(layout,"S")
    dim = 1×2
    
         1     2
    
    

    バージョン履歴

    R2022b で導入