بافر برای ذخیره داده های تانسور رشته.
مقادیر بهعنوان آرایهای از TF_TString
ذخیره میشوند که در داخل با tensorflow::tstring
پیچیده میشود، که در اصل نسخه قابل حمل std::string
است.
داده های بافر باید فقط یک بار با فراخوانی ERROR(/#init(NdArray, Function))
مقداردهی اولیه شوند، و بافر باید با فضای کافی تخصیص داده شده باشد (استفاده از ERROR(/#computeSize(NdArray, Function))
قبل از دقیقا بدانید که چند بایت برای ذخیره داده ها لازم است).
پس از اینکه داده های آن مقدار دهی اولیه شد، بافر فقط خواندنی است، زیرا امکان تغییر ایمن یک مقدار بدون شروع مجدد کل داده وجود ندارد.
روش های عمومی
ثابت <T> طولانی | computeSize ( ByteSequenceProvider <?> byteSequenceProvider) محاسبه می کند که چند بایت برای ذخیره داده های داده شده در بافر رشته ای مورد نیاز است. |
DataBuffer <byte[]> | copyTo ( DataBuffer <byte[]> dst، اندازه طولانی) ارجاعات اشیاء موجود در آرایه منبع را در این بافر بنویسید. |
بایت[] | getObject (شاخص طولانی) |
<T> باطل | |
بولی | isReadOnly () |
DataBuffer <byte[]> | setObject (مقادیر بایت[]، فهرست طولانی) |
طولانی | اندازه () |
DataBuffer <byte[]> | برش (شاخص بلند، اندازه بلند) |
روش های ارثی
روش های عمومی
محاسبه طولانی ثابت عمومی ( ByteSequenceProvider <?> byteSequenceProvider)
محاسبه می کند که چند بایت برای ذخیره داده های داده شده در بافر رشته ای مورد نیاز است.
مولفه های
byteSequenceProvider | توالی بایت تولید می کند |
---|
برمی گرداند
- تعداد بایت های مورد نیاز برای ذخیره داده ها
عمومی DataBuffer <byte[]> copyTo ( DataBuffer <byte[]> dst، اندازه طولانی)
ارجاعات اشیاء موجود در آرایه منبع را در این بافر بنویسید.
اگر مقادیر بیشتری نسبت به اندازه بافر مقصد برای کپی وجود داشته باشد، یعنی size > dst.size()
، هیچ مقداری منتقل نمی شود و یک BufferOverflowException پرتاب می شود. از سوی دیگر، اگر مقادیر بیشتری برای کپی کردن از اندازه بافر منبع وجود داشته باشد، به عنوان مثال > src.size()
، یک BufferUnderfloatException پرتاب می شود.
در غیر این صورت، این روش مقادیر n = size
را از این بافر در بافر مقصد کپی می کند.
مولفه های
dst | بافر مقصد که مقادیر در آن کپی می شوند. نباید این بافر باشد |
---|---|
اندازه | تعداد مقادیر برای کپی در بافر مقصد |
برمی گرداند
- این بافر
بایت عمومی[] getObject (فهرست طولانی)
init خالی عمومی ( ByteSequenceProvider <T> byteSequenceProvider)
داده های این بافر را مقدار دهی اولیه کنید.
در حالی که به صورت برنامه نویسی اجرا نمی شود، اجباری است که این روش تنها یک بار پس از ایجاد بافر فراخوانی شود. بافر باید بر اساس همان مجموعه داده تخصیص داده شده باشد و ERROR(/#computeSize(NdArray, Function))
اولیه را فراخوانی کند تا مطمئن شود فضای کافی برای ذخیره آن وجود دارد.
مولفه های
byteSequenceProvider | دنباله هایی از بایت ها را برای استفاده به عنوان داده تانسور تولید می کند |
---|