Bitcast

Bitcast คลาสสุดท้ายสาธารณะ

Bitcasts เทนเซอร์จากประเภทหนึ่งไปยังอีกประเภทหนึ่งโดยไม่ต้องคัดลอกข้อมูล

เมื่อระบุเทนเซอร์ "อินพุต" การดำเนินการนี้จะส่งคืนเทนเซอร์ที่มีข้อมูลบัฟเฟอร์เหมือนกับ "อินพุต" โดยมีประเภทข้อมูล "ประเภท"

หากประเภทข้อมูลอินพุต `T` มีขนาดใหญ่กว่าประเภทข้อมูลเอาต์พุต `type` รูปร่างจะเปลี่ยนจาก [...] เป็น [..., sizeof(`T`)/sizeof(`type`)]

หาก `T` เล็กกว่า `type` โอเปอเรเตอร์ต้องการให้มิติด้านขวาสุดเท่ากับ sizeof(`type`)/sizeof(`T`) จากนั้นรูปร่างจะเปลี่ยนจาก [..., sizeof(`type`)/sizeof(`T`)] เป็น [...]

tf.bitcast() และ tf.cast() ทำงานแตกต่างออกไปเมื่อ real dtype ถูกร่ายเป็น dtype ที่ซับซ้อน (เช่น tf.complex64 หรือ tf.complex128) เนื่องจาก tf.cast() สร้างจินตภาพส่วนที่ 0 ในขณะที่ tf.bitcast() ให้โมดูล ข้อผิดพลาด. ตัวอย่างเช่น,

ตัวอย่างที่ 1:

>>> a = [1., 2., 3.] >>> Equality_bitcast = tf.bitcast(a, tf.complex128) Traceback (การโทรล่าสุดครั้งล่าสุด): ... InvalidArgumentError: ไม่สามารถ bitcast ได้ตั้งแต่ 1 ถึง 18 [ Op:Bitcast] >>> Equality_cast = tf.cast(a, tf.complex128) >>> print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j] , รูปร่าง=(3,), dtype=complex128)

ตัวอย่างที่ 2:

>>> tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8)

ตัวอย่างที่ 3:

>>> x = [1., 2., 3.] >>> y = [0., 2., 3.] >>> ความเท่าเทียมกัน= tf.equal(x,y) >>> ความเท่าเทียมกัน_cast = tf หล่อ (ความเท่าเทียมกัน, tf.float32) >>> equality_bitcast = tf.bitcast (equality_cast, tf.uint8) >>> พิมพ์ (ความเท่าเทียมกัน) tf.Tensor ([False True True], รูปร่าง = (3,), dtype = bool ) >>> พิมพ์ (equality_cast) tf.Tensor ([0. 1. 1.], รูปร่าง = (3,), dtype = float32) >>> พิมพ์ (equality_bitcast) tf.Tensor ( [[ 0 0 0 0] [ 0 0 128 63] [ 0 0 128 63]], รูปร่าง=(3, 4), dtype=uint8)

หมายเหตุ : Bitcast ถูกนำมาใช้เป็นการแคสต์ระดับต่ำ ดังนั้นเครื่องที่มีลำดับ endian ต่างกันจะให้ผลลัพธ์ที่แตกต่างกัน การคัดลอกจากบัฟเฟอร์อินพุตไปยังบัฟเฟอร์เอาต์พุตจะถูกสร้างขึ้นบนเครื่อง BE เมื่อประเภทต่างๆ มีขนาดต่างกัน เพื่อให้ได้ผลลัพธ์การหล่อแบบเดียวกันกับในเครื่อง LE

วิธีการสาธารณะ

เอาท์พุต <U>
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
คงที่ <U, T> บิตคาสต์ <U>
สร้าง (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> อินพุต, ประเภท <U>)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ Bitcast ใหม่
เอาท์พุต <U>

วิธีการสืบทอด

วิธีการสาธารณะ

เอาท์ พุท สาธารณะ <U> asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

สร้าง Bitcast แบบคงที่สาธารณะ <U> (ขอบเขต ขอบเขต , อินพุต Operand <T>, ประเภทคลาส <U>)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ Bitcast ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
การส่งคืน
  • ตัวอย่างใหม่ของ Bitcast

เอาท์พุท สาธารณะ <U> เอาท์พุท ()