Shape

Bentuk kelas akhir publik

Bentuk Tensor atau NdArray .

Shape mendefinisikan ukuran di sepanjang sumbunya. Ini mungkin berisi ukuran yang tidak diketahui untuk salah satu sumbu atau mungkin sama sekali tidak diketahui, dalam hal ini bahkan jumlah sumbu pun tidak diketahui. Jika ukuran sumbu tidak diketahui, UNKNOWN_SIZE harus digunakan sebagai ukurannya.

bidang

publik statis panjang UNKNOWN_SIZE Ukuran sumbu yang tidak diketahui atau ukuran total yang tidak diketahui untuk Bentuk yang tidak diketahui.

Metode Publik

Membentuk
tambahkan (dimensi terakhir yang panjang)
Mengembalikan Bentuk baru, dengan dimensi terakhir baru yang ditambahkan.
Membentuk
tambahkan ( Bentuk lainnya)
Mengembalikan Bentuk baru, dengan dimensi Bentuk lain yang ditambahkan.
panjang[]
sebagaiArray ()
Mengembalikan salinan pertahanan sumbu Bentuk ini.
boolean
sama dengan (Objek objek)
Sama dengan implementasi untuk Bentuk.
boolean
hasUnknownDimension ()
Mengembalikan apakah satu atau lebih dimensi Bentuk ini mempunyai ukuran yang tidak diketahui.
ke dalam
Membentuk
kepala ()
Mengembalikan Bentuk 1 dimensi dengan dimensi pertama yang cocok dengan dimensi pertama Bentuk ini.
boolean statis
isCompatible (redup panjang, panjang otherDim)
Uji untuk melihat apakah dua dimensi bentuk kompatibel.
boolean
KompatibelDengan (Bentuk bentuk )
Menentukan apakah bentuk lain kompatibel dengan bentuk ini.
boolean
isMatrix ()
Mengembalikan apakah Bentuk ini merupakan bentuk matriks
boolean
adalahSkalar ()
Mengembalikan apakah Bentuk ini mewakili skalar.
boolean
tidak diketahui ()
Mengembalikan apakah jumlah dimensi Bentuk ini tidak diketahui.
boolean
adalahVektor ()
Mengembalikan apakah Bentuk ini merupakan bentuk vektor.
ke dalam
jumlah Dimensi ()
Mengembalikan jumlah dimensi Bentuk ini.
Bentuk statis
dari (panjang... dimensiUkuran)
Buat Bentuk yang mewakili skalar atau nilai N-dimensi.
Membentuk
tambahkan ( Bentuk lainnya)
Mengembalikan Bentuk baru, dengan dimensi Bentuk lain di awal.
Membentuk
tambahkan (dimensi pertama yang panjang)
Mengembalikan Bentuk baru, dengan dimensi pertama baru yang ditambahkan.
Bentuk statis
skalar ()
Membuat Bentuk yang mewakili nilai skalar.
panjang
ukuran (int i)
Ukuran dimensi dengan indeks yang diberikan.
panjang
ukuran ()
Mengembalikan jumlah total elemen yang dimiliki Tensor dengan Bentuk ini.
Membentuk
subBentuk (int awal, int akhir)
Mengembalikan bentuk dimensi end - begin dengan dimensi yang cocok dengan Bentuk ini dari begin hingga end .
Membentuk
ekor ()
Mengembalikan Bentuk baru, dengan dimensi pertama Bentuk ini dihapus.
Membentuk
ambil (int n)
Mengembalikan Bentuk n-dimensi dengan dimensi yang cocok dengan n dimensi pertama dari bentuk ini
Membentuk
ambil Terakhir (int n)
Mengembalikan Bentuk n-dimensi dengan dimensi yang cocok dengan n dimensi terakhir Bentuk ini.
Rangkaian
keString ()
Deskripsi singkat tentang Bentuk yang dimaksudkan untuk debugging.
Bentuk statis
tidak dikenal ()
Membuat Bentuk yang mewakili jumlah dimensi yang tidak diketahui.

Metode Warisan

bidang

UNKNOWN_SIZE panjang statis publik

Ukuran sumbu yang tidak diketahui atau ukuran total yang tidak diketahui untuk Bentuk yang tidak diketahui.

Metode Publik

Penambahan Bentuk publik (Dimensi terakhir yang panjang)

Mengembalikan Bentuk baru, dengan dimensi terakhir baru yang ditambahkan. Agar panggilan ini berhasil, isUnknown() harus false .

Parameter
Dimensi terakhir dimensi yang akan ditambahkan
Kembali
  • suatu Bentuk baru dengan dimensi Bentuk ini diikuti dengan dimensi yang diberikan, tidak pernah nol

Tambahkan Bentuk publik ( Bentuk lainnya)

Mengembalikan Bentuk baru, dengan dimensi Bentuk lain yang ditambahkan. Untuk Bentuk ini dan Bentuk lainnya, isUnknown() harus menghasilkan false. Misalnya @kode Shape.of(3,4).append(Shape.of(1,2)) => Shape.of(3,4,1,2) }

