パブリック最終クラスApplyFtrl
Ftrl-proximal スキームに従って「*var」を更新します。
grad_with_shrinkage = grad + 2 * l2_shrinkage * var accum_new = accum + grad * grad Linear += grad_with_shrinkage - (accum_new^(-lr_power) - accum^(-lr_power)) / lr * varquadratic = 1.0 / (accum_new^(lr_power) * lr) + 2 * l2 var = (sign(linear) * l1 - 線形) / 二次式 if |linear| > l1 else 0.0 accum = accum_new
ネストされたクラス
クラス | 適用Ftrl.オプション | ApplyFtrl のオプションの属性 |
定数
弦 | OP_NAME | TensorFlow コア エンジンによって認識される、この演算の名前 |
パブリックメソッド
出力<T> | asOutput () テンソルのシンボリック ハンドルを返します。 |
static <T extends TType > applyFtrl <T> | |
静的ApplyFtrl.Options | multiplyLinearByLr (ブール値 multiplyLinearByLr) |
出力<T> | 外() 「var」と同じです。 |
静的ApplyFtrl.Options | useLocking (ブール型 useLocking) |
継承されたメソッド
定数
パブリック静的最終文字列OP_NAME
TensorFlow コア エンジンによって認識される、この演算の名前
定数値: "ApplyFtrlV2"
パブリックメソッド
public Output <T> asOutput ()
テンソルのシンボリック ハンドルを返します。
TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。
public static applyFtrl <T> create (スコープscope,オペランド<T> var,オペランド<T> accum,オペランド<T> Linear,オペランド<T> grad,オペランド<T> lr,オペランド<T> l1,オペランド<T> > l2、オペランド<T> l2Shrinkage、オペランド<T> lrPower、オプション...オプション)
新しいApplyFtrl操作をラップするクラスを作成するファクトリメソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
変数 | Variable() から取得する必要があります。 |
蓄積 | Variable() から取得する必要があります。 |
線形 | Variable() から取得する必要があります。 |
卒業生 | グラデーション。 |
lr | スケーリング係数。スカラーでなければなりません。 |
l1 | L1 正則化。スカラーでなければなりません。 |
l2 | L2 収縮の正則化。スカラーでなければなりません。 |
lrパワー | スケーリング係数。スカラーでなければなりません。 |
オプション | オプションの属性値を持ちます |
戻り値
- applyFtrl の新しいインスタンス
public static applyFtrl.Options useLocking (ブール型 useLocking)
パラメーター
使用ロック | 「True」の場合、var テンソルと accum テンソルの更新はロックによって保護されます。それ以外の場合、動作は未定義ですが、競合が少なくなる可能性があります。 |
---|