変数内の個々の値またはスライスにスパース減算を適用します。
`ref`はランク` P`の `Tensor`であり、` indexes`はランク `Q`の` Tensor`です。
`indexes`は、` ref`へのインデックスを含む整数テンソルでなければなりません。形状は `[d_0、...、d_ {Q-2}、K]`でなければなりません。ここで、 `0 <K <= P`です。
`インデックス`の最も内側の次元(長さ `K`)は、` ref`の `K`番目の次元に沿った要素(` K = P`の場合)またはスライス( `K <P`の場合)へのインデックスに対応します。
`updates`は、形状が
[d_0, ..., d_{Q-2
, ref.shape[K], ..., ref.shape[P-1]]
}
のランク` Q-1 + PK`の `Tensor`です。たとえば、8つの要素を持つランク1のテンソルから4つの散乱要素を減算するとします。 Pythonでは、その減算は次のようになります。ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8], use_resource=True)
indices = tf.constant([[4], [3], [1], [7]])
updates = tf.constant([9, 10, 11, 12])
sub = tf.scatter_nd_sub(ref, indices, updates)
with tf.Session() as sess:
print sess.run(sub)
結果として得られるrefの更新は次のようになります。[1、-9、3、-6、-4、6、7、-4]
スライスを更新する方法の詳細については、 `tf.scatter_nd`を参照してください。
ネストされたクラス
クラス | ResourceScatterNdSub.Options | ResourceScatterNdSub オプションの属性 |
パブリックメソッド
static <T extends Number、U> ResourceScatterNdSub | |
静的ResourceScatterNdSub.Options | useLocking (ブール値useLocking) |
継承されたメソッド
パブリックメソッド
public static ResourceScatterNdSub create (スコープスコープ、 Operand <?> ref、 Operand <T>インデックス、 Operand <U>更新、オプション...オプション)
新しいResourceScatterNdSub操作をラップするクラスを作成するファクトリメソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
ref | リソースハンドル。 VarHandleOpからのものである必要があります。 |
インデックス | テンソル。次のいずれかのタイプである必要があります:int32、int64。参照へのインデックスのテンソル。 |
更新 | テンソル。 refと同じタイプである必要があります。 refに追加する値のテンソル。 |
オプション | オプションの属性値を運ぶ |
戻り値
- ResourceScatterNdSubの新しいインスタンス
public static ResourceScatterNdSub.Options useLocking (ブール値useLocking)
パラメーター
useLocking | オプションのbool。デフォルトはTrueです。 Trueの場合、割り当てはロックによって保護されます。それ以外の場合、動作は定義されていませんが、競合が少なくなる可能性があります。 |
---|