Parameter
lainnya Bentuk lain, tidak boleh null , tidak boleh diketahui
Kembali
  • Bentuk baru yang terdiri dari dimensi Bentuk ini diikuti dengan dimensi Bentuk tertentu

publik panjang[] asArray ()

Mengembalikan salinan pertahanan sumbu Bentuk ini. Perubahan pada array yang dikembalikan agar tidak mengubah status Bentuk ini. Mengembalikan null jika isUnknown() benar.

boolean publik sama (Obj objek)

Sama dengan implementasi untuk Bentuk. Dua Bentuk dianggap sama jika:

  • jumlah dimensi ditentukan dan sama untuk keduanya
  • ukuran setiap dimensi ditentukan dan sama untuk keduanya

Jika salah satu Bentuk memiliki dimensi yang tidak diketahui (meskipun keduanya sama) atau jika salah satu bentuk memiliki jumlah dimensi yang tidak diketahui (meskipun keduanya menghasilkan true untuk isUnknown() ), keduanya tidak dianggap sama! Namun, suatu bentuk akan selalu sama dengan dirinya sendiri, meskipun bentuk tersebut tidak diketahui atau mengandung dimensi yang tidak diketahui.

boolean publik hasUnknownDimension ()

Mengembalikan apakah satu atau lebih dimensi Bentuk ini mempunyai ukuran yang tidak diketahui.

kode hash int publik ()

publik Bentuk kepala ()

Mengembalikan Bentuk 1 dimensi dengan dimensi pertama yang cocok dengan dimensi pertama Bentuk ini.

boolean statis publik isCompatible (redup panjang, panjang otherDim)

Uji untuk melihat apakah dua dimensi bentuk kompatibel.

Dimensi ini kompatibel jika salah satu dimensinya adalah Shape.UNKNOWN_SIZE atau kedua dimensinya sama

Parameter
redup dimensi pertama
lainnyaRedup dimensi kedua
Kembali
  • benar, jika kedua dimensinya kompatibel

boolean publik Kompatibel Dengan (Bentuk bentuk )

Menentukan apakah bentuk lain kompatibel dengan bentuk ini.

Dua bentuk yang mungkin terdefinisi sebagian kompatibel jika terdapat bentuk terdefinisi penuh yang dapat diwakili oleh kedua bentuk. Dengan demikian, kompatibilitas memungkinkan kode inferensi bentuk untuk mempertimbangkan bentuk yang ditentukan sebagian. Misalnya:

  • Shape.unknown() kompatibel dengan semua bentuk.
  • Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) kompatibel dengan semua bentuk dua dimensi, seperti Shape(32, 784) , dan juga Shape.unknown() . Ini tidak kompatibel dengan, misalnya, Shape(UNKNOWN_SIZE) atau Shape(UNKNOWN_SIZE, UNKNOWN_SIZE, UNKNOWN_SIZE) .
  • Shape(32, UNKNOWN_SIZE) kompatibel dengan semua bentuk dua dimensi dengan ukuran 32 di dimensi ke-0, dan juga Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) dan Shape.unknown() . Ini tidak kompatibel dengan, misalnya, Shape(32) , Shape(32, UNKNOWN_SIZE, 1) atau Shape(64, UNKNOWN_SIZE) .
  • Shape(32, 784) kompatibel dengan dirinya sendiri, dan juga Shape(32, UNKNOWN_SIZE) , Shape(UNKNOWN_SIZE, 784) , Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) dan Shape.unknown() . Ini tidak kompatibel dengan, misalnya, Shape(32, 1, 784) atau Shape(UNKNOWN_SIZE) .

Hubungan kecocokan bersifat refleksif dan simetris, namun tidak transitif. Misalnya, Shape(32, 784) kompatibel dengan Shape.unknown() , dan Shape.unknown() kompatibel dengan Shape(4, 4) , namun Shape(32, 784) tidak kompatibel dengan Shape(4, 4) .

Kompatibilitas tidak sama dengan penyiaran. Bentuk yang kompatibel harus memiliki jumlah dimensi yang sama dan untuk setiap pasangan dimensi, satu dimensi harus sama dengan dimensi lainnya atau setidaknya salah satu dimensi dalam pasangan tersebut harus UNKNOWN_SIZE.

Penyiaran memperbolehkan dimensi yang berbeda, namun dimensi berpasangan harus sama, atau salah satu dimensi harus 1. Jika satu bentuk memiliki dimensi lebih kecil dari bentuk lainnya, bentuk yang lebih kecil "diregangkan" dengan dimensi 1.

Parameter
membentuk Bentuk lainnya
Kembali
  • benar, jika kedua bentuk tersebut kompatibel.

isMatrix boolean publik ()

Mengembalikan apakah Bentuk ini merupakan bentuk matriks

boolean publik isScalar ()

Mengembalikan apakah Bentuk ini mewakili skalar.

boolean publik Tidak Diketahui ()

Mengembalikan apakah jumlah dimensi Bentuk ini tidak diketahui.

isVector boolean publik ()

Mengembalikan apakah Bentuk ini merupakan bentuk vektor.

public int numDimensi ()

