Shape

halka açık final dersi

Bir Tensörün veya NdArray şekli.

Shape boyutları eksenleri boyunca tanımlar. Eksenlerden biri için bilinmeyen bir boyut içerebilir veya tamamen bilinmiyor olabilir, bu durumda eksen sayısı bile bilinmemektedir. Bir eksenin boyutu bilinmiyorsa, boyut olarak UNKNOWN_SIZE kullanılmalıdır.

Alanlar

genel statik uzun UNKNOWN_SIZE Bilinmeyen bir eksenin boyutu veya bilinmeyen bir Şekil için toplam bilinmeyen boyut.

Genel Yöntemler

Şekil
ekleme (uzun son Boyut)
Yeni bir son boyut eklenmiş olarak yeni bir Şekil döndürür.
Şekil
ekle ( Diğerini şekillendir )
Başka bir Şeklin boyutlarının eklendiği yeni bir Şekil döndürür.
uzun[]
asArray ()
Bu Şeklin eksenlerinin savunma amaçlı bir kopyasını döndürür.
boolean
eşittir (Nesne nesnesi)
Şekiller için eşit uygulama.
boolean
Bilinmeyen Boyuta sahiptir ()
Bu Şeklin bir veya daha fazla boyutunun bilinmeyen bir boyuta sahip olup olmadığını döndürür.
int
Şekil
KAFA ()
İlk boyutu bu Şeklin ilk boyutuyla eşleşen 1 boyutlu bir Şekil döndürür.
statik boole
isCompatible (uzun loş, uzun diğerDim)
İki şekil boyutunun uyumlu olup olmadığını test edin.
boolean
Uyumludur ( Şekil şekli )
Başka bir şeklin bununla uyumlu olup olmadığını belirler.
boolean
isMatrix ()
Bu Şeklin bir matrisin şekli olup olmadığını döndürür
boolean
isScalar ()
Bu Şeklin bir skaleri temsil edip etmediğini döndürür.
boolean
Bilinmiyor ()
Bu Şeklin boyut sayısının bilinip bilinmediğini döndürür.
boolean
isVektör ()
Bu Shape'in bir vektör şekli olup olmadığını döndürür.
int
sayıBoyutlar ()
Bu Şeklin boyutlarının sayısını döndürür.
Statik Şekil
( uzun ... boyutBoyutları)
Skaler veya N boyutlu bir değeri temsil eden bir Şekil oluşturun.
Şekil
başına ekle ( Diğerini şekillendir )
Başına başka bir Şeklin boyutları eklenmiş olarak yeni bir Şekil döndürür.
Şekil
başına ekle (uzun ilk Boyut)
Yeni bir ilk boyutun eklendiği yeni bir Şekil döndürür.
Statik Şekil
skaler ()
Skaler bir değeri temsil eden bir Şekil oluşturur.
uzun
boyut (int i)
Verilen indeksle boyutun boyutu.
uzun
boyut ()
Bu Şekildeki bir Tensörün sahip olabileceği toplam öğe sayısını döndürür.
Şekil
subShape (int başlangıç, int bitiş)
begin end bu Şekille eşleşen boyutlara sahip end - begin ​​boyutlu bir şekil döndürün.
Şekil
kuyruk ()
Bu Şeklin ilk boyutu kaldırılmış olarak yeni bir Şekil döndürür.
Şekil
almak (int n)
Boyutları bu şeklin ilk n boyutuyla eşleşen n boyutlu bir Şekil döndürür
Şekil
TakeLast (int n)
Bu Şeklin son n boyutuyla eşleşen boyutları olan n boyutlu bir Şekil döndürür.
Sicim
toString ()
Hata ayıklamaya yönelik Şeklin kısa açıklaması.
Statik Şekil
bilinmiyor ()
Bilinmeyen sayıda boyutu temsil eden bir Şekil oluşturur.

Kalıtsal Yöntemler

Alanlar

genel statik uzun UNKNOWN_SIZE

Bilinmeyen bir eksenin boyutu veya bilinmeyen bir Şekil için toplam bilinmeyen boyut.

Genel Yöntemler

genel Şekil ekleme (uzun son Boyut)

Yeni bir son boyut eklenmiş olarak yeni bir Şekil döndürür. Bu çağrının başarılı olması için isUnknown() öğesinin false olması gerekir.

Parametreler
son Boyut eklenecek boyut
İade
  • bu Şeklin boyutları ve ardından verilen boyutun geldiği yeni bir Şekil, asla null

genel Şekil ekleme (Diğer Şekil )

Başka bir Şeklin boyutlarının eklendiği yeni bir Şekil döndürür. Hem bu Şekil hem de diğer Şekil için isUnknown() işlevi false döndürmelidir. Örneğin @code Shape.of(3,4).append(Shape.of(1,2)) => Shape.of(3,4,1,2) }

Parametreler
diğer başka bir Şekil, null olmamalı, bilinmiyor olmamalı
İade
  • Bu Şeklin boyutlarından ve ardından verilen Şeklin boyutlarından oluşan yeni bir Şekil

