..あなたが何をしているかを理解している人を教えています。スクリプトtraining.pyにこれらの行を参照してください。
試料重量:
score_array = K.mean(score_array, axis=list(range(weight_ndim, ndim)))
score_array *= weights
score_array /= K.mean(K.cast(K.not_equal(weights, 0), K.floatx()))
return K.mean(score_array)
損失重量:
if total_loss is None:
total_loss = loss_weight * output_loss
それは戻って、計算、グラフにこれらの行をマップするために簡単です。例えば、次のブロックがK.mean(K.cast(K.not_equal(weights, 0), K.floatx()))
計算:

- 最初のノードが他のすべてのノードは約
K.mean(...)
- 左分岐された第2のノードは、
K.cast(..., K.floatx())
- ある
K.not_equal(weights, 0)
- 計算しますバッチサイズを計算します(
shape
と呼び、次元を取得します)。右分岐がテンソルの和
- 除算を計算
-
)、そこから左のブランチの出力
- によって右ブランチの出力は、このブロックの最終的な出力はスカラー
K.mean(K.cast(K.not_equal(weights, 0), K.floatx()))
あります