Bitcast

публичный финальный класс Bitcast

Передаёт тензор из одного типа в другой без копирования данных.

Учитывая тензор `input`, эта операция возвращает тензор, который имеет те же данные буфера, что и `input`, с типом данных `type`.

Если входной тип данных `T` больше, чем выходной тип данных `type`, то форма меняется с [...] на [..., sizeof(`T`)/sizeof(`type`)].

Если `T` меньше, чем `type`, оператор требует, чтобы самое правое измерение было равно sizeof(`type`)/sizeof(`T`). Затем форма изменяется от [..., sizeof(`type`)/sizeof(`T`)] до [...].

tf.bitcast() и tf.cast() работают по-разному, когда реальный dtype преобразуется в сложный dtype (например, tf.complex64 или tf.complex128), поскольку tf.cast() создает мнимую часть 0, а tf.bitcast() дает модуль ошибка. Например,

Пример 1:

>>> a = [1., 2., 3.] >>> Equity_bitcast = tf.bitcast(a, tf.complex128) Traceback (последний вызов): ... InvalidArgumentError: невозможно побитовое вещание от 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] , shape=(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) >>> Equal_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 реализован как низкоуровневое приведение, поэтому машины с разным порядком байтов будут давать разные результаты.

Публичные методы

Выход <U>
какВывод ()
Возвращает символический дескриптор тензора.
статический <U, T> Bitcast <U>
create (область действия , ввод операнда <T>, тип Class<U>)
Фабричный метод для создания класса, обертывающего новую операцию Bitcast.
Выход <U>

Унаследованные методы

Публичные методы

публичный вывод <U> asOutput ()

Возвращает символический дескриптор тензора.

Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.

public static Bitcast <U> create (область действия , ввод операнда <T>, тип Class<U>)

Фабричный метод для создания класса, обертывающего новую операцию Bitcast.

Параметры
объем текущий объем
Возврат
  • новый экземпляр Bitcast

публичный вывод <U> вывод ()