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