最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

dlarray をサポートする関数の一覧

dlarray をサポートする Deep Learning Toolbox 関数

次の表は、dlarray オブジェクトに対して作用する Deep Learning Toolbox™ 関数、およびこれらの関数の簡単な説明を示します。

深層学習の操作

関数説明
avgpool平均プーリング演算は、入力をプーリング領域に分割し、各領域の平均値を計算することによって、ダウンサンプリングを実行します。
batchnormバッチ正規化演算は、ミニバッチ全体で各入力チャネルを正規化します。畳み込みニューラル ネットワークの学習速度を上げ、ネットワークの初期化に対する感度を下げるには、relu など、畳み込み演算と非線形演算の間のバッチ正規化を使用します。
crossentropy交差エントロピー演算は、単一ラベル分類タスクおよび複数ラベル分類タスクのネットワーク予測とターゲット値の間の交差エントロピー損失を計算します。
crosschannelnormクロスチャネル正規化演算は、異なるチャネルで局所応答を使用し、各活性化を正規化します。通常、クロスチャネル正規化は、relu 演算に続きます。クロスチャネル正規化は、局所応答正規化とも呼ばれます。
dlconv畳み込み演算は、入力データにスライディング フィルターを適用します。1 次元および 2 次元フィルターはグループ化されていない畳み込みまたはグループ化された畳み込みに使用し、3 次元フィルターはグループ化されていない畳み込みに使用します。
dltranspconv転置畳み込み演算は、特徴マップをアップサンプリングします。
fullyconnect全結合演算は、入力に重み行列を乗算してから、バイアス ベクトルを加算します。
gruゲート付き回帰型ユニット (GRU) 演算では、時系列データとシーケンス データのタイム ステップの間の依存関係をネットワークに学習させることができます。
leakyrelu漏洩正規化線形ユニット (ReLU) 活性化演算は、非線形のしきい値処理を実行し、入力値がゼロよりも小さい場合は固定スケール係数で乗算します。
lstm長短期記憶 (LSTM) 演算では、時系列データおよびシーケンス データのタイム ステップ間の長期的な依存関係をネットワークに学習させることができます。
maxpool最大プーリング演算は、入力をプーリング領域に分割し、各領域の最大値を計算することによって、ダウンサンプリングを実行します。
maxunpool最大逆プーリング演算は、ゼロでアップサンプリングとパディングを行うことによって、最大プーリング演算の出力を逆プーリングします。
mse半平均二乗誤差演算は、回帰タスクのネットワーク予測とターゲット値の間の半平均二乗誤差損失を計算します。
relu正規化線形ユニット (ReLU) 活性化演算は、非線形のしきい値処理を実行し、入力値がゼロよりも小さい場合はゼロに設定します。
sigmoidシグモイド活性化演算は、入力データにシグモイド関数を適用します。
softmaxソフトマックス活性化演算は、入力データのチャネルの次元にソフトマックス関数を適用します。

dlarray 固有の関数

関数説明
dimsこの関数は、dlarray のデータ形式を返します。
dlmtimesこの関数は、2 つの入力 dlarray オブジェクトの各ページに行列の乗算を適用します。これはバッチ行列乗算と呼ばれることもあります。
dlfevalこの関数は、自動微分を使用して関数 dlarray を評価します。
dlgradientこの関数は、自動微分を使用して勾配を計算します。
extractdataこの関数は、dlarray からデータを抽出します。
finddimこの関数は、任意の次元ラベルが付いた dlarray の次元のインデックスを検出します。
stripdimsこの関数は、dlarray からデータ形式を削除します。

dlarray をサポートする MATLAB 関数

MATLAB® 関数の多くは dlarray オブジェクトに対して作用します。次の表は、引数 dlarray を使用する場合のこれらの関数の使用上の注意と制限を示します。

単項の要素単位の関数

関数注意と制限
abs

出力 dlarray のデータ形式は入力 dlarray と同じになります。

cos
cosh
cot
csc
exp
log
  • 出力 dlarray のデータ形式は入力 dlarray と同じになります。

  • dlarray は複素数をサポートしないため、入力 dlarray には非負の値が含まれなければなりません。

sec

出力 dlarray のデータ形式は入力 dlarray と同じになります。

sign
sin
sinh
sqrt
  • 出力 dlarray のデータ形式は入力 dlarray と同じになります。

  • dlarray は複素数をサポートしないため、入力 dlarray には非負の値が含まれなければなりません。

tan

出力 dlarray のデータ形式は入力 dlarray と同じになります。

tanh
uminus-

二項の要素単位の演算子

関数注意と制限
minus-

2 つの dlarray 入力が書式化されている場合、出力 dlarray は、その両方のデータ形式の組み合わせを使用して書式化されます。この関数は暗黙的な拡張を使用して入力を結合します。詳細については、データ形式での暗黙的な拡張を参照してください。

