نمونههای 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 > | BFLOAT16 | طرح داده برای تبدیل bfloat های 16 بیتی به / از مقادیر کوتاه. |
عمومی استاتیک نهایی BooleanDataLayout < ByteDataBuffer > | BOOL | طرح داده برای تبدیل بولین به/از مقادیر بایت. |
عمومی ثابت نهایی FloatDataLayout < ShortDataBuffer > | FLOAT16 | طرح داده برای تبدیل نیم شناور 16 بیتی به/از مقادیر کوتاه. |
سازندگان عمومی
DataLayouts () |
روش های عمومی
Static DataLayout < DataBuffer <byte[]>، String> | ofStrings (مجموعه نویسه ها) یک طرح داده برای تبدیل رشته به/از توالی بایت ایجاد می کند. |
روش های ارثی
فیلدها
عمومی ثابت نهایی FloatDataLayout < ShortDataBuffer > BFLOAT16
طرح داده برای تبدیل bfloat های 16 بیتی به / از مقادیر کوتاه.
این قالب قبلاً مختص TensorFlow بود، اما اکنون به طور گستردهتری در زمینه یادگیری ماشینی مورد استفاده قرار گرفته است. این برای تبدیل سریع با نقاط شناور 32 بیتی تک دقیق با تغییر مقدار آنها و کوتاه کردن مانتیس به تنها 7 بیت بهینه شده است.
بنابراین، در مقایسه با مشخصات نقطه شناور نیمه دقیق IEEE-754، دقت در بخش کسری از دست رفته است (به FLOAT16
مراجعه کنید، اما محدوده بزرگتری از مقادیر ممکن را در کل قسمت دارد زیرا توان 8 بیتی را حفظ می کند و استفاده می کند. همان سوگیری، (یعنی محدوده مطلق بالای 0 تقریباً [10 -40 ، 3.39 × 10 38 ]
برخی از CPU ها به صورت بومی برای عملکرد بهتر از فرمت bfloat16 پشتیبانی می کنند.
عمومی استاتیک نهایی BooleanDataLayout < ByteDataBuffer > BOOL
طرح داده برای تبدیل بولین به/از مقادیر بایت.
از آنجایی که هیچ بافر بولین جاوا NIO وجود ندارد، این طرح به ویژه برای نگاشت مقادیر بولی به بافرهای استاندارد بایت مفید است. تبدیل بین یک بولی و یک بایت نیاز به ریخته گری نوع صریح دارد.
عمومی ثابت نهایی FloatDataLayout < ShortDataBuffer > FLOAT16
طرح داده برای تبدیل نیم شناور 16 بیتی به/از مقادیر کوتاه.
نیم شناورها مطابق با مشخصات نقطه شناور نیمه دقیق IEEE-754 در حافظه ذخیره می شوند و در فضای کاربر به شناورهای 32 بیتی تبدیل می شوند.
هنگام تبدیل یک شناور واحد (32 بیتی) به یک شناور نیمه (16 بیتی) بالقوه از دست دادن دقت وجود دارد. محدوده مطلق مقادیر بالای 0 برای نیم شناور تقریباً [5.96 × 10 -8 ، 6.55 × 10 4 ] است و بخش اعشاری آنها به یک آخوندک 10 بیتی گرد می شود.
به طور کلی، محاسبات نیمه شناور در GPU ها بهتر عمل می کند زیرا، به طور کلی، CPU ها این فرمت را به صورت بومی پشتیبانی نمی کنند.
سازندگان عمومی
عمومی DataLayouts ()
روش های عمومی
Public Static DataLayout < DataBuffer <byte[]>, String> ofStrings (charset charset)
یک طرح داده برای تبدیل رشته به/از توالی بایت ایجاد می کند.
این طرح به یک charset
در پارامتر نیاز دارد تا مشخص کند که چگونه رشته ها باید به عنوان دنباله های بایت کدگذاری/رمزگشایی شوند. بنابراین یک نمونه طرح بندی جدید همیشه برگردانده می شود.
پارامترها
مجموعه شخصیت ها | مجموعه نویسه برای استفاده |
---|
برمی گرداند
- یک طرح رشته جدید