Main Content

sequenceFoldingLayer

(非推奨) シーケンス折りたたみ層

SequenceFoldingLayer オブジェクトは推奨されません。dlnetwork オブジェクトとして指定されたほとんどのニューラル ネットワークは、シーケンス折りたたみ層およびシーケンス展開層を必要としません。ほとんどの場合、深層学習層の動作は、折りたたみ層および展開層が存在しない場合の動作と同じになります。そうでない場合、SequenceFoldingLayer を使用して下流にある層のデータの次元を操作する代わりに、データを直接操作するカスタム層 functionLayer layer オブジェクトを定義してください。詳細については、バージョン履歴を参照してください。

説明

シーケンス折りたたみ層は、イメージ シーケンスのバッチをイメージのバッチに変換します。シーケンス折りたたみ層を使用して、畳み込み演算をイメージ シーケンスのタイム ステップごとに個別に実行します。

シーケンス折りたたみ層を使用するには、miniBatchSize の出力を対応するシーケンス展開層の miniBatchSize の入力に接続しなければなりません。

作成

説明

layer = sequenceFoldingLayer は、シーケンス折りたたみ層を作成します。

layer = sequenceFoldingLayer('Name',Name) は、シーケンス折りたたみ層を作成し、名前と値のペアを使用して、オプションの Name プロパティを設定します。たとえば、sequenceFoldingLayer('Name','fold1') は、'fold1' という名前のシーケンス折りたたみ層を作成します。プロパティ名を一重引用符で囲みます。

プロパティ

すべて展開する

層の名前。文字ベクトルまたは string スカラーとして指定します。Layer 配列入力の場合、関数 trainNetwork は、名前が "" の層に自動的に名前を割り当てます。

SequenceFoldingLayer オブジェクトは、このプロパティを文字ベクトルとして格納します。

データ型: char | string

層への入力の数。1 として返されます。この層は単一の入力のみを受け入れます。

データ型: double

入力名。{'in'} として返されます。この層は単一の入力のみを受け入れます。

データ型: cell

層の出力の数。

この層は 2 つの出力をもちます。

  • 'out' – 整形された入力に対応する出力特徴マップ。

  • 'miniBatchSize' – 層に渡されたミニバッチのサイズ。この出力を対応するシーケンス展開層の 'miniBatchSize' の入力に接続しなければなりません。

データ型: double

層の出力名。

この層は 2 つの出力をもちます。

  • 'out' – 整形された入力に対応する出力特徴マップ。

  • 'miniBatchSize' – 層に渡されたミニバッチのサイズ。この出力を対応するシーケンス展開層の 'miniBatchSize' の入力に接続しなければなりません。

データ型: cell

すべて折りたたむ

シーケンス折りたたみ層を作成します。

'fold1' という名前のシーケンス折りたたみ層を作成します。

layer = sequenceFoldingLayer('Name','fold1')
layer = 
  SequenceFoldingLayer with properties:

           Name: 'fold1'
     NumOutputs: 2
    OutputNames: {'out'  'miniBatchSize'}

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2019a で導入

すべて折りたたむ

R2024a: 非推奨

R2024a 以降、DAGNetwork オブジェクトおよび SeriesNetwork オブジェクトは非推奨となりました。代わりに dlnetwork オブジェクトを使用してください。この推奨により、SequenceFoldingLayer オブジェクトも非推奨となります。dlnetwork オブジェクトとして指定されたほとんどのニューラル ネットワークは、シーケンス折りたたみ層およびシーケンス展開層を必要としません。ほとんどの場合、深層学習層の動作は、折りたたみ層および展開層が存在しない場合の動作と同じになります。そうでない場合、SequenceFoldingLayer を使用して下流にある層のデータの次元を操作する代わりに、データを直接操作するカスタム層 functionLayer layer オブジェクトを定義してください。カスタム層の詳細については、カスタム深層学習層の定義を参照してください。

DAGNetwork オブジェクト、SeriesNetwork オブジェクト、および SequenceFoldingLayer オブジェクトのサポートを削除する予定はありません。ただし、dlnetwork オブジェクトには次の利点があるため、代わりにこのオブジェクトを使うことを推奨します。

  • dlnetwork オブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。

  • dlnetwork オブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。

  • 関数 trainnetdlnetwork オブジェクトをサポートしているため、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。

  • dlnetwork オブジェクトを使用した学習と予測は、通常、LayerGraphtrainNetwork を使用したワークフローよりも高速です。

学習済みの DAGNetwork オブジェクトまたは SeriesNetwork オブジェクトを dlnetwork オブジェクトに変換するには、関数 dag2dlnetwork を使用します。