plus+
power.^
  • 2 つの dlarray 入力が書式化されている場合、出力 dlarray は、その両方のデータ形式の組み合わせを使用して書式化されます。この関数は暗黙的な拡張を使用して入力を結合します。詳細については、データ形式での暗黙的な拡張を参照してください。

  • dlarray は複素数をサポートしないため、出力の要素が複素数の場合、エラーが生成されます。

rdivide./

2 つの dlarray 入力が書式化されている場合、出力 dlarray は、その両方のデータ形式の組み合わせを使用して書式化されます。この関数は暗黙的な拡張を使用して入力を結合します。詳細については、データ形式での暗黙的な拡張を参照してください。

times.*

リダクション関数

関数注意と制限
mean
  • 出力 dlarray のデータ形式は入力 dlarray と同じになります。

  • 'omitnan' オプションはサポートされません。

  • 入力 dlarray が GPU にある場合、'native' オプションはサポートされません。

prod
  • 出力 dlarray のデータ形式は入力 dlarray と同じになります。

  • 'omitnan' オプションはサポートされません。

sum

極値関数

関数注意と制限
ceil

出力 dlarray のデータ形式は入力 dlarray と同じになります。

eps
  • 出力 dlarray のデータ形式は入力 dlarray と同じになります。

  • eps(ones(‘like’, x)) を使用して、dlarray x のデータ型に基づいてスカラーのイプシロンの値を取得します。

fix

出力 dlarray のデータ形式は入力 dlarray と同じになります。

floor

出力 dlarray のデータ形式は入力 dlarray と同じになります。

max
  • 単一の dlarray の最大要素または最小要素が見つかった場合、出力 dlarray のデータ形式は入力 dlarray と同じになります。

  • 書式化されている 2 つの dlarray 入力間に最大要素または最小要素が見つかった場合、出力 dlarray には両方のデータ形式の組み合わせが含まれます。この関数は暗黙的な拡張を使用して入力を結合します。詳細については、データ形式での暗黙的な拡張を参照してください。

min
rescale
  • 最初の入力 dlarray A が書式化されていない場合、追加入力はすべて書式化されていないものでなければなりません。

  • 最初の入力 dlarray A が書式化されている場合、追加入力はすべて、書式化されていないスカラーであるか、データ形式が A のデータ形式のサブセットでなければなりません。この場合、各次元は 1 であるか、A の対応する次元の長さに一致しなければなりません。

round
  • 構文 Y = round(X) のみがサポートされます。

  • 出力 dlarray のデータ形式は入力 dlarray と同じになります。

その他の算術演算子

関数注意と制限
colon:
  • サポートされている演算は次のとおりです。

    • a:b

    • a:b:c

    dlarray のインデックス付けの詳細は、インデックスを参照してください。

  • すべての入力は実数スカラーでなければなりません。出力 dlarray は書式化されません。

mrdivide/

2 番目の dlarray 入力はスカラーでなければなりません。出力 dlarray のデータ形式は最初の dlarray 入力と同じになります。

mtimes*

一方の dlarray が書式化されるのは、他方の入力が書式化されていないスカラーである場合のみです。この場合、出力 dlarray のデータ形式は、書式化された dlarray 入力と同じになります。

論理演算

関数注意と制限
all

出力 dlarray のデータ形式は入力 dlarray と同じになります。

and&

2 つの dlarray 入力が書式化されている場合、出力 dlarray は、その両方のデータ形式の組み合わせを使用して書式化されます。この関数は暗黙的な拡張を使用して入力を結合します。詳細については、データ形式での暗黙的な拡張を参照してください。

any

出力 dlarray のデータ形式は入力 dlarray と同じになります。

eq==

2 つの dlarray 入力が書式化されている場合、出力 dlarray は、その両方のデータ形式の組み合わせを使用して書式化されます。この関数は暗黙的な拡張を使用して入力を結合します。詳細については、データ形式での暗黙的な拡張を参照してください。

ge>=
gt>
le<=
lt<
ne~=
not~

出力 dlarray のデータ形式は入力 dlarray と同じになります。

or|

2 つの dlarray 入力が書式化されている場合、出力 dlarray は、その両方のデータ形式の組み合わせを使用して書式化されます。この関数は暗黙的な拡張を使用して入力を結合します。詳細については、データ形式での暗黙的な拡張を参照してください。

xor

サイズ操作関数

関数注意と制限
reshape

入力 dlarray が書式化されていても、出力 dlarray は書式化されません。

squeeze

2 次元の dlarray オブジェクトは squeeze の影響を受けません。入力 dlarray が書式化されている場合、この関数は大きさが 1 の次元に属する次元ラベルを削除します。入力 dlarray に 2 つを超える次元があり、その 3 番目以上の次元の大きさが 1 である場合、この関数はこれらの次元とそのラベルを破棄します。

