Uyarı: Bu API kullanımdan kaldırıldı ve TensorFlow'un gelecekteki bir sürümünde , değişim kararlı hale geldikten sonra kaldırılacaktır.

Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

StridedSlice

genel son sınıf StridedSlice

"Girdi" den çok katlı bir dilim döndür.

Çoğu python kullanıcısı, doğrudan bu işlem yerine Python "Tensor .__ getitem__" veya "Variable .__ getitem__" kullanmak isteyecektir.

Bu işlemin amacı, "n" boyutlu "girdi" tensöründen elemanların bir alt kümesiyle yeni bir tensör üretmektir. Alt küme, bu işlevin bağımsız değişkenlerine kodlanmış bir "m" seyrek aralık belirtimleri dizisi kullanılarak seçilir. Bazı durumlarda "m" nin "n" ye eşit olabileceğini, ancak durumun böyle olması gerekmediğini unutmayın. Her aralık özelliği girişi aşağıdakilerden biri olabilir:

- Üç nokta (...). Elipsler, tam boyutlu seçimin sıfır veya daha fazla boyutunu ifade etmek için kullanılır ve "ellipsis_mask" kullanılarak üretilir. Örneğin, "foo [...]" kimlik dilimidir.

- Yeni bir eksen. Bu, yeni bir şekil = 1 boyut eklemek için kullanılır ve "new_axis_mask" kullanılarak üretilir. Örneğin, "foo" şekil "(3, 4)" olduğunda "foo [:, ...]" bir "(1, 3, 4)" tensörü üretir.

- "begin: end: stride" aralığı. Bu, belirli bir boyuttan ne kadar seçim yapılacağını belirtmek için kullanılır. "adım" herhangi bir tam sayı olabilir, ancak 0 olabilir. "begin", seçilecek ilk değerin dizinini temsil eden bir tam sayıdır, "bitiş" ise seçilecek son değerin dizinini temsil eder. Her bir boyutta seçilen değerlerin sayısı, "adım> 0" ise "bitiş - başla" ve "adım <0" ise "başlangıç ​​- bitiş" dir. "başlangıç" ve "bitiş" negatif olabilir; burada "-1" son öğe, "-2" sondan ikinci öğedir. "begin_mask", "adım> 0" ise, "-1" ve "adım <0" ise "-1", açıkça verilen "start" ın örtük bir etkin değeri olan "0" ile değiştirilip değiştirilmeyeceğini kontrol eder. "bitiş maskesi" benzerdir ancak en büyük açık aralığı oluşturmak için gereken sayıyı üretir. Örneğin, bir "(3,)" tensör "foo [:]" şekli verildiğinde, etkili "başlangıç" ve "bitiş" "0" ve "3" dür. Bunun, etkili "başlangıcı" ve "sonu" olan "0" ve "2" olan "foo [0: -1]" ile eşdeğer olduğunu varsaymayın. Diğer bir örnek, son ikisini (orijinal sıra elemanlarında) düşürürken bir tensörün ilk boyutunu tersine çeviren "foo [-2 :: - 1]" dir. Örneğin "foo = [1,2,3,4]; foo [-2 :: - 1] "" [4,3] "dir.

- Tek bir dizin. Bu, yalnızca belirli bir dizine sahip öğeleri tutmak için kullanılır. Örneğin, bir şekil "(5,6)" tensörü üzerindeki "foo [2,:]" bir şekil "(6,)" tensörü üretir. Bu, "başlangıç" ve "bitiş" ve "shrink_axis_mask" olarak kodlanır.

Her kavramsal aralık özelliği, operasyonun argümanında kodlanmıştır. Bu kodlama, en iyi şekilde önemsiz olmayan bir örnek dikkate alındığında anlaşılabilir. Özellikle, "foo [1, 2: 4, None, ...,: -3: -1,:]",

begin = [1, 2, x, x, 0, x] # x denotes don't care (usually 0)
 end = [2, 4, x, x, -3, x]
 strides = [1, 1, x, x, -1, 1]
 begin_mask = 1<<4 | 1<<5 = 48
 end_mask = 1<<5 = 32
 ellipsis_mask = 1<<3 = 8
 new_axis_mask = 1<<2 = 4
 shrink_axis_mask = 1<<0 = 1
 
olarak kodlanacaktır. Bu durumda "foo.shape" (5, 5, 5, 5, 5, 5) dilimin son şekli (2, 1, 5, 5, 2, 5) olur. Her argüman spesifikasyonunu adım adım inceleyelim.

1. Örnek dilimdeki ilk argüman "begin = 1" ve "end = begin + 1 = 2" ye dönüştürülür. Orijinal spesifikasyon "2: 4" ten belirsizliği gidermek için ayrıca "shrink_axis_mask" içinde uygun biti de ayarladık.

2. "2: 4", başlangıç, bitiş ve adım adım 2, 4, 1 ile katkıda bulunur. Tüm maskelerin katkısı sıfır bittir.

3. Hiçbiri "tf.newaxis" ile eşanlamlıdır. Bu, son şekle 1 boyutunda bir boyut eklemek anlamına gelir. New_axis_mask biti ayarlanırken, kukla değerler başlangıç, bitiş ve adımlara katkıda bulunur.

4. “...” girdi şeklinin her boyutu için tam olarak bir dilim belirtmek için gerektiği kadar çok boyuttan tüm aralıkları yakalayın.

5. `: -3: -1`, negatif indislerin kullanımını gösterir. "S" şekline sahip bir boyutla ilişkili negatif bir "i" endeksi, pozitif bir "s + i" dizinine dönüştürülür. Böylece "-1", "s-1" olur (yani son öğe). Bu dönüştürme dahili olarak yapılır, bu nedenle start, end ve adımlar x, -3 ve -1 alır. Uygun başlangıç_maskesi biti, başlangıç ​​aralığının tam aralık olduğunu gösterecek şekilde ayarlanır (x yok sayılır).

