メインコンテンツ

testnet

深層学習ニューラル ネットワークのテスト

R2024b 以降

    説明

    metricValues = testnet(net,images,metrics) は、images で指定されたイメージ データとターゲット、および metrics で指定されたメトリクスを使用して評価を行い、ニューラル ネットワーク net をテストします。

    metricValues = testnet(net,images,targets,metrics) は、images で指定されたイメージ データ、targets で指定されたターゲット、および metrics で指定されたメトリクスを使用して、ニューラル ネットワーク net をテストします。

    metricValues = testnet(net,sequences,metrics) は、sequences で指定されたシーケンス データとターゲット、および metrics で指定されたメトリクスを使用して、ニューラル ネットワーク net をテストします。

    metricValues = testnet(net,sequences,targets,metrics) は、sequences で指定されたシーケンス データ、targets で指定されたターゲット、および metrics で指定されたメトリクスを使用して、ニューラル ネットワーク net をテストします。

    metricValues = testnet(net,features,metrics) は、features で指定された特徴データとターゲット、および metrics で指定されたメトリクスを使用して、ニューラル ネットワーク net をテストします。

    metricValues = testnet(net,features,targets,metrics) は、features で指定され特徴データ、targets で指定されたターゲット、および metrics で指定されたメトリクスを使用して、ニューラル ネットワーク net をテストします。

    metricValues = testnet(net,data,metrics) は、他のデータ レイアウトまたは異なるタイプのデータの組み合わせを使用して、ニューラル ネットワークをテストします。

    metricValues = testnet(net,data,targets,metrics) は、data で指定された予測子、および targets で指定されたターゲットを使用して、ニューラル ネットワークをテストします。

    metricValues = testnet(___,Name=Value) では、前の構文の入力引数の任意の組み合わせに加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、InputDataFormats="CB" は、入力データの最初の次元と 2 番目の次元がそれぞれチャネル次元とバッチ次元に対応することを指定します。

    すべて折りたたむ

    学習済みの dlnetwork オブジェクトを読み込みます。MAT ファイル digitsNet.mat には、変数 net で指定されたイメージ分類ニューラル ネットワークが含まれています。

    load digitsNet

    テスト データを読み込みます。MAT ファイル DigitsDataTest.mat には、それぞれ変数 XTestlabelsTest で指定されたテスト イメージとラベルが含まれています。

    load DigitsDataTest

    testnet 関数を使用してニューラル ネットワークをテストします。単一ラベルの分類では、精度を評価します。精度は、正しい予測の割合です。

    accuracy = testnet(net,XTest,labelsTest,"accuracy")
    accuracy = 
    98.2200
    

    入力引数

    すべて折りたたむ

    ニューラル ネットワーク。dlnetwork オブジェクトとして指定します。

    イメージ データ。数値配列、dlarray オブジェクト、データストア、または minibatchqueue オブジェクトとして指定します。ビデオ データなどのイメージのシーケンスの場合、代わりに sequences 入力引数を使用します。

    メモリに収まり、追加の処理を必要としないデータがある場合、入力データを数値配列として指定するのが一般的に最適なオプションです。システムに保存されているイメージ ファイルを使ってニューラル ネットワークをテストしたり、追加の処理を適用したりするには、データストアを使用します。複数の入力または複数の出力をもつニューラル ネットワークの場合は、TransformedDatastore オブジェクト、CombinedDatastore オブジェクト、または minibatchqueue オブジェクトを使用しなければなりません。

    ヒント

    ニューラル ネットワークには、特定のレイアウトをもつ入力データが必要です。たとえば、イメージ分類ネットワークは通常、h×w×c の数値配列のイメージ表現を必要とします。ここで、hwc はそれぞれイメージの高さ、幅、チャネル数です。ニューラル ネットワークの入力層では、通常、必要とされるデータ レイアウトが指定されています。

    ほとんどのデータストアと関数は、ネットワークで必要とされるレイアウトでデータを返します。データのレイアウトが異なる場合、名前と値の引数 InputDataFormats を使用するか、形式を整えた dlarray オブジェクトとして入力データを指定することによって、レイアウトを指定します。通常、名前と値の引数 InputDataFormats を指定する方が、入力データのレイアウトを手動で調整するよりも簡単です。

    入力層をもたないニューラル ネットワークの場合、名前と値の引数 InputDataFormats または形式を整えた dlarray オブジェクトを使用しなければなりません。

    詳細については、深層学習のデータ形式を参照してください。

    数値配列または dlarray オブジェクト

    メモリに収まり、追加の処理を必要としないデータの場合、イメージのデータ セットを数値配列または dlarray オブジェクトとして指定できます。この場合、targets 引数も指定しなければなりません。

    数値配列と形式を整えていない dlarray オブジェクトのレイアウトは、イメージ データのタイプによって異なり、名前と値の引数 InputDataFormats と一致していなければなりません。

    ほとんどのネットワークでは、次のレイアウトのイメージ データが必要です。

    データレイアウト
    2 次元イメージ

    h×w×c×N の配列。ここで、hw、および c は、それぞれイメージの高さ、幅、およびチャネル数です。N はイメージの数です。

    このレイアウトのデータは、"SSCB" (spatial、spatial、channel、batch) のデータ形式になります。

    3 次元イメージ

    h×w×d×c×N の配列。ここで、hwd、および c は、それぞれイメージの高さ、幅、深さ、およびチャネル数です。N はイメージの数です。

    このレイアウトのデータは、"SSSCB" (spatial、spatial、spatial、channel、batch) のデータ形式になります。

    異なるレイアウトのデータの場合は、InputDataFormats 引数を使用してデータのレイアウトが異なることを示すか、形式を整えた dlarray オブジェクトを代わりに使用します。詳細については、深層学習のデータ形式を参照してください。

    categorical 配列 (R2025a 以降)

    メモリに収まり、追加の処理を必要としない categorical 値のイメージ (ラベル付きピクセル マップなど) の場合は、イメージを categorical 配列として指定できます。

    イメージを categorical 配列として指定した場合、targets 引数も指定しなければなりません。

    ソフトウェアは categorical 入力を自動的に数値に変換し、ニューラル ネットワークに渡します。ソフトウェアが categorical 入力を数値に変換する方法を指定するには、CategoricalInputEncoding 引数を使用します。categorical 配列のレイアウトはイメージ データのタイプによって異なり、InputDataFormats と一致していなければなりません。

    次の表のレイアウトにおいて、ほとんどのネットワークでは、testnet 関数に categorical イメージ データを渡す必要があります。

    データレイアウト
    2 次元 categorical イメージ

    h×w×1×N の配列。ここで、hw は、それぞれイメージの高さと幅で、N はイメージの数です。

    ソフトウェアがこのデータを数値配列に変換すると、このレイアウトのデータ形式は "SSCB" (空間、空間、チャネル、バッチ) になります。"C" (チャネル) 次元のサイズは、CategoricalInputEncoding 引数によって異なります。

    3 次元 categorical イメージ

    h×w×d×1×N の配列。ここで、hwd は、それぞれイメージの高さ、幅、深さで、N はイメージの数です。

    このレイアウトのデータは、"SSSCB" (spatial、spatial、spatial、channel、batch) のデータ形式になります。"C" (チャネル) 次元のサイズは、CategoricalInputEncoding 引数によって異なります。

    異なるレイアウトのデータの場合は、InputDataFormats 引数を使用してデータのレイアウトが異なることを示すか、形式を整えた dlarray オブジェクトを代わりに使用します。詳細については、深層学習のデータ形式を参照してください。

    データストア

    データストアは、イメージとターゲットのバッチを読み取ります。データストアは、データがメモリに収まらない場合や、データに変換を適用したい場合に使用します。

    イメージ データの場合、testnet 関数は次のデータストアをサポートします。

    データストア説明使用例
    ImageDatastore

    ディスクに保存されたイメージのデータストア。

    イメージのサイズが同じ場合に、システムに保存されているイメージを使用してテストを行います。イメージのサイズが異なる場合は augmentedImageDatastore オブジェクトを使用します。

    augmentedImageDatastoreサイズ変更を含むランダムなアフィン幾何学的変換を適用するデータストア。

    イメージのサイズが異なる場合に、ディスクに保存されているイメージを使用してテストを行います。

    拡張イメージ データストアを使用してテストを行う場合は、回転、反転、せん断、平行移動などの追加の拡張を適用しないでください。

    TransformedDatastoreカスタム変換関数を使用して、基になるデータストアから読み取ったデータのバッチを変換するデータストア。

    testnet 関数でサポートされていない出力をもつデータストアを変換するか、データストアの出力にカスタム変換を適用します。

    CombinedDatastore2 つ以上の基になるデータストアからデータを読み取るデータストア。

    複数の入力をもつネットワークを使用してテストを行います。

    カスタム ミニバッチ データストアデータのミニバッチを返すカスタム データストア。

    他のデータストアでサポートされていないレイアウトのデータを使用してテストを行います。

    詳細は、カスタム ミニバッチ データストアの開発を参照してください。

    ターゲットを指定するには、データストアは numInputs+numOutputs 個の列をもつ cell 配列または table を返さなければなりません。ここで、numInputsnumOutputs は、それぞれネットワークの入力と出力の数です。最初の numInputs 個の列は、ネットワーク入力に対応します。最後の numOutput 個の列は、ネットワーク出力に対応します。ニューラル ネットワークの InputNames プロパティと OutputNames プロパティは、それぞれ入力データと出力データの順序を指定します。

    ヒント

    ImageDatastore オブジェクトを使用すると、事前取得を使用して JPG または PNG イメージ ファイルのバッチ読み取りを行うことができます。イメージのサイズ変更を含む深層学習用のイメージの前処理を効率的に行うには、augmentedImageDatastore オブジェクトを使用します。ImageDatastore オブジェクトの ReadFcn プロパティを使用しないでください。ReadFcn プロパティをカスタム関数に設定した場合、ImageDatastore オブジェクトはイメージ ファイルを事前取得しないため、通常、速度が大幅に低下します。

    transform 関数と combine 関数を使用することで、他の組み込みのデータストアを使用して深層学習ニューラル ネットワークをテストできます。これらの関数は、データストアから読み取られたデータを testnet 関数に必要なレイアウトに変換できます。データストア出力に必要なレイアウトは、ニューラル ネットワーク アーキテクチャによって異なります。詳細については、データストアのカスタマイズを参照してください。

    minibatchqueue オブジェクト

    ソフトウェアがミニバッチを処理および変換する方法をより細かく制御するには、データを minibatchqueue オブジェクトとして指定できます。これを実行すると、testnet 関数はオブジェクトの MiniBatchSize プロパティを無視し、代わりに名前と値の引数 MiniBatchSize を使用します。minibatchqueue 入力の場合、PreprocessingEnvironment プロパティは "serial" でなければなりません。

    メモ

    この引数は、複素数値の予測子とターゲットをサポートします。

    シーケンス データまたは時系列データ。数値配列、categorical 配列、cell 配列、データストア、または minibatchqueue オブジェクトとして指定します。

    メモリに収まり、追加の処理を必要としない同じ長さのシーケンスがある場合、入力データを数値配列として指定するのが一般的に最適なオプションです。メモリに収まり、追加の処理を必要としないさまざまな長さのシーケンスがある場合、入力データを数値配列の cell 配列として指定するのが一般的に最適なオプションです。システムに保存されているシーケンスを使ってニューラル ネットワークをテストしたり、カスタム変換などの追加の処理を適用したりするには、データストアを使用します。複数の入力をもつニューラル ネットワークの場合は、TransformedDatastore オブジェクトまたは CombinedDatastore オブジェクトを使用しなければなりません。

    ヒント

    ニューラル ネットワークには、特定のレイアウトをもつ入力データが必要です。たとえば、ベクトルシーケンス分類ネットワークは通常、tc 列の配列として表されたベクトルシーケンスを必要とします。ここで、tc は、それぞれタイム ステップの数とシーケンスのチャネル数です。ニューラル ネットワークの入力層では、通常、必要とされるデータ レイアウトが指定されています。

    ほとんどのデータストアと関数は、ネットワークで必要とされるレイアウトでデータを返します。データのレイアウトが異なる場合、名前と値の引数 InputDataFormats を使用するか、形式を整えた dlarray オブジェクトとして入力データを指定することによって、レイアウトを指定します。通常、名前と値の引数 InputDataFormats を指定する方が、入力データのレイアウトを手動で調整するよりも簡単です。

    入力層をもたないニューラル ネットワークの場合、名前と値の引数 InputDataFormats または形式を整えた dlarray オブジェクトを使用しなければなりません。

    詳細については、深層学習のデータ形式を参照してください。

    数値配列、categorical 配列、dlarray オブジェクト、または cell 配列

    メモリに収まり、カスタム変換などの追加処理を必要としないデータの場合、単一のシーケンスを数値配列、categorical 配列、または dlarray オブジェクトとして指定するか、シーケンスのデータ セットを数値配列、categorical 配列、または dlarray オブジェクトから成る cell 配列として指定できます。シーケンスを数値配列、categorical 配列、cell 配列、または dlarray オブジェクトとして指定した場合は、targets 引数も指定しなければなりません。

    cell 配列入力の場合、cell 配列は数値配列、categorical 配列、または dlarray オブジェクトから成る N 行 1 列の cell 配列でなければなりません。ここで、N は観測値の数です。

    ソフトウェアは categorical 入力を自動的に数値に変換し、ニューラル ネットワークに渡します。ソフトウェアが categorical 入力を数値に変換する方法を指定するには、CategoricalInputEncoding 引数を使用します。

    シーケンスを表す数値配列、categorical 配列、または dlarray オブジェクトのサイズと形状は、シーケンス データの種類によって異なり、InputDataFormats 引数と一致していなければなりません。

    次の表のレイアウトにおいて、シーケンス入力層をもつほとんどのネットワークでは、testnet 関数にシーケンス データを渡す必要があります。

    データレイアウト
    ベクトル シーケンスsc 列の行列。ここで、sc はそれぞれシーケンスのタイム ステップ数とチャネル (特徴) 数です。
    categorical ベクトル シーケンスs 行 1 列の categorical 配列。ここで、s はシーケンスのタイム ステップ数です。
    1 次元イメージ シーケンスh x c x s の配列。ここで、h および c はそれぞれイメージの高さおよびチャネル数に対応します。s はシーケンス長です。
    categorical 1 次元イメージ シーケンスh×1×s の categorical 配列。ここで、h はイメージの高さに対応します。s はシーケンス長です。
    2 次元イメージ シーケンスh x w x c x s の配列。ここで、hw、および c は、それぞれイメージの高さ、幅、およびチャネル数に対応します。s はシーケンス長です。
    categorical 2 次元イメージ シーケンスh×w×1×s の配列。ここで、hw はそれぞれイメージの高さと幅に対応します。s はシーケンス長です。
    3 次元イメージ シーケンスh x w x d x c x s。ここで、hwd、および c は、それぞれ 3 次元イメージの高さ、幅、深さ、およびチャネル数に対応します。s はシーケンス長です。
    categorical 3 次元イメージ シーケンスh×w×d×1×s。ここで、hwd は、それぞれ 3 次元イメージの高さ、幅、深さに対応します。s はシーケンス長です。

    異なるレイアウトのデータの場合は、InputDataFormats 引数を使用してデータのレイアウトが異なることを示すか、形式を整えた dlarray オブジェクトを代わりに使用します。詳細については、深層学習のデータ形式を参照してください。

    データストア

    データストアは、シーケンスとターゲットのバッチを読み取ります。データストアは、データがメモリに収まらない場合や、データに変換を適用したい場合に使用します。

    シーケンス データおよび時系列データの場合、testnet 関数は次のデータストアをサポートします。

    データストア説明使用例
    TransformedDatastoreカスタム変換関数を使用して、基になるデータストアから読み取ったデータのバッチを変換するデータストア。

    • testnet 関数でサポートされていない出力をもつデータストアを変換する。

    • データストアの出力にカスタム変換を適用する。

    CombinedDatastore2 つ以上の基になるデータストアからデータを読み取るデータストア。

    異なるデータ ソースから取得した予測子とターゲットを結合する。

    カスタム ミニバッチ データストアデータのミニバッチを返すカスタム データストア。

    他のデータストアでサポートされていないレイアウトのデータを使用してニューラル ネットワークをテストする。

    詳細は、カスタム ミニバッチ データストアの開発を参照してください。

    ターゲットを指定するには、データストアは numInputs+numOutputs 個の列をもつ cell 配列または table を返さなければなりません。ここで、numInputsnumOutputs は、それぞれネットワークの入力と出力の数です。最初の numInputs 個の列は、ネットワーク入力に対応します。最後の numOutput 個の列は、ネットワーク出力に対応します。ニューラル ネットワークの InputNames プロパティと OutputNames プロパティは、それぞれ入力データと出力データの順序を指定します。

    transform 関数と combine 関数を使用して、他の組み込みデータストアを使用できます。これらの関数は、データストアから読み取られたデータを testnet 関数に必要なレイアウトに変換できます。たとえば、ArrayDatastore オブジェクトおよび TabularTextDatastore オブジェクトをそれぞれ使用して、インメモリ配列および CSV ファイルから読み取ったデータの変換と結合を行うことができます。データストア出力に必要なレイアウトは、ニューラル ネットワーク アーキテクチャによって異なります。詳細については、データストアのカスタマイズを参照してください。

    minibatchqueue オブジェクト

    ソフトウェアがミニバッチを処理および変換する方法をより細かく制御するには、データを minibatchqueue オブジェクトとして指定できます。これを実行すると、testnet 関数はオブジェクトの MiniBatchSize プロパティを無視し、代わりに名前と値の引数 MiniBatchSize を使用します。minibatchqueue 入力の場合、PreprocessingEnvironment プロパティは "serial" でなければなりません。

    メモ

    この引数は、複素数値の予測子とターゲットをサポートします。

    特徴データまたは表形式データ。数値配列、dlarray オブジェクト、table、データストア、または minibatchqueue オブジェクトとして指定します。

    メモリに収まり、追加の処理を必要としないデータがある場合、入力データを数値配列または table として指定するのが一般的に最適なオプションです。システムに保存されている特徴または表形式のデータを使ってテストしたり、カスタム変換などの追加の処理を適用したりするには、データストアを使用します。複数の入力をもつニューラル ネットワークの場合は、TransformedDatastore オブジェクトまたは CombinedDatastore オブジェクトを使用しなければなりません。

    ヒント

    ニューラル ネットワークには、特定のレイアウトをもつ入力データが必要です。たとえば、特徴分類ネットワークは通常、1 行 c 列のベクトルとして表された特徴と表形式のデータを必要とします。ここで、c はデータの特徴の数です。ニューラル ネットワークの入力層では、通常、必要とされるデータ レイアウトが指定されています。

    ほとんどのデータストアと関数は、ネットワークで必要とされるレイアウトでデータを返します。データのレイアウトが異なる場合、名前と値の引数 InputDataFormats を使用するか、形式を整えた dlarray オブジェクトとして入力データを指定することによって、レイアウトを指定します。通常、名前と値の引数 InputDataFormats を指定する方が、入力データのレイアウトを手動で調整するよりも簡単です。

    入力層をもたないニューラル ネットワークの場合、名前と値の引数 InputDataFormats または形式を整えた dlarray オブジェクトを使用しなければなりません。

    詳細については、深層学習のデータ形式を参照してください。

    数値配列または dlarray オブジェクト

    メモリに収まり、なおかつカスタム変換などの追加の処理を必要としない特徴データの場合、特徴データを数値配列として指定できます。この場合、targets 引数も指定しなければなりません。

    数値配列と形式を整えていない dlarray オブジェクトのレイアウトは、名前と値の引数 InputDataFormats と一致していなければなりません。特徴入力をもつほとんどのネットワークでは、NnumFeatures 列の配列として指定した入力データが必要です。ここで、N は観測値の数、numFeatures は入力データの特徴の数です。

    categorical 配列 (R2025a 以降)

    メモリに収まり、カスタム変換などの追加処理を必要としない個別の特徴の場合は、特徴データを categorical 配列として指定できます。

    特徴を categorical 配列として指定した場合は、targets 引数も指定しなければなりません。

    ソフトウェアは categorical 入力を自動的に数値に変換し、ニューラル ネットワークに渡します。ソフトウェアが categorical 入力を数値に変換する方法を指定するには、CategoricalInputEncoding 引数を使用します。categorical 配列のレイアウトは、InputDataFormats 引数と一致していなければなりません。

    カテゴリカル特徴量入力をもつほとんどのネットワークでは、N 行 1 列のベクトルとして指定した入力データが必要です。ここで、N は観測数です。ソフトウェアがこのデータを数値配列に変換すると、このレイアウトのデータ形式は "BC" (バッチ、チャネル) になります。"C" (チャネル) 次元のサイズは、CategoricalInputEncoding 引数によって異なります。

    異なるレイアウトのデータの場合は、InputDataFormats 学習オプションを使用してデータのレイアウトが異なることを示すか、形式を整えた dlarray オブジェクトを代わりに使用します。詳細については、深層学習のデータ形式を参照してください。

    table

    メモリに収まり、なおかつカスタム変換などの追加の処理を必要としない特徴データの場合、特徴データを table として指定できます。この場合、targets 引数を指定してはなりません。

    特徴データを table として指定するには、numObservations 個の行と numFeatures+1 個の列をもつ table を指定します。ここで、numObservationsnumFeatures は、入力データの観測値とチャネルの数です。testnet 関数は、最初の numFeatures 個の列を入力特徴として使用し、最後の列をターゲットとして使用します。

    データストア

    データストアは、特徴データとターゲットのバッチを読み取ります。データストアは、データがメモリに収まらない場合や、データに変換を適用したい場合に使用します。

    特徴データおよび表形式データの場合、testnet 関数は次のデータストアをサポートします。

    データ型説明使用例
    TransformedDatastoreカスタム変換関数を使用して、基になるデータストアから読み取ったデータのバッチを変換するデータストア。

    • 複数の入力を使用してニューラル ネットワークをテストする。

    • testnet 関数でサポートされていない出力をもつデータストアを変換する。

    • データストアの出力にカスタム変換を適用する。

    CombinedDatastore2 つ以上の基になるデータストアからデータを読み取るデータストア。

    • 複数の入力を使用してニューラル ネットワークをテストする。

    • 異なるデータ ソースから取得した予測子とターゲットを結合する。

    カスタム ミニバッチ データストアデータのミニバッチを返すカスタム データストア。

    他のデータストアでサポートされていないレイアウトのデータを使用してニューラル ネットワークをテストする。

    詳細は、カスタム ミニバッチ データストアの開発を参照してください。

    ターゲットを指定するには、データストアは numInputs+numOutputs 個の列をもつ cell 配列または table を返さなければなりません。ここで、numInputsnumOutputs は、それぞれネットワークの入力と出力の数です。最初の numInputs 個の列は、ネットワーク入力に対応します。最後の numOutput 個の列は、ネットワーク出力に対応します。ニューラル ネットワークの InputNames プロパティと OutputNames プロパティは、それぞれ入力データと出力データの順序を指定します。

    関数 transform および combine を使用して、予測を行うための他の組み込みデータストアを使用できます。これらの関数は、データストアから読み取られたデータを、testnet 関数に必要な table または cell 配列形式に変換できます。詳細については、データストアのカスタマイズを参照してください。

    minibatchqueue オブジェクト

    ソフトウェアがミニバッチを処理および変換する方法をより細かく制御するには、データを minibatchqueue オブジェクトとして指定できます。これを実行すると、testnet 関数はオブジェクトの MiniBatchSize プロパティを無視し、代わりに名前と値の引数 MiniBatchSize を使用します。minibatchqueue 入力の場合、PreprocessingEnvironment プロパティは "serial" でなければなりません。

    メモ

    この引数は、複素数値の予測子とターゲットをサポートします。

    汎用データまたはデータ型の組み合わせ。数値配列、dlarray オブジェクト、データストア、または minibatchqueue オブジェクトとして指定します。

    メモリに収まり、追加の処理を必要としないデータがある場合、入力データを数値配列として指定するのが一般的に最適なオプションです。システムに保存されているデータを使ってテストしたり、追加の処理を適用したりするには、データストアを使用します。複数の入力をもつニューラル ネットワークの場合は、TransformedDatastore オブジェクトまたは CombinedDatastore オブジェクトを使用しなければなりません。

    ヒント

    ニューラル ネットワークには、特定のレイアウトをもつ入力データが必要です。たとえば、ベクトルシーケンス分類ネットワークは通常、tc 列の配列として表されたベクトルシーケンスを必要とします。ここで、tc は、それぞれタイム ステップの数とシーケンスのチャネル数です。ニューラル ネットワークの入力層では、通常、必要とされるデータ レイアウトが指定されています。

    ほとんどのデータストアと関数は、ネットワークで必要とされるレイアウトでデータを返します。データのレイアウトが異なる場合、名前と値の引数 InputDataFormats を使用するか、形式を整えた dlarray オブジェクトとして入力データを指定することによって、レイアウトを指定します。通常、名前と値の引数 InputDataFormats を指定する方が、入力データのレイアウトを手動で調整するよりも簡単です。

    入力層をもたないニューラル ネットワークの場合、名前と値の引数 InputDataFormats または形式を整えた dlarray オブジェクトを使用しなければなりません。

    詳細については、深層学習のデータ形式を参照してください。

    数値配列、categorical 配列、または dlarray オブジェクト

    メモリに収まり、カスタム変換などの追加処理を必要としないデータの場合は、データを数値配列、categorical 配列、または dlarray オブジェクトとして指定できます。データを数値配列として指定した場合、targets 引数も指定しなければなりません。

    inputLayer オブジェクトをもつニューラル ネットワークの場合、必要とされる入力データのレイアウトは、層の InputFormat プロパティで指定します。

    ソフトウェアは categorical 入力を自動的に数値に変換し、ニューラル ネットワークに渡します。ソフトウェアが categorical 入力を数値に変換する方法を指定するには、CategoricalInputEncoding 引数を使用します。categorical 配列のレイアウトは、InputDataFormats 引数と一致していなければなりません。

    異なるレイアウトのデータの場合は、InputDataFormats 引数を使用してデータのレイアウトが異なることを示すか、形式を整えた dlarray オブジェクトを代わりに使用します。詳細については、深層学習のデータ形式を参照してください。

    データストア

    データストアは、データとターゲットのバッチを読み取ります。データストアは、データがメモリに収まらない場合や、データに変換を適用したい場合に使用します。

    testnet 関数は次のデータストアをサポートします。

    データ型説明使用例
    TransformedDatastoreカスタム変換関数を使用して、基になるデータストアから読み取ったデータのバッチを変換するデータストア。

    • 複数の入力を使用してニューラル ネットワークをテストする。

    • testnet でサポートされていないデータストアの出力を、必要な形式に変換する。

    • データストアの出力にカスタム変換を適用する。

    CombinedDatastore2 つ以上の基になるデータストアからデータを読み取るデータストア。

    • 複数の入力を使用してニューラル ネットワークをテストする。

    • 異なるデータ ソースから取得した予測子とターゲットを結合する。

    カスタム ミニバッチ データストアデータのミニバッチを返すカスタム データストア。

    他のデータストアでサポートされていない形式のデータを使用してニューラル ネットワークをテストします。

    詳細は、カスタム ミニバッチ データストアの開発を参照してください。

    ターゲットを指定するには、データストアは numInputs+numOutputs 個の列をもつ cell 配列または table を返さなければなりません。ここで、numInputsnumOutputs は、それぞれネットワークの入力と出力の数です。最初の numInputs 個の列は、ネットワーク入力に対応します。最後の numOutput 個の列は、ネットワーク出力に対応します。ニューラル ネットワークの InputNames プロパティと OutputNames プロパティは、それぞれ入力データと出力データの順序を指定します。

    transform 関数と combine 関数を使用して、他の組み込みデータストアを使用できます。これらの関数は、データストアから読み取られたデータを、testnet に必要な table または cell 配列形式に変換できます。詳細については、データストアのカスタマイズを参照してください。

    minibatchqueue オブジェクト

    ソフトウェアがミニバッチを処理および変換する方法をより細かく制御するには、データを minibatchqueue オブジェクトとして指定できます。これを実行すると、testnet 関数はオブジェクトの MiniBatchSize プロパティを無視し、代わりに名前と値の引数 MiniBatchSize を使用します。minibatchqueue 入力の場合、PreprocessingEnvironment プロパティは "serial" でなければなりません。

    メモ

    この引数は、複素数値の予測子とターゲットをサポートします。

    テスト ターゲット。categorical 配列、数値配列、またはシーケンスの cell 配列として指定します。

    複数の出力をもつネットワークのターゲットを指定するには、imagessequencesfeatures、または data の引数を使用して、予測子とターゲットの両方を 1 つの引数で指定します。

    ヒント

    メトリクス関数には、特定のレイアウトをもつデータが必要です。たとえば、sequence-to-vector 回帰ネットワークの場合、メトリクス関数は通常、1 行 R 列のベクトルとして表されたターゲット ベクトルを必要とします。ここで、R は応答の数です。

    ほとんどのデータストアと関数は、メトリクス関数で必要とされるレイアウトでデータを出力します。ターゲット データのレイアウトがメトリクス関数で必要とされるレイアウトと異なる場合、ターゲットのレイアウトが異なることを示すために、TargetDataFormats 引数を使用するか、データを minibatchqueue オブジェクトとして指定して TargetDataFormats プロパティを指定するか、形式を整えた dlarray オブジェクトとしてターゲット データを指定します。通常、ターゲット データを前処理するよりも、データ形式を指定する方が簡単です。TargetDataFormats 引数と TargetDataFormats minibatchqueue プロパティの両方を指定する場合、それらは一致していなければなりません。

    詳細については、深層学習のデータ形式を参照してください。

    必要とされるターゲットのレイアウトは、メトリクス関数によって異なります。ここにリストされているターゲットはサブセットのみです。メトリクス関数は、追加の次元をもつターゲットなど、異なるレイアウトをもつ追加のターゲットをサポートする場合があります。カスタム メトリクス関数の場合、ソフトウェアはネットワーク出力データの形式情報を使用してターゲット データのタイプを判定し、次の表の対応するレイアウトを適用します。

    ターゲットターゲットのレイアウト
    カテゴリカル ラベルラベルの N 行 1 列の categorical ベクトル。N は観測値の数です。
    カテゴリカル ラベルのシーケンス

    • t×1×N の categorical 配列。ここで、tN はそれぞれタイム ステップと観測値の数です。

    • N 行 1 列のシーケンスの cell 配列。ここで、N は観測値の数です。シーケンスは t 行 1 列の categorical ベクトルです。シーケンスの長さは異なる場合があります。

    クラス インデックスクラス インデックスの N 行 1 列の数値ベクトル。ここで、N は観測値の数です。
    クラス インデックスのシーケンス

    • クラス インデックスの t×1×N の行列。ここで、tN はそれぞれタイム ステップと観測値の数です。

    • N 行 1 列のシーケンスの cell 配列。ここで、N は観測値の数です。シーケンスはクラス インデックスの t 行 1 列の数値ベクトルです。シーケンスの長さは異なる場合があります。

    バイナリ ラベル (単一のラベル)

    N 行 1 列のベクトル。ここで、N は観測値の数です。

    バイナリ ラベル (複数ラベル)

    Nc 列の行列。ここで、Nc はそれぞれ観測値とクラスの数です。

    数値スカラー

    N 行 1 列のベクトル。ここで、N は観測値の数です。

    数値ベクトル

    NR 列の行列。N は観測値の数、R は応答の数です。

    2 次元イメージ

    h x w x c x N の数値配列。ここで、hw、および c は、それぞれイメージの高さ、幅、およびチャネル数です。N はイメージの数です。

    3 次元イメージ
    • h x w x d x c x N の数値配列。ここで、hwd、および c は、それぞれイメージの高さ、幅、深さ、およびチャネル数です。N はイメージの数です。

    スカラーの数値シーケンス
    • t×1×N の配列。ここで、tN はそれぞれタイム ステップとシーケンスの数です。

    • シーケンスの N 行 1 列の cell 配列。ここで、N はシーケンスの数です。シーケンスは t 行 1 列のベクトルです。ここで、t はタイム ステップの数です。シーケンスの長さは異なる場合があります。

    ベクトルの数値シーケンス

    • t×c×N の配列。ここで、tcN はそれぞれタイム ステップ、チャネル、シーケンスの数です。

    • シーケンスの N 行 1 列の cell 配列。ここで、N はシーケンスの数です。シーケンスは tc 列の行列です。ここで、tc はそれぞれシーケンスのタイム ステップ数とチャネル数です。シーケンスの長さは異なる場合があります。

    1 次元イメージのシーケンス

    • h×c×N×t の配列。ここで、hct はそれぞれシーケンスの高さ、チャネル数、タイム ステップ数であり、N はシーケンスの数です。

    • シーケンスの N 行 1 列の cell 配列。ここで、N はシーケンスの数です。シーケンスは h×c×t の配列です。ここで、htc はそれぞれ高さ、タイム ステップ数、シーケンスのチャネル数です。シーケンスの長さは異なる場合があります。

    2 次元イメージのシーケンス

    • h×w×c×N×t の配列。ここで、hwct はそれぞれシーケンスの高さ、幅、チャネル数、タイム ステップ数であり、N はシーケンスの数です。

    • シーケンスの N 行 1 列の cell 配列。ここで、N はシーケンスの数です。シーケンスは h×w×c×t の配列です。ここで、hwtc はそれぞれシーケンスの高さ、幅、タイム ステップ数、チャネル数です。シーケンスの長さは異なる場合があります。

    3 次元イメージのシーケンス

    • h×w×d×c×N×t の配列。ここで、hwdct は、それぞれシーケンスの高さ、幅、深さ、チャネル数、タイム ステップ数であり、N はシーケンスの数です。

    • シーケンスの N 行 1 列の cell 配列。ここで、N はシーケンスの数です。シーケンスは h×w×d×c×t の配列です。ここで、hwdtc はそれぞれシーケンスの高さ、幅、深さ、タイム ステップ数、チャネル数です。シーケンスの長さは異なる場合があります。

    異なるレイアウトのターゲットの場合は、名前と値の引数 TargetDataFormats または形式を整えた dlarray オブジェクトを使用して、ターゲットのレイアウトが異なることを示します。詳細については、深層学習のデータ形式を参照してください。

    ソフトウェアは、categorical ターゲットを数値に自動的に変換し、メトリクス関数に渡します。ソフトウェアが categorical ターゲットを数値に変換する方法を指定するには、CategoricalTargetEncoding 引数を使用します。

    評価対象のメトリクス。組み込みのメトリクス名の文字ベクトルまたは string スカラー、名前の string 配列、組み込みまたはカスタムのメトリクス オブジェクト、関数ハンドル、deep.DifferentiableFunction オブジェクトとして指定するか、名前、メトリクス オブジェクト、および関数ハンドルから成る cell 配列として指定します。

    • 組み込みメトリクスまたは損失関数名 — string スカラー、文字ベクトル、または次の 1 つ以上の名前の cell 配列か string 配列としてメトリクスを指定します。

      • メトリクス:

        • "accuracy" — 精度

        • "auc" — ROC 曲線下面積 (AUC)

        • "fscore" — F スコア

        • "precision" — 適合率

        • "recall" — 再現率

        • "rmse" — 平方根平均二乗誤差

        • "mape" — 平均絶対誤差率 (MAPE)

        • "rsquared"R2 (決定係数) (R2025a 以降)

      • 損失関数:

        • "crossentropy" — 分類タスクのクロスエントロピー損失。

        • "indexcrossentropy" — 分類タスクのインデックス クロスエントロピー損失。categorical クラスが多数ある場合は、このオプションを使用してメモリを節約します。

        • "binary-crossentropy" — バイナリおよびマルチラベル分類タスクのバイナリ クロスエントロピー損失。

        • "mae" / "mean-absolute-error" / "l1loss" — 回帰タスクの平均絶対誤差。

        • "mse" / "mean-squared-error" / "l2loss" — 回帰タスクの平均二乗誤差。

        • "huber" — 回帰タスクの Huber 損失。

      深層学習のメトリクスと損失関数の詳細については、Deep Learning Metricsを参照してください。

    • 組み込みメトリクス オブジェクト — より高い柔軟性が必要な場合は、以下に示すいずれかの組み込みメトリクス オブジェクトを使用できます。

      • AccuracyMetric — 精度メトリクス オブジェクト

      • AUCMetric — ROC 曲線下面積 (AUC) メトリクス オブジェクト

      • FScoreMetric — F スコア メトリクス オブジェクト

      • PrecisionMetric — 適合率メトリクス オブジェクト

      • RecallMetric — 再現率メトリクス オブジェクト

      • RMSEMetric — RMSE メトリクス オブジェクト

      • MAPEMetric — MAPE メトリクス オブジェクト

      • RSquaredMetricR2 メトリクス オブジェクト (R2025a 以降)

      組み込みメトリクス オブジェクトを作成するときは、平均化のタイプなどの追加オプションを指定できます。分類タスクの場合、タスクが単一ラベルの分類か複数ラベルの分類かを指定できます。

    • カスタム メトリクス関数ハンドル — 組み込みメトリクス以外のメトリクスが必要な場合は、関数ハンドルを使用してカスタム メトリクスを指定できます。関数の構文は metric = metricFunction(Y,T) でなければなりません。ここで、Y はネットワーク予測に対応し、T はターゲット応答に対応します。複数の出力をもつネットワークの場合、構文は metric = metricFunction(Y1,…,YN,T1,…TM) でなければなりません。ここで、N は出力の数、M はターゲットの数です。詳細については、Define Custom Metric Functionを参照してください。

      メモ

      ミニバッチにデータが含まれる場合、ソフトウェアは各ミニバッチのメトリクスを計算し、それらの値の平均を返します。メトリクスによっては、この動作のために、データ セット全体を一度に使用してメトリクスを計算する場合とは異なるメトリクス値を取ることがあります。ほとんどの場合は、同様の値になります。データに対してバッチ平均されていないカスタム メトリクスを使用するには、カスタム メトリクス オブジェクトを作成しなければなりません。詳細については、Define Custom Deep Learning Metric Objectを参照してください。

    • deep.DifferentiableFunction オブジェクト — カスタム backward 関数をもつ関数オブジェクト。詳細については、カスタム深層学習演算の定義を参照してください。

    • カスタム メトリクス オブジェクト — より詳細なカスタマイズが必要な場合は、独自のカスタム メトリクス オブジェクトを定義できます。カスタム メトリクスの作成方法を示す例については、Define Custom Metric Objectを参照してください。カスタム メトリクスの作成に関する一般的な情報については、Define Custom Deep Learning Metric Objectを参照してください。

    メトリクスを関数ハンドルまたはカスタム メトリクス オブジェクトとして指定する場合、ソフトウェアによってメトリクスに渡されるターゲットのレイアウトは、ターゲットのデータ型および指定するその他のメトリクスによって異なります。

    • ターゲットが数値配列の場合、ソフトウェアはターゲットをメトリクスに直接渡します。

    • ターゲットが categorical 配列である場合、ソフトウェアは、CategoricalTargetEncoding 引数に従って categorical データを数値に変換します。

    例: ["accuracy","fscore"]

    例: {"accuracy",@myMetric}

    名前と値の引数

    すべて折りたたむ

    オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

    例: testnet(net,data,"accuracy",InputDataFormats="CB") は、ニューラル ネットワークの精度をテストし、入力データの最初の次元と 2 番目の次元がそれぞれチャネル次元とバッチ次元に対応することを指定します。

    出力メトリクス値のレイアウト。"vector" または "table" として指定します。

    • OutputMode"vector" である場合、出力 metricValues はベクトルとなり、metricValues(i)metric(i) の値に対応します。

    • OutputMode"table" である場合、出力 metricValues は、各メトリクスに対応する名前が付けられた列をもつ 1 行のテーブルになります。

    予測に使用するミニバッチのサイズ。正の整数として指定します。ミニバッチのサイズが大きくなるとより多くのメモリが必要になりますが、予測時間が短縮される可能性があります。

    長さが異なるシーケンスで予測を行うと、ミニバッチのサイズが、入力データに追加されるパディングの量に影響し、予測値が変わることがあります。さまざまな値を使用して、ネットワークに最適なものを確認してください。パディング オプションを指定するには、名前と値の引数 SequenceLength を使用します。

    メモ

    入力データを minibatchqueue オブジェクトとして指定すると、testnet 関数は、minibatchqueue オブジェクトの MiniBatchSize プロパティではなく、この引数で指定されたミニバッチ サイズを使用します。

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

    入力シーケンスのパディングまたは切り捨てを行うオプション。次のいずれかのオプションとして指定します。

    • "longest" — 最長のシーケンスと同じ長さになるようにシーケンスのパディングを行います。このオプションを使用するとデータは破棄されませんが、パディングによってニューラル ネットワークにノイズが生じることがあります。

    • "shortest" — 最短のシーケンスと同じ長さになるようにシーケンスの切り捨てを行います。このオプションを使用すると、関数はパディングを追加しなくなりますが、代わりにデータが破棄されます。

    入力シーケンスのパディングと切り捨ての効果の詳細については、シーケンスのパディングと切り捨てを参照してください。

    パディングまたは切り捨ての方向。次のいずれかのオプションとして指定します。

    • "right" — シーケンスの右側に対してパディングまたは切り捨てを行います。シーケンスは同じタイム ステップで始まり、ソフトウェアによって各シーケンスの末尾に対して切り捨てまたはパディングの追加が行われます。

    • "left" — シーケンスの左側に対してパディングまたは切り捨てを行います。各シーケンスが同じタイム ステップで終わるように、ソフトウェアによって各シーケンスの先頭に対して切り捨てまたはパディングの追加が行われます。

    再帰層は 1 タイム ステップずつシーケンス データを処理するため、再帰層の OutputMode プロパティが "last" の場合、最後のタイム ステップでパディングを行うと層の出力に悪影響を与える可能性があります。シーケンス データの左側に対してパディングまたは切り捨てを行うには、名前と値の引数 SequencePaddingDirection"left" に設定します。

    sequence-to-sequence ニューラル ネットワークの場合 (各再帰層について OutputMode プロパティが "sequence" である場合)、最初のタイム ステップでパディングを行うと、それ以前のタイム ステップの予測に悪影響を与える可能性があります。シーケンス データの右側に対してパディングまたは切り捨てを行うには、名前と値の引数 SequencePaddingDirection"right" に設定します。

    シーケンスのパディングと切り捨ての効果の詳細については、シーケンスのパディングと切り捨てを参照してください。

    入力シーケンスをパディングする値。スカラーとして指定します。

    ニューラル ネットワーク全体にエラーが伝播される可能性があるため、NaN でシーケンスをパディングしないでください。

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

    ハードウェア リソース。次のいずれかの値として指定します。

    • "auto" — 利用可能な場合、GPU を使用します。そうでない場合、CPU を使用します。net が量子化ネットワークであり、TargetLibrary プロパティが "none" に設定されている場合、GPU が使用可能であっても CPU を使用します。

    • "gpu" — GPU を使用します。GPU を使用するには Parallel Computing Toolbox™ ライセンスとサポートされている GPU デバイスが必要です。サポートされているデバイスの詳細については、GPU 計算の要件 (Parallel Computing Toolbox)を参照してください。Parallel Computing Toolbox または適切な GPU が利用できない場合、エラーが返されます。

    • "cpu" — CPU を使用します。

    パフォーマンスの最適化。次のいずれかの値として指定します。

    • "auto" — 入力ネットワークとハードウェア リソースに適した最適化の回数を自動的に適用します。

    • "mex" — MEX 関数をコンパイルして実行します。このオプションは GPU の使用時にのみ利用できます。入力データ、またはネットワークの学習可能なパラメーターは、gpuArray オブジェクトとして格納しなければなりません。GPU を使用するには Parallel Computing Toolbox とサポートされている GPU デバイスが必要です。サポートされているデバイスの詳細については、GPU 計算の要件 (Parallel Computing Toolbox)を参照してください。Parallel Computing Toolbox または適切な GPU が利用できない場合、エラーが返されます。

    • "none" — すべての高速化を無効にします。

    "auto" オプションまたは "mex" オプションを使用した場合、ソフトウェアはパフォーマンス上のメリットを提供しますが、初期実行時間が長くなります。関数のそれ以降の呼び出しでは、通常、より高速になります。異なる入力データを使用して関数を複数回呼び出す場合は、パフォーマンスの最適化を使用してください。

    Acceleration"mex" の場合、ソフトウェアは、関数の呼び出しで指定したモデルとパラメーターに基づいて MEX 関数を生成し、実行します。1 つのモデルに一度に複数の MEX 関数を関連付けることができます。モデルの変数をクリアすると、そのモデルに関連付けられている MEX 関数もクリアされます。

    Acceleration"auto" の場合、ソフトウェアは MEX 関数を生成しません。

    "mex" オプションは GPU の使用時にのみ利用できます。C/C++ コンパイラがインストールされ、GPU Coder™ Interface for Deep Learning サポート パッケージがなければなりません。MATLAB® でアドオン エクスプローラーを使用してサポート パッケージをインストールします。設定手順については、コンパイラの設定 (GPU Coder)を参照してください。GPU Coder は不要です。

    "mex" オプションには以下の制限があります。

    • single の精度のデータ型のみがサポートされています。入力データまたはネットワークの学習可能なパラメーターは、基となるデータ型が single でなければなりません。

    • 入力層に接続されていない入力が存在するネットワークはサポートされていません。

    • トレースされた dlarray オブジェクトはサポートされていません。これは、dlfeval 関数の呼び出し内では "mex" オプションがサポートされていないことを意味します。

    • 一部の層はサポートされていません。サポートされている層の一覧については、サポートされている層 (GPU Coder)を参照してください。

    • "mex" オプションを使用した場合、MATLAB Compiler™ はネットワークの展開をサポートしません。

    量子化されたネットワークでは、"mex" オプションには、Compute Capability 6.1、6.3、またはそれ以上の CUDA® 対応 NVIDIA® GPU が必要です。

    categorical 入力の符号化。次のいずれかの値として指定します。

    • "auto"metrics"index-crossentropy" が含まれており、"crossentropy" が含まれていない場合、categorical 入力を整数値に変換します。それ以外の場合、categorical 入力をワンホット符号化されたベクトルに変換します。

    • "integer" — categorical 入力を整数値に変換します。

    • "one-hot" — categorical 入力を one-hot 符号化されたベクトルに変換します。

    categorical 入力を整数値に変換する場合、ネットワークは categorical 入力ごとに 1 つの入力チャネルをもたなければなりません。それ以外の場合、ネットワークは categorical 入力ごとに numCategories 個のチャネルをもたなければなりません。ここで、numCategories は対応する categorical 入力のカテゴリの数です。

    カスタム メトリクスの categorical ターゲットの符号化。次のいずれかの値として指定します。

    • "integer" — categorical ターゲットを整数値に変換し、整数に符号化された値をメトリクス関数に渡します。

    • "one-hot" — categorical ターゲットを one-hot 符号化されたベクトルに変換し、one-hot 符号化された値をメトリクス関数に渡します。

    R2025a より前: metrics"index-crossentropy" が含まれており、"crossentropy" が含まれていない場合、ソフトウェアはターゲットを数値クラス インデックスに自動的に変換し、メトリクスに渡します。それ以外の場合、ターゲットが categorical 配列であれば、ソフトウェアはターゲットを自動的に one-hot 符号化されたベクトルに変換し、メトリクスに渡します。

    入力データの次元の説明。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。

    InputDataFormats"auto" の場合、ソフトウェアは、ネットワークの入力で必要とされる形式を使用します。そうでない場合、ソフトウェアは、該当するネットワーク入力に対して指定された形式を使用します。

    データ形式は文字列で、各文字は対応するデータ次元のタイプを表します。

    各文字は以下のとおりです。

    • "S" — 空間

    • "C" — チャネル

    • "B" — バッチ

    • "T" — 時間

    • "U" — 指定なし

    たとえば、シーケンスのバッチを表し、1 番目、2 番目、および 3 番目の次元がそれぞれチャネル、観測値、およびタイム ステップに対応する配列があるとします。データは "CBT" (チャネル、バッチ、時間) の形式で記述できます。

    "S" または "U" のラベルが付いた次元については、複数回指定できます。ラベル "C""B"、および "T" はそれぞれ 1 回まで使用できます。ソフトウェアは、2 番目の次元の後ろにある大きさが 1 の "U" 次元を無視します。

    複数の入力をもつニューラル ネットワーク net の場合、入力データ形式の配列を指定します。ここで、InputDataFormats(i) は入力 net.InputNames(i) に対応します。

    詳細については、深層学習のデータ形式を参照してください。

    データ型: char | string | cell

    ターゲット データの次元の説明。次のいずれかの値として指定します。

    • "auto" — ターゲット データと入力データの次元の数が同じ場合、関数は名前と値の引数 InputDataFormats で指定された形式を使用します。ターゲット データと入力データの次元の数が異なる場合、関数はメトリクス関数で必要とされる形式を使用します。

    • string 配列、文字ベクトル、または文字ベクトルの cell 配列 — 関数はユーザーが指定したデータ形式を使用します。

    データ形式は文字列で、各文字は対応するデータ次元のタイプを表します。

    各文字は以下のとおりです。

    • "S" — 空間

    • "C" — チャネル

    • "B" — バッチ

    • "T" — 時間

    • "U" — 指定なし

    たとえば、シーケンスのバッチを表し、1 番目、2 番目、および 3 番目の次元がそれぞれチャネル、観測値、およびタイム ステップに対応する配列があるとします。データは "CBT" (チャネル、バッチ、時間) の形式で記述できます。

    "S" または "U" のラベルが付いた次元については、複数回指定できます。ラベル "C""B"、および "T" はそれぞれ 1 回まで使用できます。ソフトウェアは、2 番目の次元の後ろにある大きさが 1 の "U" 次元を無視します。

    詳細については、深層学習のデータ形式を参照してください。

    データ型: char | string | cell

    出力引数

    すべて折りたたむ

    評価されたメトリクス値。数値ベクトルまたは table として返されます。

    metricValues のデータ型は、名前と値の引数 OutputMode によって異なります。

    • OutputMode"vector" である場合、出力 metricValues はベクトルとなり、metricValues(i)metric(i) の値に対応します。

    • OutputMode"table" である場合、出力 metricValues は、各メトリクスに対応する名前が付けられた列をもつ 1 行のテーブルになります。

    拡張機能

    すべて展開する

    バージョン履歴

    R2024b で導入

    すべて展開する