変数内の個々の値またはスライスにスパース加算を適用します。
`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`はランク` Q-1 + PK`の `Tensor`で、形状は次のとおりです。l10n
[d_0, ..., d_{Q-2
, ref.shape[K], ..., ref.shape[P-1]]
}
たとえば、ランク1のテンソルに4つの散在する要素を8つの要素に追加するとします。 Pythonでは、その追加は次のようになります ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8])
indices = tf.constant([[4], [3], [1], [7]])
updates = tf.constant([9, 10, 11, 12])
add = tf.scatter_nd_add(ref, indices, updates)
with tf.Session() as sess:
print sess.run(add)
結果として得られるrefの更新は次のようになります。[1、13、3、14、14、6、7、20]
スライスを更新する方法の詳細については、 tf.scatter_nd
を参照してください。
ネストされたクラス
クラス | ScatterNdAdd.Options | ScatterNdAdd のオプションの属性 |
パブリックメソッド
出力<T> | asOutput () テンソルのシンボリックハンドルを返します。 |
static <T、U extends Number> ScatterNdAdd <T> | |
出力<T> | outputRef () 参考文献と同じ。 |
static ScatterNdAdd.Options | useLocking (ブール値useLocking) |
継承されたメソッド
パブリックメソッド
public Output <T> asOutput ()
テンソルのシンボリックハンドルを返します。
TensorFlow操作への入力は、別のTensorFlow操作の出力です。このメソッドは、入力の計算を表すシンボリックハンドルを取得するために使用されます。
public static ScatterNdAdd <T> create (スコープスコープ、オペランド<T> ref、オペランド<U>インデックス、オペランド<T>更新、オプション...オプション)
新しいScatterNdAdd操作をラップするクラスを作成するファクトリメソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
ref | 可変テンソル。変数ノードからのものである必要があります。 |
インデックス | テンソル。次のいずれかのタイプである必要があります:int32、int64。参照へのインデックスのテンソル。 |
更新 | テンソル。 refと同じタイプである必要があります。 refに追加する更新された値のテンソル。 |
オプション | オプションの属性値を運ぶ |
戻り値
- ScatterNdAddの新しいインスタンス
public static ScatterNdAdd.Options useLocking (ブール値useLocking)
パラメーター
useLocking | オプションのbool。デフォルトはTrueです。 Trueの場合、割り当てはロックによって保護されます。それ以外の場合、動作は定義されていませんが、競合が少なくなる可能性があります。 |
---|