DataLayouts

DataLayouts من الفئة النهائية العامة

يعرض مثيلات DataLayout لتنسيقات البيانات المستخدمة بشكل متكرر في حساب الجبر الخطي.

مثال للاستخدام:

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

مجالات

FloatDataLayout النهائي العام الثابت <ShortDataBuffer> بطفو16 تخطيط البيانات لتحويل bfloats 16 بت إلى/من القيم القصيرة.
BooleanDataLayout النهائي العام الثابت < ByteDataBuffer > منطقي تخطيط البيانات لتحويل القيم المنطقية إلى/من قيم البايت.
FloatDataLayout النهائي العام الثابت <ShortDataBuffer> تعويم16 تخطيط البيانات لتحويل العوامات النصفية ذات 16 بت إلى/من القيم القصيرة.

المقاولون العامون

الأساليب العامة

DataLayout ثابت < DataBuffer <byte[]>، String>
ofStrings (مجموعة محارف محارف)
ينشئ تخطيط بيانات لتحويل السلاسل إلى/من تسلسلات البايت.

الطرق الموروثة

مجالات

FloatDataLayout النهائي العام الثابت <ShortDataBuffer> BFLOAT16

تخطيط البيانات لتحويل bfloats 16 بت إلى/من القيم القصيرة.

كان هذا التنسيق مخصصًا لـ TensorFlow ولكن تم اعتماده الآن على نطاق أوسع في مجال التعلم الآلي. لقد تم تحسينه للتحويل السريع باستخدام نقاط عائمة أحادية الدقة 32 بت بمجرد تغيير قيمتها واقتطاع الجزء العشري إلى 7 بتات فقط.

لذلك، يعد هذا فقدانًا للدقة في جزء الكسر مقارنة بمواصفات النقطة العائمة نصف الدقة IEEE-754 (انظر FLOAT16 ولكن لديها نطاق أكبر من القيم المحتملة في الجزء بأكمله لأنها تحافظ على الأس 8 بت وتستخدم نفس الانحياز (أي نطاق مطلق أعلى من 0 تقريبًا [10 -40 , 3.39 × 10 38 ]

تدعم بعض وحدات المعالجة المركزية تنسيق bfloat16 أصلاً للحصول على أداء أفضل.

BooleanDataLayout النهائي العام الثابت < ByteDataBuffer > BOOL

تخطيط البيانات لتحويل القيم المنطقية إلى/من قيم البايت.

نظرًا لعدم وجود مخزن مؤقت منطقي لـ Java NIO، فإن هذا التخطيط مفيد بشكل خاص لتعيين قيم القيم المنطقية إلى مخازن البايت القياسية. يتطلب التحويل بين القيمة المنطقية والبايت صب النوع الصريح.

FloatDataLayout النهائي العام الثابت <ShortDataBuffer> FLOAT16

تخطيط البيانات لتحويل العوامات النصفية ذات 16 بت إلى/من القيم القصيرة.

يتم تخزين نصف العوامات في الذاكرة وفقًا لمواصفات النقطة العائمة نصف الدقة IEEE-754، ويتم تحويلها من/إلى عوامات 32 بت في مساحة المستخدم.

هناك احتمال فقدان الدقة عند تحويل تعويم واحد (32 بت) إلى نصف تعويم (16 بت). النطاق المطلق للقيم فوق 0 لنصف تعويم هو تقريبًا [5.96 × 10 -8 , 6.55 × 10 4 ] ويتم تقريب الجزء العشري الخاص بها إلى الجزء العشري المكون من 10 بت.

بشكل عام، أداء الحساب نصف العائم أفضل على وحدات معالجة الرسومات نظرًا لأن وحدات المعالجة المركزية، بشكل عام، لا تدعم هذا التنسيق محليًا.

المقاولون العامون

تخطيطات البيانات العامة ()

الأساليب العامة

DataLayout العام الثابت < DataBuffer <byte[]>، String> ofStrings (مجموعة محارف الأحرف)

ينشئ تخطيط بيانات لتحويل السلاسل إلى/من تسلسلات البايت.

يتطلب هذا التخطيط charset أحرف في المعلمة لتحديد كيفية تشفير/فك تشفير السلاسل كتسلسلات بايت. لذلك يتم دائمًا إرجاع مثيل تخطيط جديد.

حدود
مجموعة محارف محارف للاستخدام
عائدات
  • تخطيط سلسلة جديدة