public long[] asArray ()

Bu Şeklin eksenlerinin savunma amaçlı bir kopyasını döndürür. Bu Shape'in durumunu değiştirmemek için döndürülen dizide yapılan değişiklikler. isUnknown() doğruysa null değerini döndürür.

genel boole eşittir (Object obj)

Şekiller için eşit uygulama. İki Şekil eşit kabul edilir:

  • boyutların sayısı tanımlanmış ve her ikisi için de eşit
  • her boyutun boyutu tanımlanmış ve her ikisi için de eşit

Şekillerden herhangi birinin bilinmeyen boyutları varsa (her ikisinde de aynı olsalar bile) veya şekillerden birinin bilinmeyen sayıda boyutu varsa (her ikisi de isUnknown() için true dönse bile), bunlar eşit kabul edilmez! Ancak bir şekil, bilinmese veya bilinmeyen boyutlar içerse bile her zaman kendisine eşit olacaktır.

public boolean hasUnknownDimension ()

Bu Şeklin bir veya daha fazla boyutunun bilinmeyen bir boyuta sahip olup olmadığını döndürür.

genel int hashCode ()

halka açık Şekil kafası ()

İlk boyutu bu Şeklin ilk boyutuyla eşleşen 1 boyutlu bir Şekil döndürür.

public static boolean isCompatible (uzun loş, uzun otherDim)

İki şekil boyutunun uyumlu olup olmadığını test edin.

Boyutlardan herhangi birinin Shape.UNKNOWN_SIZE olması veya her iki boyutun eşit olması durumunda boyutlar uyumludur

Parametreler
loş ilk boyut
diğerDim ikinci boyut
İade
  • doğru, eğer her iki boyut da uyumluysa

public boolean isCompatibleWith ( Şekil şekli)

Başka bir şeklin bununla uyumlu olup olmadığını belirler.

Her iki şeklin temsil edebileceği tam tanımlı bir şekil varsa, muhtemelen kısmen tanımlanmış iki şekil uyumludur. Böylece uyumluluk, şekil çıkarım kodunun kısmen tanımlanmış şekiller hakkında akıl yürütmesine olanak tanır. Örneğin:

  • Shape.unknown() tüm şekillerle uyumludur.
  • Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) Shape(32, 784) ve ayrıca Shape.unknown() gibi tüm iki boyutlu şekillerle uyumludur. Örneğin, Shape(UNKNOWN_SIZE) veya Shape(UNKNOWN_SIZE, UNKNOWN_SIZE, UNKNOWN_SIZE) ile uyumlu değildir.
  • Shape(32, UNKNOWN_SIZE) 0. boyutta boyutu 32 olan tüm iki boyutlu şekillerle ve ayrıca Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) ve Shape.unknown() ile uyumludur. Örneğin Shape(32) , Shape(32, UNKNOWN_SIZE, 1) veya Shape(64, UNKNOWN_SIZE) ile uyumlu değildir.
  • Shape(32, 784) kendisi ile uyumludur ve ayrıca Shape(32, UNKNOWN_SIZE) , Shape(UNKNOWN_SIZE, 784) , Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) ve Shape.unknown() . Örneğin Shape(32, 1, 784) veya Shape(UNKNOWN_SIZE) ile uyumlu değildir.

Uyumluluk ilişkisi dönüşlü ve simetriktir ancak geçişli değildir. Örneğin, Shape(32, 784) Shape.unknown() ile uyumludur ve Shape.unknown() , Shape(4, 4) ile uyumludur, ancak Shape(32, 784) Shape(4, 4) ) ile uyumlu değildir Shape(4, 4) .

Uyumluluk, yayın yapmakla aynı şey değildir. Uyumlu şekiller aynı sayıda boyuta sahip olmalı ve her boyut çifti için bir boyutun diğer boyutlara eşit olması veya çiftteki boyutlardan en az birinin UNKNOWN_SIZE olması gerekir.

Yayınlama farklı boyutlara izin verir, ancak eşleştirilmiş boyutların eşit olması veya bir boyutun 1 olması gerekir. Bir şeklin diğer şekilden daha az boyutu varsa, daha küçük olan şekil 1 boyutuyla "uzatılır".

Parametreler
şekil Diğer şekil
İade
  • doğru, eğer iki şekil uyumluysa.

genel boole isMatrix ()

Bu Şeklin bir matrisin şekli olup olmadığını döndürür

genel boolean isScalar ()

Bu Şeklin bir skaleri temsil edip etmediğini döndürür.

genel boole Bilinmiyor ()

Bu Şeklin boyut sayısının bilinip bilinmediğini döndürür.

genel boolean isVector ()

Bu Shape'in bir vektör şekli olup olmadığını döndürür.

public int numDimensions ()

Bu Şeklin boyutlarının sayısını döndürür. Bilinmiyorsa -1, skaler için 0, vektör için 1, matris için 2 vb.

public static Şekli ( uzun... boyutBoyutları)

Skaler veya N boyutlu bir değeri temsil eden bir Şekil oluşturun.

