このページは Cloud Translation API によって翻訳されました。
Switch to English

tf.strided_slice

TensorFlow 1つのバージョン GitHubの上のソースを表示

テンソル(一般Pythonの配列のインデックス)のストライドスライスを抽出します。

参照してくださいtf.slice

代わりに、このオペレーションを呼び出すのでは直接、ほとんどのユーザーは、numpyのスタイルのスライスの構文を使用したいと思うでしょう(例えばtensor[..., 3:4:-1, tf.newaxis, 3]を介して支持されているtf.Tensor. getitemおよびtf.Variable. getitemこのオペアンプのインタフェースは、スライスのシンタックスの低レベル符号化です。

大まかに言えば、このオペレーションは、サイズのスライスを抽出する(end-begin)/stride所与からinput_テンソル。で指定された場所から始まるbeginスライスして追加することにより、続けてstrideすべての寸法がより小さくなくなるまでインデックスにend 。ストライドが逆スライスの原因負とすることができることに注意してください。

Pythonのスライスを考えるとinput[spec0, spec1, ..., specn]以下のように、この関数が呼び出されます。

beginend 、およびstrides長さnのベクトルであろう。 nは一般的にのランクに等しくないinput_テンソル。

各マスクフィールド(IN begin_maskend_maskellipsis_masknew_axis_maskshrink_axis_mask )は、i番目のビットは、i番目の仕様に対応することになります。

i番目のビット場合begin_mask設定されている、 begin[i]無視され、その次元で最大限可能な範囲が代わりに使用されています。 end_mask終了範囲を除いて、同様に動作します。

foo[5:,:,:3]と等価であるテンソル7x8x9にfoo[5:7,0:8,0:3] foo[::-1]形状8とテンソルを反転させます。

i番目のビット場合ellipsis_mask 、必要に応じて不特定多数の寸法として、設定されている他の寸法との間に挿入されます。唯一の非ゼロのビットがで許可されてellipsis_mask

例示のためにfoo[3:5,...,4:5]形状に10x3x3x10テンソルと等価であるfoo[3:5,:,:,4:5]foo[3:5,...]であります相当foo[3:5,:,:,:]

i番目のビット場合new_axis_mask設定されている場合、 beginend 、およびstride無視され、新しい長さ1次元は、出力テンソルのこの時点で添加されます。

例えば、 foo[:4, tf.newaxis, :2]形状を生成する(4, 1, 2)テンソル。

i番目のビット場合shrink_axis_mask設定され、それは、i番目の仕様はインデックスの値に取って、1次元を縮小することを意味しbegin[i] end[i]strides[i]この場合無視されます。例えばPythonで一方が行う可能性がありますfoo[:, 3, :]もたらすであろうshrink_axis_mask 2に等しいです。

 t = tf.constant([[[1, 1, 1], [2, 2, 2]],
                 [[3, 3, 3], [4, 4, 4]],
                 [[5, 5, 5], [6, 6, 6]]])
tf.strided_slice(t, [1, 0, 0], [2, 1, 3], [1, 1, 1])  # [[[3, 3, 3]]]
tf.strided_slice(t, [1, 0, 0], [2, 2, 3], [1, 1, 1])  # [[[3, 3, 3],
                                                      #   [4, 4, 4]]]
tf.strided_slice(t, [1, -1, 0], [2, -3, 3], [1, -1, 1])  # [[[4, 4, 4],
                                                         #   [3, 3, 3]]]
 

input_ A Tensor
begin int32またはint64 Tensor
end int32またはint64 Tensor
strides int32またはint64 Tensor
begin_mask int32マスク。
end_mask int32マスク。
ellipsis_mask int32マスク。
new_axis_mask int32マスク。
shrink_axis_mask int32マスク。
var 対応する変数input_またはNone
name 操作の名前(オプション)。

A Tensorと同じタイプinput