DataLayouts

DataLayout kelas akhir publik

Mengekspos instance DataLayout dari format data yang sering digunakan dalam komputasi aljabar linier.

Contoh penggunaan:

// Storing boolean values in a ByteDataBuffer
 BooleanDataBuffer boolBuffer = DataLayouts.BOOL.applyTo(byteDataBuffer);

 // Allocating a new buffer of 256 half floats
 FloatDataBuffer halfBuffer = DataLayouts.FLOAT16.applyTo(DataBuffers.ofShorts(256 * DataLayouts.FLOAT16.scale());
 

bidang

FloatDataLayout akhir statis publik < ShortDataBuffer > BFLOAT16 Tata letak data untuk mengonversi bfloat 16-bit ke/dari nilai pendek.
BooleanDataLayout akhir statis publik < ByteDataBuffer > BOOL Tata letak data untuk mengonversi boolean ke/dari nilai byte.
FloatDataLayout akhir statis publik < ShortDataBuffer > MENGambang16 Tata letak data untuk mengonversi setengah float 16-bit ke/dari nilai pendek.

Konstruktor Publik

Metode Publik

DataLayout statis < DataBuffer <byte[]>, String>
ofStrings (rangkaian rangkaian karakter)
Membuat tata letak data untuk mengonversi string ke/dari urutan byte.

Metode Warisan

bidang

FloatDataLayout akhir statis publik < ShortDataBuffer > BFLOAT16

Tata letak data untuk mengonversi bfloat 16-bit ke/dari nilai pendek.

Format ini dulunya khusus untuk TensorFlow, namun kini telah diadopsi secara lebih luas di bidang pembelajaran mesin. Ini dioptimalkan untuk konversi cepat dengan floating point 32-bit presisi tunggal hanya dengan menggeser nilainya dan memotong mantissa menjadi hanya 7 bit.

Oleh karena itu, ini adalah hilangnya presisi di bagian pecahan dibandingkan dengan spesifikasi floating point setengah presisi IEEE-754 (lihat FLOAT16 tetapi memiliki rentang nilai yang lebih besar di seluruh bagian karena mempertahankan eksponen 8-bit dan menggunakan bias yang sama, (yaitu rentang absolut di atas 0 kira-kira [10 -40 , 3,39 × 10 38 ]

Beberapa CPU mendukung format bfloat16 secara asli untuk kinerja yang lebih baik.

BooleanDataLayout akhir statis publik < ByteDataBuffer > BOOL

Tata letak data untuk mengonversi boolean ke/dari nilai byte.

Karena tidak ada buffer boolean Java NIO, tata letak ini sangat berguna untuk memetakan nilai boolean ke buffer byte standar. Konversi antara boolean dan byte memerlukan casting tipe eksplisit.

FloatDataLayout akhir statis publik < ShortDataBuffer > FLOAT16

Tata letak data untuk mengonversi setengah float 16-bit ke/dari nilai pendek.

Setengah float disimpan dalam memori sesuai dengan spesifikasi floating point setengah presisi IEEE-754, dan dikonversi ke/dari float 32-bit di ruang pengguna.

Ada potensi hilangnya presisi saat mengonversi satu float (32-bit) menjadi setengah float (16-bit). Rentang nilai absolut di atas 0 untuk setengah float kira-kira [5,96 × 10 -8 , 6,55 × 10 4 ] dan bagian desimalnya dibulatkan menjadi mantissa 10 bit.

Secara umum, komputasi setengah mengambang berkinerja lebih baik pada GPU karena, secara umum, CPU tidak mendukung format ini secara asli.

Konstruktor Publik

Tata Letak Data publik ()

Metode Publik

DataLayout statis publik < DataBuffer <byte[]>, String> ofStrings (rangkaian karakter Charset)

Membuat tata letak data untuk mengonversi string ke/dari urutan byte.

Tata letak ini memerlukan parameter charset untuk menentukan bagaimana string harus dikodekan/didekode sebagai urutan byte. Jadi contoh tata letak baru selalu dikembalikan.

Parameter
rangkaian karakter rangkaian karakter yang akan digunakan
Kembali
  • tata letak string baru