テンソルフロー::作戦:: ScatterNDUpdate
#include <state_ops.h>
特定の値内の個々の値またはスライスにスパースupdates
を適用します。
まとめ
indices
に応じた変数。
ref
はランクP
のTensor
、 indices
はランクQ
のTensor
です。
indices
、 ref
へのインデックスを含む整数テンソルでなければなりません。それは形に違いない \([d_0, ..., d_{Q-2}, K]\) ここで0 < K <= P
。
indices
の最も内側の次元 (長さ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
も参照してください。
引数:
- スコープ:スコープオブジェクト
- 参照: 可変Tensor 。 Variableノードからのものである必要があります。
- インデックス: Tensor 。 int32、int64 のいずれかの型である必要があります。 ref へのインデックスのテンソル。
- 更新: Tensor 。 ref と同じ型でなければなりません。 ref に追加する更新された値のテンソル。
オプションの属性 ( Attrs
を参照):
- use_locking: オプションのブール値。デフォルトは True です。 True の場合、割り当てはロックによって保護されます。それ以外の場合、動作は未定義ですが、競合が少なくなる可能性があります。
戻り値:
-
Output
: 参考文献と同じ。更新の完了後に更新された値を使用する必要がある操作の便宜として返されます。
コンストラクターとデストラクター | |
---|---|
ScatterNdUpdate (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates) | |
ScatterNdUpdate (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates, const ScatterNdUpdate::Attrs & attrs) |
パブリック属性 | |
---|---|
operation | |
output_ref |
公共機能 | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
パブリック静的関数 | |
---|---|
UseLocking (bool x) |
構造体 | |
---|---|
tensorflow:: ops:: ScatterNdUpdate:: Attrs | ScatterNdUpdateのオプションの属性セッター。 |
パブリック属性
手術
Operation operation
出力参照
::tensorflow::Output output_ref
公共機能
ScatterNDUpdate
ScatterNdUpdate( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates )
ScatterNDUpdate
ScatterNdUpdate( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates, const ScatterNdUpdate::Attrs & attrs )
ノード
::tensorflow::Node * node() const
演算子::tensorflow::入力
operator::tensorflow::Input() const
演算子::tensorflow::出力
operator::tensorflow::Output() const
パブリック静的関数
ロックを使用する
Attrs UseLocking( bool x )