Her boyut için sağlanan boyutla, bir skaler veya N boyutlu değeri (N en az 1 olmak üzere) temsil eden bir Şekil oluşturur. A -1, karşılık gelen boyutun boyutunun bilinmediğini gösterir. Boyut sağlanmazsa skaleri temsil eden bir Şekil oluşturulur. Örneğin:

// A 2-element vector.
 Shape vector = Shape.of(2);

 // A 2x3 matrix.
 Shape matrix = Shape.of(2, 3);

 // A matrix with 4 columns but an unknown number of rows.
 // This is typically used to indicate the shape of tensors that represent
 // a variable-sized batch of values. The Shape below might represent a
 // variable-sized batch of 4-element vectors.
 Shape batch = Shape.of(-1, 4);

 // A scalar. For readability, you should prefer calling Shape.scalar()
 Shape scalar = Shape.of()
 

Parametreler
boyutBoyutlar varsa bu şeklin her boyutundaki öğe sayısı veya bilinmiyorsa UNKNOWN_SIZE .
İade
  • yeni bir şekil

genel Şekil başına ekleme (Diğer Şekil )

Başına başka bir Şeklin boyutları eklenmiş olarak yeni bir Şekil döndürür. Hem bu Şekil hem de diğer Şekil için isUnknown() işlevi false döndürmelidir. Örneğin Shape.of(3,4).prepend(Shape.of(1,2)) => Shape.of(1,2,3,4)

Parametreler
diğer başka bir Şekil, null olmamalı, bilinmiyor olmamalı
İade
  • Verilen Şeklin boyutlarından ve bunu takip eden bu Şeklin boyutlarından oluşan yeni bir Şekil; asla null değil

genel Şekil başına ekleme (uzun ilk Boyut)

Yeni bir ilk boyutun eklendiği yeni bir Şekil döndürür. Bu çağrının başarılı olması için isUnknown() öğesinin false olması gerekir.

Parametreler
ilk Boyut başa eklenecek boyut
İade
  • önce verilen boyutun ardından bu Şeklin boyutlarının geldiği yeni bir şekil, asla null değil

genel statik Şekil skaler ()

Skaler bir değeri temsil eden bir Şekil oluşturur.

İade
  • isScalar() öğesinin doğru olduğu, hiçbir zaman null olmadığı boyutları olmayan bir Şekil.

genel uzun boyut (int i)

Belirtilen dizine sahip boyutun boyutu.

isUnknown() doğruysa veya verilen dizine sahip boyutun boyutu bilinmeyen bir boyuta sahipse UNKNOWN_SIZE döndürülür.

Parametreler
Ben boyutun alınacağı boyutun indeksi. Bu Şeklin bilinen sayıda boyutu varsa < numDimensions() olmalıdır. İndeks negatif olabilir, bu durumda konum şeklin sonundan itibaren sayılır. Örneğin: size(-1) son boyutun boyutunu döndürür, size(-2) ikinciden son boyutun boyutunu vb. döndürür.
İade
  • Biliniyorsa belirtilen dizine sahip boyutun boyutu, aksi halde UNKNOWN_SIZE .

halka açık uzun boy ()

Bu Şekildeki bir Tensörün sahip olabileceği toplam öğe sayısını döndürür.

isUnknown() doğruysa veya hasUnknownDimension() doğruysa UNKNOWN_SIZE döndürülür.

İade
  • Hesaplanabiliyorsa, bu şekle sahip bir Tensörün sahip olacağı toplam öğe sayısı, aksi takdirde UNKNOWN_SIZE .

public Shape subShape (int başlangıç, int bitiş)

begin end bu Şekille eşleşen boyutlara sahip end - begin ​​boyutlu bir şekil döndürün.

Parametreler
başlamak Alt şeklin nereden başlayacağı.
son Alt şeklin nerede biteceği, özel.
İade
  • başlangıç ​​ve bitiş ile sınırlanan alt şekil.

halka açık Şekil kuyruğu ()

Bu Şeklin ilk boyutu kaldırılmış olarak yeni bir Şekil döndürür.

genel Şekil alma (int n)

Boyutları bu şeklin ilk n boyutuyla eşleşen n boyutlu bir Şekil döndürür

Parametreler
N Alınacak ön boyutların sayısı numDimensions() 'tan <= olmalıdır
İade
  • ilk n boyutu bu Şeklin ilk n boyutuyla eşleşen n boyutlu bir Şekil

public Shape takeLast (int n)

Bu Şeklin son n boyutuyla eşleşen boyutları olan n boyutlu bir Şekil döndürür.

Parametreler
N elde edilecek sondaki boyutların sayısı numDimensions() 'tan <= olmalıdır
İade
  • boyutları bu Şeklin son n boyutuyla eşleşen n boyutlu bir şekil; asla boş değer değildir

public String toString ()

Hata ayıklamaya yönelik Şeklin kısa açıklaması.

genel statik Şekil bilinmiyor ()

Bilinmeyen sayıda boyutu temsil eden bir Şekil oluşturur.

İade
  • isUnknown() öğesinin doğru olduğu bir Şekil, asla null değildir.