SparseSoftmaxCrossEntropyWithLogits

パブリック クラスSparseSoftmaxCrossEntropyWithLogits

パブリックコンストラクター

パブリックメソッド

static <T extends TNumber , U extends TNumber >オペランド
sparseSoftmaxCrossEntropyWithLogits (スコープスコープ、オペランド<T> ラベル、オペランド<U> ロジット)
logitslabelsの間のスパース ソフトマックス クロス エントロピーを計算します。

継承されたメソッド

パブリックコンストラクター

public SparseSoftmaxCrossEntropyWithLogits ()

パブリックメソッド

public staticオペランドsparseSoftmaxCrossEntropyWithLogits (スコープスコープ、オペランド<T> ラベル、オペランド<U> ロジット)

logitslabelsの間のスパース ソフトマックス クロス エントロピーを計算します。

クラスが相互に排他的である (各エントリが 1 つのクラスにのみ存在する) 離散分類タスクの確率誤差を測定します。たとえば、各 CIFAR-10 画像には 1 つだけのラベルが付けられます。画像には犬またはトラックを指定できますが、両方を指定することはできません。

注記:

この操作では、特定のラベルの確率は排他的であるとみなされます。つまり、ソフト クラスは許可されず、 labelsベクトルは、 logitsの各行 (各ミニバッチ エントリ) の真のクラスに単一の特定のインデックスを提供する必要があります。各エントリの確率分布によるソフト ソフトマックス分類の場合、 ERROR(/org.tensorflow.op.NnOps#softmaxCrossEntropyWithLogits)

警告:

この演算は、効率化のために内部でlogitsに対してsoftmaxを実行するため、スケーリングされていないロジットを想定しています。不正な結果が生成されるため、 softmaxの出力でこの演算を呼び出さないでください。

一般的な使用例は、形状[batchSize, numClasses]のロジットと形状[batchSize]のラベルを持つことですが、より高い次元もサポートされており、その場合dim番目の次元はサイズnumClassesであるとみなされます。 logitsは次のものが必要ですデータ・タイプTFloat16TFloat32 、またはTFloat64のいずれかであり、 labelsの dtype はTInt32またはTInt64である必要があります。

パラメーター
範囲現在のスコープ
ラベル形状[d_0, d_1, ..., d_{r-1}]Tensor ( rlabelsと結果のランク)、dataType はTInt32またはTInt64です。 labelsの各エントリは、 [0, numClasses)のインデックスである必要があります。他の値は、この演算が CPU で実行されるときに例外を発生させ、GPU 上の対応する損失および勾配行に対してNaNを返します。
ロジット形状[d_0, d_1, ..., d_{r-1}, numClasses]TFloat16TFloat32 、またはTFloat64の dataType のラベルごとのアクティブ化 (通常は線形出力)。これらの活性化エネルギーは、正規化されていない対数確率として解釈されます。
戻り値
  • labelsと同じ形状、ソフトマックスのクロスエントロピー損失を持つlogitsと同じタイプのTensor
投げる
IllegalArgumentExceptionロジットがスカラーの場合 (ランク >= 1 である必要がある)、またはラベルのランクがロジットのランクから 1 を引いたものと等しくない場合。