مقادیر اثر انگشت را ایجاد می کند.
مقادیر اثر انگشت «داده» را ایجاد می کند.
Fingerprint op اولین بعد «داده» را به عنوان بعد دسته ای در نظر می گیرد و «خروجی[i]» حاوی مقدار اثر انگشت تولید شده از محتویات «داده[i، ...]» برای همه «i» است.
Fingerprint op مقادیر اثر انگشت را به صورت آرایه بایت می نویسد. برای مثال، روش پیشفرض «farmhash64» هر بار یک مقدار اثر انگشت 64 بیتی تولید میکند. این مقدار 8 بایتی به عنوان یک آرایه «uint8» با اندازه 8، به ترتیب اندکی نوشته شده است.
برای مثال، فرض کنید «داده» دارای نوع داده «DT_INT32» و شکل (2، 3، 4) است و روش اثر انگشت «farmhash64» است. در این مورد، شکل خروجی (2، 8) است، که در آن 2 اندازه ابعاد دسته ای «داده» است، و 8 اندازه هر مقدار اثر انگشت بر حسب بایت است. «خروجی[0، :]» از 12 عدد صحیح در «داده[0، :، :]» و به طور مشابه «خروجی[1، :]» از 12 عدد صحیح دیگر در «داده[1، :، :] تولید میشود. `.
توجه داشته باشید که این عملیات از بافر خام زیرین اثرانگشت میگیرد و متادیتای Tensor مانند نوع و/یا شکل داده را اثر انگشت نمیگذارد. به عنوان مثال، مقادیر اثرانگشت تحت تغییر شکلها و بیتکستها تا زمانی که ابعاد دستهای ثابت باقی میماند، تغییر نمیکنند:
Fingerprint(data) == Fingerprint(Reshape(data, ...))
Fingerprint(data) == Fingerprint(Bitcast(data, ...))
برای دادههای رشتهای، به طور کلی باید «اثرانگشت(داده) != اثر انگشت(ReduceJoin(داده))» را انتظار داشت. روش های عمومی
خروجی < UInt8 > | asOutput () دسته نمادین یک تانسور را برمیگرداند. |
اثر انگشت ثابت <T> | |
خروجی < UInt8 > |
روش های ارثی
روش های عمومی
خروجی عمومی < UInt8 > asOutput ()
دسته نمادین یک تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
ایجاد اثر انگشت استاتیک عمومی (حوزه دامنه ، داده های عملوند <T>، روش عملوند <رشته>)
روش کارخانه برای ایجاد کلاسی که یک عملیات اثر انگشت جدید را بسته بندی می کند.
پارامترها
دامنه | محدوده فعلی |
---|---|
داده ها | باید دارای رتبه 1 یا بالاتر باشد. |
روش | روش اثر انگشت استفاده شده توسط این op. روش موجود در حال حاضر "farmhash::fingerprint64" است. |
برمی گرداند
- نمونه جدیدی از اثر انگشت