6. `:`, karşılık gelen boyutun tüm içeriğinin seçildiğini gösterir. Bu, "::" veya "0 :: 1" ile eşdeğerdir. başlangıç, bitiş ve adımlar sırasıyla 0, 0 ve 1 alır. "Begin_mask" ve "end_mask" deki uygun bitler de ayarlanır.

Gereksinimler : "0! = [0, m) 'deki i için adım [i]" ellipsis_mask iki kuvvet olmalıdır (sadece bir üç nokta) "

Yuvalanmış Sınıflar

sınıf StridedSlice.Options StridedSlice için isteğe bağlı özellikler

Kamu Yöntemleri

Çıkış <T>
asOutput ()
Bir tensörün sembolik tutamacını döndürür.
statik StridedSlice.Options
beginMask (Long beginMask)
statik <T, U Genişleten Sayı> StridedSlice <T>
oluştur ( Kapsam kapsamı, İşlenen <T> girişi, İşlenen <U> başlangıcı, İşlenen <U> sonu, İşlenen <U> adımları, Seçenekler ... seçenekler)
Yeni bir StridedSlice işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
statik StridedSlice.Options
ellipsisMask (Long ellipsisMask)
statik StridedSlice.Options
endMask (Uzun endMask)
statik StridedSlice.Options
newAxisMask (Long newAxisMask)
Çıkış <T>
statik StridedSlice.Options
shrinkAxisMask (Uzun shrinkAxisMask)

Devralınan Yöntemler

Kamu Yöntemleri

public Output <T> asOutput ()

Bir tensörün sembolik tutamacını döndürür.

TensorFlow işlemlerine yönelik girdiler, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girdinin hesaplanmasını temsil eden sembolik bir tutamaç elde etmek için kullanılır.

public static StridedSlice.Options beginMask (Long beginMask)

Parametreler
beginMask i'nin 1 olduğu bir bit maskesi, başlangıç ​​değerini yok saymak ve bunun yerine mümkün olan en büyük aralığı kullanmak anlamına gelir. Çalışma zamanında başlar [i], "adım [i]> 0" ise "[0, n-1)" ile veya "adım [i] <0" ise "[-1, n-1]" ile değiştirilir

public static StridedSlice <T> create ( Scope kapsamı, Operand <T> input, Operand <U> begin, Operand <U> end, Operand <U> strides, Options ... options)

Yeni bir StridedSlice işlemini saran bir sınıf oluşturmak için fabrika yöntemi.

Parametreler
dürbün mevcut kapsam
başla "başlangıç ​​[k]", "k" ninci aralık spesifikasyonundaki ofseti belirtir. Bunun karşılık geldiği tam boyut, bağlama göre belirlenecektir. Sınır dışı değerler sessizce sabitlenecektir. "Begin_mask" ın "k" inci biti o zaman "start [k]" yoksayılır ve bunun yerine uygun boyutun tüm aralığı kullanılır. Negatif değerler, indekslemenin en yüksek öğeden başlamasına neden olur, örneğin eğer `foo == [1,2,3]` ise, o zaman `foo [-1] == 3`.
son "bitiş [i]", tam aralıkları belirlemek için "bitiş" maskesinin kullanılması dışında "başla" gibidir.
adımlar "strides [i]", belirli bir eleman çıkarıldıktan sonra "i" spesifikasyonundaki artışı belirtir. Negatif endeksler, orijinal sıralamayı tersine çevirecektir. Dış veya aralık değerleri, dilim [i]> 0` ise "[0, dim [i]) veya dilim [i] <0` ise" [-1, dim [i] -1] olarak sabitlenir
seçenekler isteğe bağlı öznitelik değerleri taşır
İadeler
  • StridedSlice'ın yeni bir örneği

public static StridedSlice.Options ellipsisMask (Long ellipsisMask)

Parametreler
ElipsisMask Bit "i" nin 1 olduğu bir bit maskesi, "i" konumunun aslında bir üç nokta olduğu anlamına gelir. En fazla bir bit 1 olabilir. "Ellipsis_mask == 0` ise," 1 << (m + 1) "şeklinde bir örtük üç nokta maskesi sağlanır. Bu, "foo [3: 5] == foo [3: 5, ...]" olduğu anlamına gelir. Üç nokta, her boyut için dilimlenmiş aralığı tam olarak belirtmek için gerektiği kadar aralık belirtimini örtük olarak oluşturur. Örneğin 4 boyutlu bir tensör "foo" için "foo [2, ..., 5: 8]" dilimi "foo [2,:,:, 5: 8]" anlamına gelir.

public static StridedSlice.Options endMask (Long endMask)

Parametreler
endMask "begin_mask" ile benzer

public static StridedSlice.Options newAxisMask (Long newAxisMask)

Parametreler
newAxisMask bit "i" nin 1 olduğu bir bit maskesi, "i" belirtiminin yeni bir şekil 1 boyutu oluşturduğu anlamına gelir. Örneğin, "foo [: 4, tf.newaxis,: 2]" bir şekil "(4, 1, 2)" tensörü üretir.

public Output <T> çıkışı ()

public static StridedSlice.Options shrinkAxisMask (Long shrinkAxisMask)

Parametreler
shrinkAxisMask "i" bitinin "i" spesifikasyonunun boyutluluğu küçültmesi gerektiğini ima ettiği bir bit maskesi. start ve end, boyutta 1 boyutunda bir dilimi ifade etmelidir. Örneğin python'da biri "foo [:, 3,:]" yapabilir ve bu da "shrink_axis_mask" ın 2 olmasına neden olur.