TensorScatterUpdate

パブリック最終クラスTensorScatterUpdate

「インデックス」に従って既存のテンソルに「更新」を分散します。

この操作は、渡された `tensor` にスパースの `updates` を適用することによって、新しい tensor を作成します。この操作は `tf.scatter_nd` と非常に似ていますが、更新が (ゼロテンソルではなく) 既存のテンソルに分散される点が異なります。既存のテンソルのメモリを再利用できない場合は、コピーが作成されて更新されます。

「インデックス」に重複が含まれている場合は、インデックスの最後の更新が選択されます。

CPU 上で範囲外のインデックスが見つかった場合は、エラーが返されます。

警告: この操作には GPU 固有のセマンティクスがいくつかあります。 - 範囲外のインデックスが見つかった場合、そのインデックスは無視されます。 - 更新が適用される順序は非決定的であるため、「インデックス」に重複が含まれている場合、出力は非決定的になります。

`indices` は、形状 `shape` の新しいテンソルへのインデックスを含む整数テンソルです。

  • `indices` には少なくとも 2 つの軸が必要です: `(num_updates, Index_ Depth)`。
  • `indices` の最後の軸は、`tensor` にインデックスを付ける深さです。したがって、このインデックスの深さは `tensor` のランクより小さくなければなりません: `indices.shape[-1] <= tensor.ndim`
`indices.shape[-1] = tensor.rank` の場合、この Op はスカラー要素にインデックスを付けて更新します。 `indices.shape[-1] < tensor.rank` の場合、入力 `tensor` のスライスにインデックスを付けて更新します。

各 `update` には `tensor.rank - indices.shape[-1]` のランクがあります。 「更新」の全体的な形式は次のとおりです:

indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
 
使用例については、Python [tf.tensor_scatter_nd_update]( https://www.tensorflow.org/api_docs/python/tf/tensor_scatter_nd_update) 関数を参照してください。

パブリックメソッド

出力<T>
asOutput ()
テンソルのシンボリック ハンドルを返します。
static <T, U extends Number> TensorScatterUpdate <T>
create (スコープスコープ、オペランド<T> テンソル、オペランド<U> インデックス、オペランド<T> 更新)
新しい TensorScatterUpdate オペレーションをラップするクラスを作成するためのファクトリ メソッド。
出力<T>
出力()
指定された形状とインデックスに従って更新が適用された新しいテンソル。

継承されたメソッド

パブリックメソッド

public Output <T> asOutput ()

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

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

public static TensorScatterUpdate <T> create (スコープスコープ、オペランド<T>テンソル、オペランド<U>インデックス、オペランド<T>更新)

新しい TensorScatterUpdate オペレーションをラップするクラスを作成するためのファクトリ メソッド。

パラメーター
範囲現在のスコープ
テンソルコピー/更新する Tensor。
インデックスインデックステンソル。
アップデート出力に分散する更新。
戻り値
  • TensorScatterUpdate の新しいインスタンス

public出力<T>出力()

指定された形状とインデックスに従って更新が適用された新しいテンソル。