ScatterNdNonAliasingAdd

パブリック最終クラスScatterNdNonAliasingAdd

個々の値またはスライスを使用して「input」にスパース加算を適用します

インデックス「インデックス」に従って「更新」から。更新は非エイリアシングです。「input」は、他の操作で使用されない場合にのみその場で変更されます。それ以外の場合は、「input」のコピーが作成されます。この操作には、「入力」と「更新」の両方に関して勾配があります。

「input」はランク「P」の「Tensor」であり、「indexes」はランク「Q」の「Tensor」です。

`indices` は、`input` へのインデックスを含む整数テンソルでなければなりません。これは、`0 < K <= P` の形状 \\([d_0, ..., d_{Q-2}, K]\\) である必要があります。

「インデックス」の最も内側の次元 (長さ「K」) は、要素へのインデックス (「K = P」の場合) または「K」番目に沿った「(PK)」次元のスライス (「K < P」の場合) に対応します。 「入力」の次元。

「updates」は、次の形状を持つランク「Q-1+PK」の「Tensor」です。

$$[d_0, ..., d_{Q-2}, input.shape[K], ..., input.shape[P-1]].$$

たとえば、8 要素のランク 1 テンソルに 4 つの散在要素を追加したいとします。 Python では、この追加は次のようになります。

入力 = tf.constant([1, 2, 3, 4, 5, 6, 7, 8]) インデックス = tf.constant([[4], [3], [1], [7]]) 更新 = tf.constant([9, 10, 11, 12]) 出力 = tf.scatter_nd_non_aliasing_add(input, indices, updated) tf.Session() を sess として使用: print(sess.run(output))

結果の値「output」は次のようになります。

[1、13、3、14、14、6、7、20]

スライスを更新する方法の詳細については、 tf.scatter_ndを参照してください。

パブリックメソッド

出力<T>
asOutput ()
テンソルのシンボリック ハンドルを返します。
static <T, U extends Number> ScatterNdNonAliasingAdd <T>
create (スコープスコープ、オペランド<T> 入力、オペランド<U> インデックス、オペランド<T> 更新)
新しい ScatterNdNonAliasingAdd 操作をラップするクラスを作成するファクトリ メソッド。
出力<T>
出力()
`input` と同じ形状の `Tensor`。`updates` で更新された `input` の値を含みます。

継承されたメソッド

パブリックメソッド

public Output <T> asOutput ()

テンソルのシンボリック ハンドルを返します。

TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。

public static Sc​​atterNdNonAliasingAdd <T> create (スコープスコープ、オペランド<T> 入力、オペランド<U> インデックス、オペランド<T> 更新)

新しい ScatterNdNonAliasingAdd 操作をラップするクラスを作成するファクトリ メソッド。

パラメーター
範囲現在のスコープ
入力テンソル。
インデックステンソル。次のタイプのいずれかである必要があります: `int32`、`int64`。 「input」へのインデックスのテンソル。
アップデートテンソル。 ref と同じ型でなければなりません。 「input」に追加する更新された値のテンソル。
戻り値
  • ScatterNdNonAliasingAdd の新しいインスタンス

public出力<T>出力()

`input` と同じ形状の `Tensor`。`updates` で更新された `input` の値を含みます。