یک تانسور را از یک نوع به نوع دیگر بدون کپی کردن داده ارسال می کند.
با توجه به «ورودی» تانسور، این عملیات تانسوری را برمیگرداند که دادههای بافری مشابه «ورودی» با نوع داده «نوع» دارد.
اگر نوع داده ورودی «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) توجه : بیتکست بهعنوان یک بازیگر سطح پایین پیادهسازی میشود، بنابراین ماشینهایی با سفارشهای اندیان متفاوت نتایج متفاوتی خواهند داشت. یک کپی از بافر ورودی به بافر خروجی در ماشینهای BE زمانی ایجاد میشود که انواع آن اندازههای متفاوتی داشته باشند تا نتایج ریختهگری مشابهی با ماشینهای LE حاصل شود.
روش های عمومی
خروجی <U> | asOutput () دسته نمادین یک تانسور را برمیگرداند. |
استاتیک <U, T> بیتکست <U> | |
خروجی <U> | خروجی () |
روش های ارثی
روش های عمومی
خروجی عمومی <U> asOutput ()
دسته نمادین یک تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
ایجاد بیتکست ایستا عمومی <U> (حوزه دامنه ، ورودی عملوند <T>، نوع کلاس <U>)
روش کارخانه برای ایجاد کلاسی که عملیات بیتکست جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|
برمی گرداند
- نمونه جدیدی از Bitcast