یک تانسور را از یک نوع به نوع دیگر بدون کپی کردن داده ارسال می کند.
با توجه به «ورودی» تانسور، این عملیات تانسوری را برمیگرداند که دادههای بافری مشابه «ورودی» با نوع داده «نوع» دارد.
اگر نوع داده ورودی «T» بزرگتر از نوع داده خروجی «نوع» باشد، شکل از [...] به [..., sizeof(`T`)/sizeof(`type`)] تغییر می کند.
اگر «T» کوچکتر از «type» باشد، اپراتور نیاز دارد که سمت راستترین بعد برابر با sizeof('type')/sizeof('T') باشد. سپس شکل از [..., sizeof(`type`)/sizeof(`T`)] به [...] می رود.
زمانی که dtype واقعی به عنوان یک dtype پیچیده (مثلا tf.complex64 یا tf.complex128) ریخته می شود، tf.bitcast () و tf.cast () متفاوت عمل می کنند، زیرا tf.cast() قسمت خیالی 0 را می سازد در حالی که tf.bitcast() ماژول را می دهد. خطا مثلا،
مثال 1:
>>> a = [1., 2., 3.] >>>quality_bitcast = tf.bitcast(a, tf.complex128) Traceback (آخرین تماس اخیر): ... InvalidArgumentError: نمی توان از 1 به 18 بیت ارسال کرد [ Op:Bitcast] >>>quality_cast = tf.cast(a, tf.complex128) >>> print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j] , shape=(3,), dtype=complex128)
مثال 2:
>>> tf.bitcast(tf.constant(0xffffffff، dtype=tf.uint32)، tf.uint8) مثال 3: >>> x = [1., 2., 3.] >>> y = [0., 2., 3.] >>> equality= tf.equal(x,y) >>> equality_cast = tf. cast(equality,tf.float32) >>>quality_bitcast = tf.bitcast(equality_cast,tf.uint8) >>> print(equality) tf.Tensor([False True], shape=(3,), dtype=bool ) >>> print(equality_cast) tf.Tensor([0. 1. 1.]، shape=(3،)، dtype=float32) >>> print(equality_bitcast) tf.Tensor( [[ 0 0 0 0] [ 0 0 128 63] [ 0 0 128 63]]، shape=(3، 4)، dtype=uint8) توجه : بیتکست بهعنوان یک بازیگر سطح پایین پیادهسازی میشود، بنابراین ماشینهایی با سفارشهای اندیان متفاوت نتایج متفاوتی خواهند داشت.
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
خروجی <U> | asOutput () دسته نمادین تانسور را برمی گرداند. |
static <U TType را گسترش می دهد > Bitcast <U> | |
خروجی <U> | خروجی () |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
خروجی عمومی <U> asOutput ()
دسته نمادین تانسور را برمی گرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
Bitcast عمومی <U> ایجاد (حوزه دامنه ، عملوند <? TType > ورودی، نوع کلاس <U> را گسترش می دهد)
روش کارخانه برای ایجاد کلاسی که عملیات بیتکست جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|
برمی گرداند
- نمونه جدیدی از Bitcast