tensorflow:: ops:: Bitcast

#include <array_ops.h>

يقوم بتحويل موتر من نوع إلى آخر دون نسخ البيانات.

ملخص

بالنظر إلى input الموتر، فإن هذه العملية تُرجع موترًا يحتوي على نفس بيانات المخزن المؤقت مثل input من type البيانات .

إذا كان نوع بيانات الإدخال T أكبر من type بيانات الإخراج type، فإن الشكل يتغير من [...] إلى [..., sizeof( T )/sizeof( type )].

إذا كان T أصغر من type ، فإن المعامل يشترط أن يكون البُعد الأيمن مساويًا لـ sizeof( type )/sizeof( T ). وبالتالي، ينتقل الشكل من [..., sizeof( type )/sizeof( T )] إلى [...].

تختلف وظيفة الدالتين tf.bitcast() و tf.cast() عند تحويل نوع بيانات حقيقي إلى نوع بيانات مركب (مثل tf.complex64 أو tf.complex128)، حيث تجعل tf.cast() الجزء التخيلي يساوي صفرًا، بينما تُعطي tf.bitcast() خطأً في الوحدة. على سبيل المثال،

مثال 1:

>>> a = [1., 2., 3.]
>>> equality_bitcast = tf.bitcast(a,tf.complex128)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot bitcast from float to complex128: shape [3] [Op:Bitcast]
>>> equality_cast = tf.cast(a,tf.complex128)
>>> print(equality_cast)
tf.Tensor([1.+0.j 2.+0.j 3.+0.j], shape=(3,), dtype=complex128)
المثال الثاني:
>>> tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8)
<tf.Tensor: ... shape=(4,), dtype=uint8, numpy=array([255, 255, 255, 255], dtype=uint8)>
المثال 3:
>>> x = [1., 2., 3.]
>>> y = [0., 2., 3.]
>>> equality= tf.equal(x,y)
>>> equality_cast = tf.cast(equality,tf.float32)
>>> equality_bitcast = tf.bitcast(equality_cast,tf.uint8)
>>> print(equality)
tf.Tensor([False True 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)

ملاحظة : يتم تنفيذ Bitcast كعملية تحويل منخفضة المستوى، لذا فإن الأجهزة ذات ترتيبات البايتات المختلفة ستعطي نتائج مختلفة.

الحجج:

المرتجعات:

  • Output : موتر الناتج.

البناة والمدمرون

Bitcast (const :: tensorflow::Scope & scope, :: tensorflow::Input input, DataType type)

السمات العامة

operation
output

الوظائف العامة

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

السمات العامة

عملية

Operation operation

المخرجات

::tensorflow::Output output

الوظائف العامة

Bitcast

 Bitcast(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  DataType type
)

العقدة

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const