転置演算

関数注意と制限
ctranspose, '

入力 dlarray が書式化されている場合、両方の次元のラベルは同じでなければなりません。この関数は転置を暗黙的に実行し、他の演算に必要な場合のみ転置を直接行います。

permute

入力 dlarray が書式化されている場合、置換は同じラベルが付いている次元でのみ行われなければなりません。この関数は置換を暗黙的に実行し、他の演算に必要な場合のみ置換を直接行います。

transpose, .'

入力 dlarray が書式化されている場合、両方の次元のラベルは同じでなければなりません。この関数は転置を暗黙的に実行し、他の演算に必要な場合のみ転置を直接行います。

連結関数

関数注意と制限
cat

dlarray 入力は、形式が一致しているか、書式化されていないものでなければなりません。書式化されている入力と書式化されていない入力の混在はサポートされています。いずれかの dlarray 入力が書式化されている場合、出力 dlarray は同じデータ形式で書式化されます。

horzcat
vertcat

変換関数

関数注意と制限
cast
  • cast(dlA,newdatatype) は、dlarray dlA のデータを基となるデータ型 newdatatypedlarray にコピーします。newdatatype オプションは 'double''single'、または 'logical' でなければなりません。出力 dlarraydlA と同じデータ形式で書式化されます。

  • cast(A,'like',Y) は、Y と同じ型の配列を返します。Ydlarray である場合、出力は基となるデータ型が Y と同じ dlarray になります。Y が GPU にある場合、出力は GPU にあります。AY が両方とも dlarray オブジェクトである場合、出力 dlarray は入力 A と同じデータ形式で書式化されます。

double

出力は double 型のデータが含まれる dlarray です。

gather (Parallel Computing Toolbox)
  • サポートされている構文は次のとおりです。

    • dlX = gather(dlA)

    • [dlX,dlY,dlZ,...] = gather(dlA,dlB,dlC,...)

  • gather(dlA) は、数値データまたは logical データが含まれる dlarray を返します。この関数は、dlarray dlA 内の基となるデータに gather を適用します。dlA が GPU にある場合、dlX は GPU ではなくローカルのワークスペースにあります。dlA が (GPU ではなく) ローカルのワークスペースにある場合、dlXdlA に等しくなります。

  • gather(dlA,dlB,dlC,...) は数値配列を収集します。

gpuArray (Parallel Computing Toolbox)
  • この関数には Parallel Computing Toolbox™ が必要です。

  • gpuArraygpuArray を含む dlarray を返します。この関数は、基となるデータに gpuArray を適用します。入力 dlarray がローカルのワークスペースにある場合、そのデータは GPU に移動され、内部的に gpuArray として表されます。入力 dlarray が GPU にある場合、出力 dlarray は入力 dlarray に等しくなります。

logical

非スカラーの入力 dlarray の場合、出力は logical 型のデータが含まれる dlarray になります。一方、入力がスカラーの場合、出力は基本的な (dlarray ではない) logical 値になります。この動作を回避するには、logical(dlX) ではなく dlX~=0 を使用します。コマンド dlX~=0 は、スカラー入力の場合でも、常に logical 型のデータが含まれる dlarray を返します。

single出力は single 型のデータが含まれる dlarray です。

比較関数

関数注意と制限
isequal
  • 2 つを超える入力引数がある構文はサポートされません。

  • 2 つの dlarray 入力が表す数値データが等しく、これらの両方が同じデータ形式で書式化されているか、書式化されていない場合、これらの入力は等しくなります。

isequaln
  • 2 つを超える入力引数がある構文はサポートされません。

  • 2 つの dlarray 入力が表す数値データが等しく (NaN は同等として扱う)、これらの両方が同じデータ形式で書式化されているか、書式化されていない場合、これらの入力は等しくなります。

データ型識別関数

関数注意と制限
isfloat

この関数は入力 dlarray の基となるデータに適用されます。

islogical
isnumeric
isreal

dlarray は複素数をサポートしないため、この関数は常に dlarray 入力に対して true を返します。

サイズ識別関数

関数注意と制限
iscolumnこの関数は、列ベクトルで、最初の次元を除く各次元の大きさが 1 である dlarray に対して true を返します。たとえば、3 x 1 x 1 の dlarray は列ベクトルです。
ismatrixこの関数は、2 つの次元のみをもつ dlarray オブジェクト、および最初の 2 つの次元を除く各次元の大きさが 1 である dlarray オブジェクトに対して true を返します。たとえば、3 x 4 x 1 の dlarray は行列です。
isrowこの関数は、行ベクトルで、2 番目の次元を除く各次元の大きさが 1 である dlarray に対して true を返します。たとえば、1 x 3 x 1 の dlarray は行ベクトルです。
isscalarN/A
isvectorこの関数は、行ベクトルまたは列ベクトルである dlarray に対して true を返します。isvector では 1 x 1 x 3 の dlarray がベクトルであるとは見なされないことに注意してください。
lengthN/A
ndims