Mengembalikan jumlah dimensi Bentuk ini. -1 jika tidak diketahui, 0 untuk skalar, 1 untuk vektor, 2 untuk matriks, dll.

bentuk statis publik (panjang... ukuran dimensi)

Buat Bentuk yang mewakili skalar atau nilai N-dimensi.

Membuat Bentuk yang mewakili skalar atau nilai N-dimensi (N minimal 1), dengan ukuran yang disediakan untuk setiap dimensi. A -1 menunjukkan bahwa ukuran dimensi yang bersangkutan tidak diketahui. Jika tidak ada ukuran yang disediakan, Bentuk yang mewakili skalar akan dibuat. Misalnya:

// 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()
 

Parameter
dimensiUkuran jumlah elemen di setiap dimensi bentuk ini, jika ada, atau UNKNOWN_SIZE jika tidak diketahui.
Kembali
  • bentuk baru

Bentuk publik ditambahkan ( Bentuk lainnya)

Mengembalikan Bentuk baru, dengan dimensi Bentuk lain di awal. Untuk Bentuk ini dan Bentuk lainnya, isUnknown() harus menghasilkan false. Misalnya Shape.of(3,4).prepend(Shape.of(1,2)) => Shape.of(1,2,3,4)

Parameter
lainnya Bentuk lain, tidak boleh null , tidak boleh diketahui
Kembali
  • Bentuk baru yang terdiri dari dimensi Bentuk tertentu diikuti dengan dimensi Bentuk ini, tidak pernah nol

Bentuk publik ditambahkan (Dimensi pertama yang panjang)

Mengembalikan Bentuk baru, dengan dimensi pertama baru yang ditambahkan. Agar panggilan ini berhasil, isUnknown() harus false .

Parameter
Dimensi pertama dimensi yang akan ditambahkan
Kembali
  • suatu bentuk baru dengan dimensi tertentu terlebih dahulu, diikuti dengan dimensi Bentuk ini, tidak pernah nol

skalar Bentuk statis publik ()

Membuat Bentuk yang mewakili nilai skalar.

Kembali
  • Bentuk tanpa dimensi yang isScalar() nya benar, tidak pernah nol.

ukuran panjang publik (int i)

Ukuran dimensi dengan indeks yang diberikan.

Jika isUnknown() benar atau ukuran dimensi dengan indeks yang diberikan memiliki ukuran yang tidak diketahui, UNKNOWN_SIZE akan dikembalikan.

Parameter
Saya indeks dimensi untuk mendapatkan ukurannya. Jika Bentuk ini mempunyai jumlah dimensi yang diketahui, maka Bentuk tersebut harus < numDimensions() . Indeks mungkin negatif, dalam hal ini posisi dihitung dari akhir bentuk. Misalnya: size(-1) mengembalikan ukuran dimensi terakhir, size(-2) ukuran dimensi kedua hingga terakhir, dll.
Kembali
  • Ukuran dimensi dengan indeks yang diberikan jika diketahui, UNKNOWN_SIZE sebaliknya.

ukuran panjang publik ()

Mengembalikan jumlah total elemen yang dimiliki Tensor dengan Bentuk ini.

Jika isUnknown() benar atau hasUnknownDimension() benar, UNKNOWN_SIZE dikembalikan.

Kembali
  • Jumlah total elemen yang dimiliki Tensor dengan bentuk ini jika dapat dihitung, jika tidak UNKNOWN_SIZE .

SubBentuk Bentuk publik (int awal, int akhir)

Mengembalikan bentuk dimensi end - begin dengan dimensi yang cocok dengan Bentuk ini dari begin hingga end .

Parameter
mulai Di mana memulai sub-bentuk.
akhir Di mana mengakhiri sub-bentuk, eksklusif.
Kembali
  • sub-bentuk yang dibatasi oleh awal dan akhir.

publik Bentuk ekor ()

Mengembalikan Bentuk baru, dengan dimensi pertama Bentuk ini dihapus.

Pengambilan bentuk publik (int n)

Mengembalikan Bentuk n-dimensi dengan dimensi yang cocok dengan n dimensi pertama dari bentuk ini

Parameter
N jumlah dimensi terdepan yang didapat, harus <= dari numDimensions()
Kembali
  • suatu Bentuk berdimensi-n dengan n dimensi pertama yang cocok dengan n dimensi pertama Bentuk ini

Bentuk publik ambil Terakhir (int n)

Mengembalikan Bentuk n-dimensi dengan dimensi yang cocok dengan n dimensi terakhir Bentuk ini.

Parameter
N jumlah dimensi tambahan yang didapat, harus <= dari numDimensions()
Kembali
  • suatu bentuk berdimensi n dengan dimensi yang cocok dengan n dimensi terakhir Bentuk ini, tidak pernah nol

String publik keString ()

Deskripsi singkat tentang Bentuk yang dimaksudkan untuk debugging.

Bentuk statis publik tidak diketahui ()

Membuat Bentuk yang mewakili jumlah dimensi yang tidak diketahui.

Kembali
  • Bentuk yang isUnknown() bernilai benar, tidak pernah nol.