与えられた範囲内の個々の値またはスライスにスパースの「更新」を適用します。
「インデックス」に従って変数。
「ref」はランク「P」の「テンソル」であり、「インデックス」はランク「Q」の「テンソル」です。
`indices` は、`ref` へのインデックスを含む整数テンソルでなければなりません。それは\の形でなければなりません\([d_0, ..., d_{Q-2}, K]\\) ここで、「0 < K <= P」です。
`indexes` の最も内側の次元 (長さ `K`) は、`ref` の `K` 番目の次元に沿った要素 (`K = P` の場合) またはスライス (`K < P` の場合) へのインデックスに対応します。
「updates」は、次の形状を持つランク「Q-1+PK」の「Tensor」です。
$$[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].$$
たとえば、4 つの散在要素を 8 要素のランク 1 テンソルに更新したいとします。 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])
update = tf.scatter_nd_update(ref, indices, updates)
with tf.Session() as sess:
print sess.run(update)
ref への結果の更新は次のようになります。[1、11、3、10、9、6、7、12]
スライスを更新する方法の詳細については、 tf.scatter_nd
参照してください。
「tf.scatter_update」と「tf.batch_scatter_update」も参照してください。
ネストされたクラス
クラス | ScatterNdUpdate.オプション | ScatterNdUpdate のオプションの属性 |
パブリックメソッド
出力<T> | asOutput () テンソルのシンボリック ハンドルを返します。 |
static <T, U extends Number> ScatterNdUpdate <T> | |
出力<T> | 出力参照() 参考文献と同じ。 |
静的ScatterNdUpdate.Options | useLocking (ブール型 useLocking) |
継承されたメソッド
パブリックメソッド
public Output <T> asOutput ()
テンソルのシンボリック ハンドルを返します。
TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。
public static ScatterNdUpdate <T> create (スコープスコープ、オペランド<T> 参照、オペランド<U> インデックス、オペランド<T> 更新、オプション...オプション)
新しい ScatterNdUpdate オペレーションをラップするクラスを作成するためのファクトリ メソッド。
パラメータ
範囲 | 現在のスコープ |
---|---|
参照 | 可変テンソル。 Variable ノードからのものである必要があります。 |
インデックス | テンソル。 int32、int64 のいずれかの型である必要があります。 ref へのインデックスのテンソル。 |
アップデート | テンソル。 ref と同じ型でなければなりません。 ref に追加する更新された値のテンソル。 |
オプション | オプションの属性値を持ちます |
返品
- ScatterNdUpdate の新しいインスタンス
public static ScatterNdUpdate.Options useLocking (ブール型 useLocking)
パラメータ
使用ロック | オプションのブール値。デフォルトは True です。 True の場合、割り当てはロックによって保護されます。それ以外の場合、動作は未定義ですが、競合が少なくなる可能性があります。 |
---|