入力 dlarray dlX が書式化されている場合、一部のラベル付きの次元が、末尾にある大きさが 1 の次元であっても、ndims(dlX) は次元ラベルの数を返します。

numelN/A
size

入力 dlarray dlX が書式化されている場合、一部のラベル付きの次元が、末尾にある大きさが 1 の次元であっても、size(dlX) は次元ラベルの数に等しい長さのベクトルを返します。

作成関数

関数注意と制限
falsedlarray では 'like' 構文のみがサポートされています。
inf
nan
ones
rand
randn
true
zeros

文字列および文字関数

dlarray の主な動作

データ形式での暗黙的な拡張

一部の関数では、暗黙的な拡張を使用して、書式化された 2 つの dlarray 入力を結合します。この関数では、必要に応じて、ラベルが付いている大きさが 1 の次元 (サイズ 1 の次元) を入力に導入し、それらの形式を一致させます。同じラベルが付いた次元の各ブロックの最後に、関数によって大きさが 1 の次元が挿入されます。

この動作の例を確認するには、次のコードを入力します。

X = ones(2,3,2);
dlX = dlarray(X,'SCB')
Y = 1:3;
dlY = dlarray(Y,'C')
dlZ = dlX.*dlY
dlX = 

  2(S) × 3(C) × 2(B) dlarray


(:,:,1) =

     1     1     1
     1     1     1


(:,:,2) =

     1     1     1
     1     1     1


dlY = 

  3(C) × 1(U) dlarray

     1
     2
     3


dlZ = 

  2(S) × 3(C) × 2(B) dlarray


(:,:,1) =

     1     2     3
     1     2     3


(:,:,2) =

     1     2     3
     1     2     3
この例では、インデックス ij、および k について dlZ(i,j,k) = dlX(i,j,k).*dlY(j) になります。dlZ の 2 番目の次元 ('C' というラベルが付いている) は、dlX の 2 番目の次元、および dlY の最初の次元に対応します。

一般的に、1 つの dlarray 入力の形式は、別の dlarray 入力の形式のサブセットである必要はありません。たとえば、dlX および dlYdims(dlX) = 'SCB' および dims(dlY) = 'SSCT' をもつ入力引数の場合、出力 dlZdims(dlZ) = 'SSCBT' をもちます。dlX'S' 次元は、dlY の最初の 'S' 次元にマッピングされます。

'U' 次元の特殊な動作

dlarray'U' 次元の動作は、標準的な MATLAB の大きさが 1 の次元の動作を示す他のラベル付きの次元とは異なります。書式化された dlarray は、size によって返される次元にしたがって、サイズ 1 の 'U' 次元を無数にもつと考えることができます。

次元の大きさが 1 ではない、または dlarray の最初の 2 つの次元のいずれかである場合を除き、'U' ラベルは破棄されます。

この動作の例を確認するには、次のコードを入力します。

X = ones(2,2);
dlX = dlarray(X,'SC')
dlX(:,:,2) = 2
dlX = 

  2(S) × 2(C) dlarray

     1     1
     1     1


dlX = 

  2(S) × 2(C) × 2(U) dlarray


(:,:,1) =

     1     1
     1     1


(:,:,2) =

     2     2
     2     2
この例では、ソフトウェアが書式化された 2 次元の dlarray を 3 次元の dlarray に拡張し、既定で 3 番目の次元に 'U' というラベルを付けています。暗黙的な拡張で 'U' 次元を使用する方法の例については、データ形式での暗黙的な拡張を参照してください。

インデックス

dlarray でのインデックス付けがサポートされています。これは次の動作を示します。

  • nndims(dlX) 以上の場合、dlX(idx1,...,idxn) は、dlX と同じデータ形式をもつ dlarray を返します。そうでない場合、書式化されていない dlarray を返します。

  • dlY(idx1,...,idxn) = dlX を設定すると、dlY のデータ形式は保持されますが、ソフトウェアが末尾の 'U' 次元ラベルを追加または削除することがあります。dlX のデータ形式はこの演算には影響しません。

  • dlX(idx1,…,idxn) = [] を使用して dlarray の一部を削除した場合、dlX のデータ形式は、nndims(dlX) 以上であれば保持されます。そうでない場合、dlX は書式化されずに返されます。

丸め誤差

関数に dlarray 入力を使用する場合、関数内の演算の順序は dlarray の内部保存の順序によって変化します。この変化によって、2 つの dlarray オブジェクトの丸めの順序に違いが生じます。それ以外の場合には、これらのオブジェクトの丸めの順序は等しくなります。

参考

| | |

関連するトピック