主要内容

分类

学習済み深層学習ニュ,ラルネットワ,クを使用したデ,タの分類

説明

1つのCPUまたは1つのGPUで深層学習用の学習済みニューラルネットワークを使用して予測を実行できます。GPUを使用するには并行计算工具箱™とサポートされているGPUデバイスが必要です。サポトされているデバスにいては,Gpu計算の要件(并行计算工具箱)を参照してください。名前と値の引数ExecutionEnvironmentを使用して,ハ,ドウェア要件を指定します。

複数の出力があるネットワ,クの場合,代わりに関数预测を使用して,ReturnCategoricalオプションを真正的に設定します。

Y=分类(图片は,学習済みネットワ,クを使用して,指定された。

Y=分类(序列は,学習済みネットワ,クを使用して,指定されたシ,ケンスのクラスラベルを予測します。

Y=分类(特性は,学習済みネットワ,クを使用して,指定された特徴デ,タのクラスラベルを予測します。

Y=分类(X1,…,XNは,多入力ネットワ,クに対する数値配列またはcell配列X1,…,XNのデ,タのクラスラベルを予測します。入力西は,ネットワ,ク入力net.InputNames(我)に対応します。

Y=分类(混合は,混合するデタ型から成る複数の入力をも学習済みネットワクを使用してクラスラベルを予測します。

Y分数分类;分类;___は,前述の入力引数のいずれかを使用して,クラスラベルに対応する分類スコアも返します。

___=分类(___名称=值は,1以上の名前と値の引数で指定された追加オプションを使用して,クラスラベルを予測します。

ヒント

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

すべて折りたたむ

事前学習済みのネットワ,クdigitsNetを読み込みます。このネットワ,クには,手書きの数字を分類する分類畳み込みニュ,ラルネットワ,クが含まれています。

负载digitsNet

ネットワ,ク層を表示します。ネットワ,クの出力層は分類層です。

层=净。层
图层数组= 15x14 'relu_1' ReLU ReLU 5 'maxpool_1' 2- d Max Pooling 2x2 Max Pooling with stride [2 2] and padding [0 0 0 0 0] 6 'conv_2' 2- d Convolution 16 3x3x8 convolutions with stride [1 1] and padding 'same' 7 'batchnorm_2' Batch normalization Batch normalization with 16 channel 8'relu_2' ReLU ReLU 9 'maxpool_2'二维最大池化2x2最大池化与stride[2 2]和填充[0 0 0 0 0]10 'conv_3'二维卷积32 3x3x16卷积与stride[1 1]和填充'相同' 11 'batchnorm_3'批归一化批归一化32通道12 'relu_3' ReLU ReLU 13 'fc'全连接10全连接层14 'softmax' softmax softmax 15 'classoutput'分类输出crossentropyex与'0'和9个其他类

テスト▪▪メ▪▪ジを読み込みます。

digitDatasetPath = fullfile(toolboxdir(“nnet”),“nndemos”“nndatasets”“DigitDataset”);imdsTest = imageDatastore(digitDatasetPath, inclesubfolders =true);

関数分类を使用して▪▪メ▪▪ジを分類します。

YTest = category (net,imdsTest);

いくかのテストメジを,それらの予測と共にランダムに表示します。

numImages = 9;idx = randperm(nummel (imdste . files),numImages);图tiledlayout (“流”i = 1:numImages nexttile imshow(imdsTest.Files{idx(i)});标题(“预测标签:”+字符串(欧美(idx (i))))结束

图中包含9个轴对象。轴对象1的标题预测标签:8包含一个类型为image的对象。轴对象2的标题预测标签:9包含一个类型为image的对象。轴对象3的标题预测标签:1包含一个类型为image的对象。轴对象4的标题预测标签:9包含一个类型为image的对象。轴对象5的标题预测标签:6包含一个类型为image的对象。标题为predictlabel: 0的坐标轴对象6包含一个image类型的对象。标题为Label: 2的坐标轴对象7包含一个image类型的对象。轴对象8的标题预测标签:5包含一个类型为image的对象。轴对象9,标题预测标签:9包含一个类型为image的对象。

事前学習済みのネットワ,クJapaneseVowelsNetを読み込みます。このネットワークは,[1]および[2]で説明されているように日本元音データセットで学習させた事前学習済みのLSTMネットワークです。これは,ミニバッチのサイズ27を使用して,シーケンス長で並べ替えられたシーケンスで学習させています。

负载JapaneseVowelsNet

ネットワ,クア,キテクチャを表示します。

网层
ans = 5x1层数组与层:1' sequenceinput'序列输入序列输入与12维2 'lstm' lstm lstm与100个隐藏单元3 'fc'全连接9全连接层4 'softmax' softmax softmax 5 'classoutput'分类输出crossentropyex与'1'和8个其他类

テストデ,タを読み込みます。

[XTest,TTest] =日本evowelstestdata;

テストデ,タを分類します。

YTest = category (net,XTest);

混同チャ,トで予測を表示します。

次图confusionchart (tt)

图包含一个confusimatrixchart类型的对象。

予測の分類精度を計算します。

精度=平均值(YTest == TTest)
准确度= 0.8595

事前学習済みのネットワ,クTransmissionCasingNetを読み込みます。このネットワークは,数値センサーの読み取り値,統計量,およびカテゴリカル入力の混合を所与として,トランスミッションシステムの歯車の状態を分類します。

负载TransmissionCasingNet

ネットワ,クア,キテクチャを表示します。

网层
ans = 7x1层阵列:1' input'特征输入22个特征与'zscore'归一化2' fc_1'全连接50全连接层3 'batchnorm'批量归一化批量归一化50通道4 'relu' relu relu 5 'fc_2'全连接2全连接层6 'softmax' softmax softmax 7 'classoutput'分类输出crossentropyex类'No Tooth Fault'和'Tooth Fault'

CSVファCSVル“transmissionCasingData.csv”からトランスミッションケ,シングデ,タを読み取ります。

文件名=“transmissionCasingData.csv”;tbl = readtable(文件名,TextType=“字符串”);

関数convertvarsを使用して,予測のラベルを分类に変換します。

labelName =“GearToothCondition”;tbl = convertvars(tbl,labelName,“分类”);

カテゴリカル特徴量を使用して予測を行うには,最初にカテゴリカル特徴量を数値に変換しなければなりません。まず,関数convertvarsを使用して,すべてのカテゴリカル入力変数の名前を格納した字符串配列を指定することにより,カテゴリカル予測子を直言に変換します。このデ,タセットには,“SensorCondition”“ShaftCondition”という名前の2のカテゴリカル特徴量があります。

categoricalInputNames = [“SensorCondition”“ShaftCondition”];tbl = convertvars(tbl,categoricalInputNames,“分类”);

カテゴリカル入力変数をル,プ処理します。各変数にいて次を行います。

  • 関数onehotencodeを使用して,分类値を一热符号化ベクトルに変換する。

  • 関数addvarsを使用して,单热ベクトルを表に追加する。対応する分类デ,タが含まれる列の後にベクトルを挿入するように指定する。

  • 分类デ,タが含まれる対応する列を削除する。

i = 1:numel(categoricalInputNames) name = categoricalInputNames(i);Oh = onehotencode(tbl(:,name));tbl = addvars(tbl,oh,After=name);Tbl (:,name) = [];结束

関数splitvarsを使用して,ベクトルを別々の列に分割します。

TBL =分裂(TBL);

表の最初の数行を表示します。

头(台)
SigMean SigMedian SigRMS SigVar SigPeak SigPeak2Peak SigSkewness SigKurtosis SigCrestFactor SigMAD SigRangeCumSum SigCorrDimension SigApproxEntropy SigLyapExponent PeakFreq HighFreqPower EnvPower PeakSpecKurtosis没有传感器漂移传感器漂移没有轴穿轴穿GearToothCondition  ________ _________ ______ _______ _______ ____________ ___________ ___________ ______________ _______ ______________ ________________ ________________ _______________ ________ _____________ ________________________ _______________ ____________ _____________ __________ __________________ -0.94876 -0.9722 1.3726 0.98387 0.81571 3.6314 -0.041525 2.2666 2.0514 0.8081 28562 1.1429 0.031581 79.931 0 6.75e-06 3.23e-07 162.13 01 10无齿故障-0.97537 -0.98958 1.3937 0.99105 0.81571 3.6314 -0.023777 2.2598 2.0203 0.81017 29418 1.1362 0.037835 70.325 0 5.08e-08 9.16e-08 226.12 01 10无齿故障1.0502 1.0267 1.4449 0.98491 3.6314 -0.04162 2.2658 1.9487 0.80853 31710 1.14790.031565 - 125.19 6.74 2.85 e-06 e-07 162.13 0 1 0 1没有牙齿错1.0227 1.0045 1.4288 0.99553 2.8157 3.6314 -0.016356 2.2483 1.9707 0.81324 30984 1.1472 0.032088 112.5 4.99 e-06 2.4 e-07 162.13 0 1 0 1没有牙齿错1.0123 1.0024 1.4202 0.99233 2.8157 3.6314 -0.014701 2.2542 1.9826 0.81156 30661 1.1469 0.03287 108.86 3.62 e-06 2.28 e-07 230.39 0 1 0 1没有牙齿错1.0275 1.0102 1.4338 1.0001 2.8157 3.6314 -0.02659 2.2439 1.9638 1.65 0.81589 1.0985 0.033427 64.576 31102 0 2.55 e-06 e-07 230.3901 01牙号故障1.0464 1.0275 1.4477 1.0011 2.8157 3.6314 -0.042849 2.2455 1.9449 0.81595 31665 1.1417 0.034159 98.838 0 1.73e-06 1.55e-07 230.39 01 01牙号故障1.0459 1.0257 1.4402 0.98047 2.8157 3.6314 -0.035405 2.2757 1.955 0.80583 31554 1.1345 0.0353 44.223 0 1.11e-06 1.39e-07 230.39 01 011牙号故障

表からテストラベルを抽出します。

TTest = tbl{:,labelName};

学習済みネットワ,クを使用してテストデ,タのラベルを予測し,精度を計算します。学習に使用されるサ▪▪ズと同じミニバッチサ▪▪ズを指定します。

YTest =分类(net,tbl(:,1:end-1));

混同行列で予測を可視化します。

次图confusionchart (tt)

图包含一个confusimatrixchart类型的对象。

分類精度を計算します。精度は,ネットワ,クが正しく予測するラベルの比率です。

精度=平均值(YTest == TTest)
准确度= 0.9952

入力引数

すべて折りたたむ

学習済みネットワ,ク。SeriesNetworkまたはDAGNetworkオブジェクトとして指定します。事前学習済みのネットワ,クをインポートする (たとえば、関数googlenetを使用する),またはtrainNetworkを使用して独自のネットワ,クに学習させることによって,学習済みネットワ,クを取得できます。

。次のいずれかとして指定します。

デタ型 説明 使用例
デ,タストア ImageDatastore ディスクに保存されたメジのデタストア

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

@ @ @ @ @ @ @ @ @ @ @ @ @ @AugmentedImageDatastoreオブジェクトを使用します。

AugmentedImageDatastore サイズ変更,回転,反転,せん断,平行移動を含む,ランダムなアフィン幾何学的変換を適用するデータストア

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

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

  • 分类でサポトされていない出力をもデタストアを変換する。

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

CombinedDatastore 2 .以上の基になるデタストアからデタを読み取るデタストア

  • 複数の入力をもネットワクを使用して予測を行う。

  • 異なるデ,タソ,スから取得した予測子を結合する。

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

他のデ,タストアでサポ,トされていない形式のデ,タを使用して予測を行います。

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

数値配列 数値配列として指定された▪▪メ▪▪ジ メモリに収まり,なおかサズ変更などの追加の処理を必要としないデタを使用して予測を行います。
表格 表として指定されたaapl . exe .メ 表に格納されたデ,タを使用して予測を行います。

複数の入力をもTransformedDatastoreオブジェクトまたはCombinedDatastoreオブジェクトでなければなりません。

ヒント

ビデオデタのようなメジのシケンスの場合,入力引数序列を使用します。

デ,タストア

デ,タストアは;デ,タストアは、メモリに収まらないデータがある場合や、入力データのサイズを変更したい場合に使用します。

以下のデタストアは,メジデタ用の分类と直接互換性があります。

ImageDatastoreオブジェクトを使用すると,事前取得を使用してJPGまたはPNGイメージファイルのバッチ読み取りを行うことができる点に注意してください。メ,ジの読み取りにカスタム関数を使用する場合,ImageDatastoreオブジェクトは事前取得を行いません。

ヒント

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @augmentedImageDatastoreを使用します。

関数imageDatastorereadFcnオプションは通常,速度が大幅に低下するため,前処理またはサesc escズ変更に使用しないでください。

関数变换および结合を使用して,予測を行うための他の組み込みデ,タストアを使用できます。これらの関数は,デ,タストアから読み取られたデ,タを,分类に必要な形式に変換できます。

デ,タストア出力に必要な形式は,ネットワ,クア,キテクチャによって異なります。

ネットワ,クア,キテクチャ デ,タストア出力 出力の例
単一入力

表またはcell配列。最初の列は予測子を指定します。

表の要素は,スカラー,行ベクトルであるか,数値配列が格納された1行1列の细胞配列でなければなりません。

カスタムデ,タストアは表を出力しなければなりません。

数据=读取(ds)
data = 4×1 table Predictors __________________ {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double}
数据=读取(ds)
Data = 4×1 cell array {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double}
複数入力

少なくともnumInputs個の列をもcell配列。numInputsはネットワ,ク入力の数です。

最初のnumInputs個の列は,各入力の予測子を指定します。

入力の順序は,ネットワ,クのInputNamesプロパティによって指定されます。

数据=读取(ds)
Data = 4×2 cell array {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double}

予測子の形式は,デ,タのタ,プによって異なります。

デタ 形式
2次元

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

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

詳細にいては,深層学習用のデ,タストアを参照してください。

数値配列

メモリに収まり,なおかつ拡張などの追加の処理を必要としないデータの場合,イメージのデータセットを数値配列として指定できます。

数値配列のサ。

デタ 形式
2次元

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

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

表格

デ,タストアまたは数値配列の代わりに,メ,ジを表で指定することもできます。

表で指定した場合,表の各行は観測値に対応します。

イメージ入力の場合,予測子は表の最初の列に格納し,次のいずれかとして指定しなければなりません。

  • @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @文字ベクトルとして指定します。

  • 1行1列のcell配列。ここで,h, w,およびcは,それぞれメ,ジの高さ,幅,およびチャネル数に対応します。

ヒント

複素数値のデ,タをネットワ,クに入力するには,入力層のSplitComplexInputsオプションが1でなければなりません。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|表格
複素数のサポ,ト:あり

シ,ケンスデ,タまたは時系列デ,タ。次のいずれかとして指定します。

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

  • 分类でサポトされていない出力をもデタストアを変換する。

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

CombinedDatastore 2 .以上の基になるデタストアからデタを読み取るデタストア

  • 複数の入力をもネットワクを使用して予測を行う。

  • 異なるデ,タソ,スから取得した予測子を結合する。

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

他のデ,タストアでサポ,トされていない形式のデ,タを使用して予測を行います。

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

数値配列またはcell配列 数値配列として指定した,単一のシ,ケンス。または数値配列のcell配列として指定した、シーケンスのデータ セット メモリに収まり,なおかつカスタム変換などの追加の処理を必要としないデータを使用して,予測を行います。

デ,タストア

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

以下のデ,タストアは,シ,ケンスデ,タ用の分类と直接互換性があります。

関数变换および结合を使用して,予測を行うための他の組み込みデ,タストアを使用できます。これらの関数は,デ,タストアから読み取られたデ,タを,分类に必要な表または单元格配列形式に変換できます。たとえば,ArrayDatastoreオブジェクトおよびTabularTextDatastoreオブジェクトをそれぞれ使用して,インメモリ配列およびCSVファイルから読み取ったデータの変換と結合を行うことができます。

デ,タストアは,表またはcell配列でデ,タを返さなければなりません。カスタムミニバッチデ,タストアは,表を出力しなければなりません。

デ,タストア出力 出力の例
表格
数据=读取(ds)
data = 4×2表预测  __________________ { 12×50双}{12×50双}{12×50双}{12×50双}
细胞配列
数据=读取(ds)
Data = 4×2 cell array {12×50 double} {12×50 double} {12×50 double} {12×50 double}

予測子の形式は,デ,タのタ,プによって異なります。

デタ 予測子の形式
ベクトルシ,ケンス

C行s列の行列。ここで,c はシーケンスの特徴の数、s はシーケンス長です。

1次元メジシケンス

H x c x sの配列。ここで,h および c はそれぞれイメージの高さおよびチャネル数に対応します。s はシーケンス長です。

ミニバッチ内の各シ,ケンスは,同じシ,ケンス長でなければなりません。

2次元メジシケンス

高x宽x c x sの配列。ここで,h、w、および c はそれぞれイメージの高さ、幅、およびチャネル数に対応します。s はシーケンス長です。

ミニバッチ内の各シ,ケンスは,同じシ,ケンス長でなければなりません。

3次元メジシケンス

高x宽x深x c x sの配列。ここで,h、w、d、および c は、それぞれイメージの高さ、幅、深さ、およびチャネル数に対応します。s はシーケンス長です。

ミニバッチ内の各シ,ケンスは,同じシ,ケンス長でなければなりません。

予測子が表で返される場合,数値スカラーまたは数値行ベクトルが要素に含まれているか,数値配列が格納された1行1列の细胞配列が要素に含まれていなければなりません。

詳細にいては,深層学習用のデ,タストアを参照してください。

数値配列またはcell配列

メモリに収まり,なおかつカスタム変換などの追加の処理を必要としないデータの場合,単一のシーケンスを数値配列として指定するか,シーケンスのデータセットを数値配列の细胞配列として指定することができます。

细胞配列入力の場合、细胞配列は,数値配列から成るN行1列の细胞配列でなければなりません。ここで,nは観測値の数です。シケンスを表す数値配列のサズと形状は,シケンスデタのタプによって異なります。

入力 説明
ベクトルシ,ケンス C行s列の行列。ここで,c はシーケンスの特徴の数、s はシーケンス長です。
1次元メジシケンス H×c×sの配列。ここで,h および c はそれぞれイメージの高さおよびチャネル数に対応します。s はシーケンス長です。
2次元メジシケンス H×w×c×sの配列。ここで,h、w、および c は、それぞれイメージの高さ、幅、およびチャネル数に対応します。s はシーケンス長です。
3次元メジシケンス c d w h××××。ここで,h、w、d、および c は、それぞれ 3 次元イメージの高さ、幅、深さ、およびチャネル数に対応します。s はシーケンス長です。

ヒント

複素数値のデ,タをネットワ,クに入力するには,入力層のSplitComplexInputsオプションが1でなければなりません。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|细胞
複素数のサポ,ト:あり

特徴デ,タ。次のいずれかとして指定します。

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

  • 分类でサポトされていない出力をもデタストアを変換する。

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

CombinedDatastore 2 .以上の基になるデタストアからデタを読み取るデタストア

  • 複数の入力をもネットワクを使用して予測を行う。

  • 異なるデ,タソ,スから取得した予測子を結合する。

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

他のデ,タストアでサポ,トされていない形式のデ,タを使用して予測を行います。

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

表格 表として指定された特徴デ,タ 表に格納されたデ,タを使用して予測を行います。
数値配列 数値配列として指定された特徴デ,タ メモリに収まり,なおかつカスタム変換などの追加の処理を必要としないデータを使用して,予測を行います。

デ,タストア

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

以下のデ,タストアは,特徴デ,タ用の分类と直接互換性があります。

関数变换および结合を使用して,予測を行うための他の組み込みデ,タストアを使用できます。これらの関数は,デ,タストアから読み取られたデ,タを,分类に必要な表または单元格配列形式に変換できます。詳細にいては,深層学習用のデ,タストアを参照してください。

複数の入力があるネットワ,クの場合,デ,タストアはTransformedDatastoreオブジェクトまたはCombinedDatastoreオブジェクトでなければなりません。

デ,タストアは,表またはcell配列でデ,タを返さなければなりません。カスタムミニバッチデ,タストアは,表を出力しなければなりません。デ,タストア出力の形式は,ネットワ,クア,キテクチャによって異なります。

ネットワ,クア,キテクチャ デ,タストア出力 出力の例
単入力層

少なくとも1の列をもtable cell。最初の列は予測子を指定します。

表の要素は,スカラー,行ベクトルであるか,数値配列が格納された1行1列の细胞配列でなければなりません。

カスタムミニバッチデ,タストアは,表を出力しなければなりません。

1 .表:

数据=读取(ds)
data = 4×2表预测  __________________ { 24×24×1双}{1双}{24×1双}{24×1双}

1の入力があるネットワクのcell配列:

数据=读取(ds)
Data = 4×1 cell array {24×1 double} {24×1 double} {24×1 double} {24×1 double}

多入力層

少なくともnumInputs個の列をもcell配列。numInputsはネットワ,ク入力の数です。

最初のnumInputs個の列は,各入力の予測子を指定します。

入力の順序は,ネットワ,クのInputNamesプロパティによって指定されます。

2の入力があるネットワクのcell配列:

数据=读取(ds)
Data = 4×3 cell array {24×1 double} {28×1 double} {24×1 double} {28×1 double} {24×1 double} {28×1 double} {24×1 double} {28×1 double}

予測子は,c行1列の列ベクトルでなければなりません。ここで,cは特徴の数です。

詳細にいては,深層学習用のデ,タストアを参照してください。

表格

メモリに収まり,なおかつカスタム変換などの追加の処理を必要としない特徴データの場合,特徴データと応答を表として指定できます。

表の各行は観測値に対応します。表格の列での予測子の配置は、タスクのタイプによって異なります。

タスク 予測子
特徴分類

1以上の列でスカラとして指定された特徴。

数値配列

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

数値配列は,n行numFeatures列の数値配列でなければなりません。ここで,nは観測値の数,numFeaturesは入力デ,タの特徴の数です。

ヒント

複素数値のデ,タをネットワ,クに入力するには,入力層のSplitComplexInputsオプションが1でなければなりません。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|表格
複素数のサポ,ト:あり

複数の入力をもcell配列。

►メ,ジ,シ,ケンス,および特徴の予測子入力の場合,予測子の形式は,图片序列,または特性のそれぞれの引数の説明に記載されている形式と一致しなければなりません。

複数の入力をもネットワクに学習させる方法を説明する例にいては,イメージデータおよび特徴データにおけるネットワークの学習を参照してください。

複素数値のデ,タをネットワ,クに入力するには,入力層のSplitComplexInputsオプションが1でなければなりません。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|细胞
複素数のサポ,ト:あり

混在デ,タ。次のいずれかとして指定します。

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

  • 複数の入力をもネットワクを使用して予測を行う。

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

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

CombinedDatastore 2 .以上の基になるデタストアからデタを読み取るデタストア

  • 複数の入力をもネットワクを使用して予測を行う。

  • 異なるデ,タソ,スから取得した予測子を結合する。

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

他のデ,タストアでサポ,トされていない形式のデ,タを使用して予測を行います。

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

関数变换および结合を使用して,予測を行うための他の組み込みデ,タストアを使用できます。これらの関数は,デ,タストアから読み取られたデ,タを,分类に必要な表または单元格配列形式に変換できます。詳細にいては,深層学習用のデ,タストアを参照してください。

デ,タストアは,表またはcell配列でデ,タを返さなければなりません。カスタムミニバッチデ,タストアは,表を出力しなければなりません。デ,タストア出力の形式は,ネットワ,クア,キテクチャによって異なります。

デ,タストア出力 出力の例

numInputs列のcell配列。numInputsはネットワ,ク入力の数です。

入力の順序は,ネットワ,クのInputNamesプロパティによって指定されます。

数据=读取(ds)
Data = 4×3 cell array {24×1 double} {28×1 double} {24×1 double} {28×1 double} {24×1 double} {28×1 double} {24×1 double} {28×1 double}

►メ,ジ,シ,ケンス,および特徴の予測子入力の場合,予測子の形式は,图片序列,または特性のそれぞれの引数の説明に記載されている形式と一致しなければなりません。

複数の入力をもネットワクに学習させる方法を説明する例にいては,イメージデータおよび特徴データにおけるネットワークの学習を参照してください。

ヒント

数値配列をデ,タストアに変換するには,arrayDatastoreを使用します。

名前と値の引数

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

R2021aより前では,コンマを使用して名前と値の各ペアを区切り,的名字を引用符で囲みます。

例:MiniBatchSize = 256はミニバッチのサesc escズを256に指定します。

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

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

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

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

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

  • “墨西哥人”- mex関数をコンパ电子邮箱ルして実行します。このオプションはgpuの使用時にのみ利用できます。GPUを使用するには并行计算工具箱とサポートされているGPUデバイスが必要です。サポトされているデバスにいては,Gpu計算の要件(并行计算工具箱)を参照してください。并行计算工具箱または適切なGPUが利用できない場合,エラーが返されます。

  • “没有”-すべての高速化を無効にします。

加速度“汽车”の場合,matlab®は互換性のある最適化を複数適用し,mex関数を生成しません。

“汽车”オプションおよび“墨西哥人”オプションは,パフォ,マンス上のメリットがありますが,初期実行時間が長くなります。互換性のあるパラメ,タ,を使用した後続の呼び出しは,より高速になります。新しい入力デ,タを使用して関数を複数回呼び出す場合は,パフォ,マンスの最適化を使用してください。

“墨西哥人”オプションは,関数の呼び出しに使用されたネットワークとパラメーターに基づいて墨西哥人関数を生成し,実行します。複数のmex関数を一度に1のネットワクに関連付けることができます。ネットワークの変数をクリアすると,そのネットワークに関連付けられている墨西哥人関数もクリアされます。

“墨西哥人”オプションは,単一のgpuの使用時に利用できます。

“墨西哥人”オプションを使用するには,C / c++コンパイラがインストールされ,GPU编码器™界面深度学习库サポートパッケージがなければなりません。Matlabでアドオンエクスプロラを使用してサポトパッケジをンストルします。設定手順にいては,墨西哥の設定(GPU编码器)を参照してください。GPU编码器は不要です。

“墨西哥人”オプションは,サポ,トされている層(GPU编码器)ペ,ジにリストされている層を含むネットワ,クをサポ,トしています。ただし,sequenceInputLayerオブジェクトとfeatureInputLayerオブジェクトを除きます。

“墨西哥人”オプションを使用する場合,MATLAB编译器™はネットワ,クの展開をサポ,トしません。

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

  • “汽车”—利用可能な場合はgpuを使用し,そうでない場合はCPUを使用します。

  • “图形”- gpuを使用します。GPUを使用するには并行计算工具箱とサポートされているGPUデバイスが必要です。サポトされているデバスにいては,Gpu計算の要件(并行计算工具箱)を参照してください。并行计算工具箱または適切なGPUが利用できない場合,エラーが返されます。

  • “cpu”—CPUを使用します。

  • “multi-gpu”——既定のクラスタープロファイルに基づいてローカルの並列プールを使用して,1つのマシンで複数のGPUを使用します。現在の並列プールがない場合,使用可能なGPUの数と等しいプールサイズの並列プールが起動されます。

  • “平行”—既定のクラスタプロファルに基づいてロカルまたはリモトの並列プルを使用します。現在の並列プールがない場合,既定のクラスタープロファイルを使用して1つのプールが起動されます。プルからgpuにアクセスできる場合,固有のgpuを持ワカのみが計算を実行します。プルにgpuがない場合,代わりに使用可能なすべてのCPUワカで計算が実行されます。

さまざまな実行環境をどのような場合に使用するかの詳細は,并行、gpu和云中扩展深度学习を参照してください。

“图形”“multi-gpu”,および“平行”のオプションを使用するには,并行计算工具箱が必要です。深層学習にgpuを使用するには,サポトされているgpuデバスもなければなりません。サポトされているデバスにいては,Gpu計算の要件(并行计算工具箱)を参照してください。これらのいずれかのオプションの選択時に并行计算工具箱または適切なGPUを利用できない場合,エラーが返されます。

ExecutionEnvironment“multi-gpu”または“平行”に設定し,再帰層を含むネットワ,クを使用して並列に予測を行うには,SequenceLengthオプションを“最短”または“最长”に設定しなければなりません。

状态パラメタをもカスタム層を含むネットワクは,並列の予測をサポトしていません。

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

  • “最长”—各ミニバッチで,最長のシケンスと同じ長さになるようにシケンスのパディングを行います。このオプションを使用するとデータは破棄されませんが,パディングによってネットワークにノイズが生じることがあります。

  • “最短”—各ミニバッチで,最短のシケンスと同じ長さになるようにシケンスの切り捨てを行います。このオプションを使用するとパディングは追加されませんが,デ,タが破棄されます。

  • 正の整数——各ミニバッチについて,そのミニバッチ内で最も長いシーケンスに合わせてシーケンスをパディングした後,指定した長さのより小さいシーケンスに分割します。分割が発生すると,追加のミニバッチが作成されます。指定したシーケンス長によってデータのシーケンスを均等に分割できない場合,最後のシーケンスを含むミニバッチの長さは指定した長さより短くなります。シ,ケンス全体がメモリに収まらない場合は,このオプションを使用します。または,MiniBatchSizeオプションをより小さい値に設定して,ミニバッチごとのシ,ケンス数を減らしてみます。

入力シ,ケンスのパディング,切り捨て,および分割の効果の詳細は,シ,ケンスのパディング,切り捨て,および分割を参照してください。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串

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

  • “正确”—シケンスの右側に対してパディングまたは切り捨てを行います。シーケンスは同じタイムステップで始まり,シーケンスの末尾に対して切り捨てまたはパディングの追加が行われます。

  • “左”—シケンスの左側に対してパディングまたは切り捨てを行います。シーケンスが同じタイムステップで終わるように,シーケンスの先頭に対して切り捨てまたはパディングの追加が行われます。

再帰層は1タOutputModeプロパティが“最后一次”の場合,最後のタ。シ,ケンスデ,タの左側に対してパディングまたは切り捨てを行うには,SequencePaddingDirectionオプションを“左”に設定します。

序列对序列ネットワ,クの場合(各再帰層に,いてOutputModeプロパティが“序列”である場合),最初のタイムステップでパティングを行うと,それ以前のタイムステップの予測に悪影響を与える可能性があります。シ,ケンスの右側に対してパディングまたは切り捨てを行うには,SequencePaddingDirectionオプションを“正确”に設定します。

入力シ,ケンスのパディング,切り捨て,および分割の効果の詳細は,シ,ケンスのパディング,切り捨て,および分割を参照してください。

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

このオプションは,SequenceLength“最长”または正の整数の場合にのみ有効です。ネットワ,ク全体にエラ,が伝播される可能性があるため,でシ,ケンスをパディングしないでください。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

出力引数

すべて折りたたむ

予測クラスラベル。直言ベクトル,または直言ベクトルの细胞配列として返されます。Yの形式は,タスクのタ。

次の表は,分類タスクの形式にいて説明しています。

タスク 形式
メ,ジ分類または特徴分類 ラベルのN行1列の分类ベクトル。Nは観測値の数です。
从序列到标签分類
序列对序列分類

ラベルのカテゴリカルシケンスのN行1列のcell配列。Nは観測値の数です。SequenceLengthオプションが各ミニバッチに個別に適用された後は,各シーケンスに,対応する入力シーケンスと同じ数のタイムステップが含まれます。

観測値が1;序列を行列にすることができます。この場合,Yはラベルのカテゴリカルシ,ケンスです。

予測スコアまたは応答。行列,または行列の单元格配列として返されます。分数の形式は,タスクのタ。

次の表は,分数の形式にいて説明しています。

タスク 形式
メ,ジ分類 N行k列の行列。Nは観測値の数,kはクラスの数です。
从序列到标签分類
特徴分類
序列对序列分類

行列のN行1列のcell配列。Nは観測値の数です。シ,ケンスはk行の行列で,kはクラスの数です。SequenceLengthオプションが各ミニバッチに個別に適用された後は,各シーケンスに,対応する入力シーケンスと同じ数のタイムステップが含まれます。

観測値が1;序列を行列にすることができます。この場合,分数は,予測クラススコアの行列です。

分類スコアを調べる例にいては,深層学習を使用したWebカメラメジの分類を参照してください。

アルゴリズム

関数trainNetworkを使用してネットワ,クに学習させる場合や,DAGNetworkオブジェクトおよびSeriesNetworkオブジェクトと共に予測関数または検証関数を使用する場合,ソフトウェアは単精度浮動小数点演算を使用して,これらの計算を実行します。学習,予測,および検証のための関数には,trainNetwork预测分类,および激活が含まれます。CPUとgpuの両方を使用してネットワ,クに学習させる場合,単精度演算が使用されます。

代替方法

複数の出力層をも関数预测を使用し,ReturnCategoricalオプションを1(正确)に設定します。

予測された分類スコアを計算するために,関数预测を使用することもできます。

ネットワ,ク層から活性化を計算するには,関数激活を使用します。

LSTMネットワ,クなどの再帰型ネットワ,クでは,classifyAndUpdateStateおよびpredictAndUpdateStateを使用してネットワ,クの状態の予測および更新を実行できます。

参照

[1]工藤,美一,富山俊,新保真。“使用穿过区域的多维曲线分类”模式识别信20,没有。11-13(1999年11月):1103-11。https://doi.org/10.1016/s0167 - 8655 (99) 00077 - x

[2] UCI机器学习库:日语元音数据集。https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels

拡張機能

バ,ジョン履歴

R2016aで導入

すべて展開する