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 | |
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 | Kode hash () |
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 | |
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 | |
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, sepertiShape(32, 784)
, dan jugaShape.unknown()
. Ini tidak kompatibel dengan, misalnya,Shape(UNKNOWN_SIZE)
atauShape(UNKNOWN_SIZE, UNKNOWN_SIZE, UNKNOWN_SIZE)
. -
Shape(32, UNKNOWN_SIZE)
kompatibel dengan semua bentuk dua dimensi dengan ukuran 32 di dimensi ke-0, dan jugaShape(UNKNOWN_SIZE, UNKNOWN_SIZE)
danShape.unknown()
. Ini tidak kompatibel dengan, misalnya,Shape(32)
,Shape(32, UNKNOWN_SIZE, 1)
atauShape(64, UNKNOWN_SIZE)
. -
Shape(32, 784)
kompatibel dengan dirinya sendiri, dan jugaShape(32, UNKNOWN_SIZE)
,Shape(UNKNOWN_SIZE, 784)
,Shape(UNKNOWN_SIZE, UNKNOWN_SIZE)
danShape.unknown()
. Ini tidak kompatibel dengan, misalnya,Shape(32, 1, 784)
atauShape(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.
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.