Bitcast một tensor từ loại này sang loại khác mà không cần sao chép dữ liệu.
Cho một tensor `input`, thao tác này trả về một tensor có cùng dữ liệu đệm với `input` với kiểu dữ liệu `type`.
Nếu kiểu dữ liệu đầu vào `T` lớn hơn kiểu dữ liệu đầu ra `type` thì hình dạng sẽ thay đổi từ [...] thành [..., sizeof(`T`)/sizeof(`type`)].
Nếu `T` nhỏ hơn `type`, toán tử yêu cầu kích thước ngoài cùng bên phải phải bằng sizeof(`type`)/sizeof(`T`). Sau đó, hình dạng sẽ đi từ [..., sizeof(`type`)/sizeof(`T`)] đến [...].
tf.bitcast() và tf.cast() hoạt động khác nhau khi dtype thực được tạo thành một dtype phức tạp (ví dụ: tf.complex64 hoặc tf.complex128) vì tf.cast() tạo phần ảo 0 trong khi tf.bitcast() cung cấp mô-đun lỗi. Ví dụ,
Ví dụ 1:
>>> a = [1., 2., 3.] >>> Equal_bitcast = tf.bitcast(a, tf.complex128) Traceback (cuộc gọi gần đây nhất gần đây nhất): ... InvalidArgumentError: Không thể bitcast từ 1 đến 18 [ Op:Bitcast] >>> Equality_cast = tf.cast(a, tf.complex128) >>> print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j] , hình dạng=(3,), dtype=complex128)
Ví dụ 2:
>>> tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8) Ví dụ 3: >>> x = [1., 2., 3.] >>> y = [0., 2., 3.] >>> đẳng thức= tf.equal(x,y) >>> đẳng_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]], hình dạng=(3, 4), dtype=uint8) LƯU Ý : Bitcast được triển khai dưới dạng truyền cấp độ thấp, vì vậy các máy có thứ tự cuối khác nhau sẽ cho kết quả khác nhau.
Hằng số
Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow |
Phương pháp công cộng
Đầu ra <U> | asOutput () Trả về tay cầm tượng trưng của tensor. |
tĩnh <U mở rộng TType > Bitcast <U> | tạo ( Phạm vi phạm vi, Toán hạng <? mở rộng đầu vào TType >, loại Class<U>) Phương thức xuất xưởng để tạo một lớp bao bọc một hoạt động Bitcast mới. |
Đầu ra <U> | đầu ra () |
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công cộng
Đầu ra công khai <U> asOutput ()
Trả về tay cầm tượng trưng của tensor.
Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.
public static Bitcast <U> tạo ( Phạm vi phạm vi , Toán hạng <? mở rộng đầu vào TType >, loại Class<U>)
Phương thức xuất xưởng để tạo một lớp bao bọc một hoạt động Bitcast mới.
Thông số
phạm vi | phạm vi hiện tại |
---|
Trả lại
- một phiên bản mới của Bitcast