警告:このAPIは非推奨であり、置き換えが安定した後 TensorFlowの将来のバージョンで削除される予定です。

このページは Cloud Translation API によって翻訳されました。
Switch to English

ビットキャスト

パブリックファイナルクラスビットキャスト

データをコピーせずに、あるタイプから別のタイプにテンソルをビットキャストします。

テンソル `input`が与えられると、この操作は、データ型` type`の `input`と同じバッファデータを持つテンソルを返します。

入力データ型 `T`が出力データ型` type`より大きい場合、形状は[...]から[...、sizeof( `T`)/ sizeof(` type`)]に変わります。

`T`が` type`より小さい場合、演算子は右端の次元がsizeof( `type`)/ sizeof(` T`)に等しいことを要求します。次に、形状は[...、sizeof( `type`)/ sizeof(` T`)]から[...]になります。

tf.cast()が虚数部0を作成し、tf.bitcast()がモジュールを提供するため、実際のdtypeが複素数dtype(tf.complex64またはtf.complex128など)としてキャストされる場合、tf.bitcast()とtf.cast()の動作は異なりますエラー。例えば、

例1:

>>> a = [1.、2.、3。] >>> equality_bitcast = tf.bitcast(a、tf.complex128)トレースバック(最後の最後の呼び出し):... 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。] >>> 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)

:ビットキャストは低レベルのキャストとして実装されているため、エンディアンの順序が異なるマシンでは異なる結果が得られます。

パブリックメソッド

出力<U>
asOutput ()
テンソルのシンボリックハンドルを返します。
静的<U、T>ビットキャスト<U>
createスコープスコープ、オペランド<T>入力、クラス<U>タイプ)
新しいビットキャスト操作をラップするクラスを作成するファクトリメソッド。
出力<U>
出力()

継承されたメソッド

パブリックメソッド

public Output <U> asOutput ()

テンソルのシンボリックハンドルを返します。

TensorFlow操作への入力は、別のTensorFlow操作の出力です。このメソッドは、入力の計算を表すシンボリックハンドルを取得するために使用されます。

public static Bitcast <U> create スコープスコープ、オペランド<T>入力、クラス<U>タイプ)

新しいビットキャスト操作をラップするクラスを作成するファクトリメソッド。

パラメーター
範囲現在のスコープ
戻り値
  • ビットキャストの新しいインスタンス

public Output <U> output ()