StridedSliceHelper

genel soyut sınıf StridedSliceHelper

Python için indeksleme gibi yardımcı uç nokta yöntemleri.

Ayrıca bakınız

Kamu İnşaatçıları

Genel Yöntemler

static <T, TType'ı genişletir > StridedSlice <T>
stridedSlice ( Kapsam kapsamı, İşlenen <T> girişi, Dizin... dizinleri)
'Giriş'ten adımlı bir dilim döndürün.
static <T, TType'ı genişletir > StridedSliceAssign <T>
stridedSliceAssign ( Kapsam kapsamı, İşlenen <T> ref, İşlenen <T> değeri, Dizin... endeksleri)
'Ref'in dilimlenmiş l-değeri referansına 'değer' atayın.

Kalıtsal Yöntemler

Kamu İnşaatçıları

halka açık StridedSliceHelper ()

Genel Yöntemler

public static StridedSlice <T> stridedSlice ( Kapsam kapsamı , İşlenen <T> girişi, Dizin... dizinleri)

'Giriş'ten adımlı bir dilim döndürün.

Bu operasyonun amacı 'n' boyutlu 'giriş' tensörünün elemanlarının bir alt kümesiyle yeni bir tensör üretmektir. Alt küme, bu fonksiyonun bağımsız değişkenlerine kodlanmış bir dizi 'm' seyrek aralık belirtimi 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 spesifikasyonu girişi aşağıdakilerden biri olabilir:

- Ellipsis ellipsis() işlevini kullanan bir üç nokta (...). Elipsler, tam boyut seçiminin sıfır veya daha fazla boyutunu belirtmek için kullanılır. Örneğin, stridedSlice(foo, Indices.ellipsis() kimlik dilimidir.

- newAxis() kullanan yeni bir eksen. Bu, yeni bir şekil=1 boyut eklemek için kullanılır. Örneğin, foo (3, 4) ) şekli olduğu ` stridedSlice(foo, Indices.newAxis()) bir (1, 3, 4) tensörü üretir.

- slice(Long, Long, long) Index.slice()} veya all() işlevini kullanan begin:end:stride aralığı. Bu, belirli bir boyuttan ne kadar seçim yapılacağını belirtmek için kullanılır. stride , 0 dışında herhangi bir tam sayı olabilir. begin , seçilecek ilk değerin indeksini temsil eden bir tamsayı iken end , seçilecek son değerin indeksini (hariç) temsil eder. Başlangıç ​​ve bitiş boş olabilir; bu durumda indeks sırasıyla boyutun başında veya sonunda başlar veya biter (adım negatifse ters çevrilir). Her ikisi de null olduğunda, slice() ile all() aynıdır. Her boyutta seçilen değerlerin sayısı stride > 0 ise end - begin ​​ve stride < 0 ise begin - end . begin ve end negatif olabilir; burada -1 son öğe, -2 ise sondan ikinci öğedir. Örneğin, (3,) tensör stridedSlice(foo, Indices.all()) şekli verildiğinde, etkili begin ​​ve end 0 ve 3 . Bunun, etkili begin ve end 0 ve 2 olan stridedSlice(foo, Indices.slice(0, -1)) işlevine eşdeğer olduğunu varsaymayın. Başka bir örnek, bir tensörün ilk boyutunu tersine çevirip son ikisini (orijinal düzen öğelerinde) bırakan stridedSlice(foo, Indices.slice(-2, null, -1)) dir. Örneğin foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) , [4,3] .

- at(long) kullanan tek bir dizin. Bu yalnızca belirli bir dizine sahip öğeleri tutmak için kullanılır. Örneğin ( stridedSlice(foo, Indices.at(2)) bir şekil (5,6) tensörü üzerinde bir şekil (6,) tensörü üretir. Boyut at(long, boolean) kullanılarak birinci boyutta tutulabilir.

Bu anlambilim genellikle burada bulabileceğiniz NumPy'nin dizin oluşturma anlambilimini takip eder: https://numpy.org/doc/stable/reference/arrays.indexing.html

Gereksinimler : `0 != i için [0, m)'deki adımlar[i]` Yalnızca bir üç nokta.

Parametreler
kapsam mevcut kapsam
endeksler Dilimlenecek endeksler. Bkz. Indices .
İadeler
  • StridedSlice'ın yeni bir örneği
Ayrıca bakınız

public static StridedSliceAssign <T> stridedSliceAssign ( Kapsam kapsamı, İşlenen <T> ref, İşlenen <T> değeri, Dizin... endeksleri)

'Ref'in dilimlenmiş l-değeri referansına 'değer' atayın.

'Değer' değerleri, dilim parametreleri tarafından seçilen 'ref' değişkenindeki konumlara atanır. Dilim parametreleri "begin", "end", "strides" vb. tam olarak "StridedSlice"daki gibi çalışır.

NOT: Bu işlem şu anda yayını desteklememektedir ve dolayısıyla "değer"in şekli tam olarak "ref" diliminin ürettiği şekil olmalıdır.

Parametreler
kapsam mevcut kapsam
referans atanacak tensör.
değer atanacak değer.
endeksler Dilimlenecek endeksler. Bkz. Indices .
İadeler
  • yeni bir StridedSliceAssign örneği