Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tf.slice

TensorFlow 1 wersja Zobacz źródło na GitHub

Wyciąga kawałek od tensora.

Stosowany w notebookach

Używany w samouczków

Zobacz także tf.strided_slice .

Operację tę wyodrębnia się plaster o rozmiarze size od tensora input_ wychodząc z lokalizacji określonej przez begin . Kawałek size jest reprezentowany jako kształt tensora, gdzie size[i] jest liczbą elementów projektu „i'th wymiar input_ że chcesz plaster. Pozycja początkowa ( begin ) do plastra jest reprezentowany jako przesunięcie w każdym wymiarze input_ . Innymi słowy, begin[i] jest przesunięcie do i'th wymiaru input_ że chcesz z plasterka.

Zauważ, że tf.Tensor. getitem zazwyczaj bardziej pythonic sposób wykonywania plastrów, ponieważ pozwala na zapis foo[3:7, :-2] zamiast tf.slice(foo, [3, 0], [4, foo.get_shape()[1]-2]) .

begin się oparte na zero; size jest oparte. Jeśli size[i] = -1, wszystkie pozostałe elementy wymiar i są uwzględnione w przekroju. Innymi słowy, jest to równoznaczne z ustawieniem:

size[i] = input_.dim_size(i) - begin[i]

Ta operacja wymaga, aby:

0 <= begin[i] <= begin[i] + size[i] <= Di for i in [0, n]

Na przykład:

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

input_ Tensor .
begin int32 lub int64 Tensor .
size int32 lub int64 Tensor .
name Nazwę operacji (opcjonalnie).

Tensor tego samego typu jak input_ .