線形代数計算で頻繁に使用されるデータ形式のDataLayout
インスタンスを公開します。
使用例:
// Storing boolean values in a ByteDataBuffer
BooleanDataBuffer boolBuffer = DataLayouts.BOOL.applyTo(byteDataBuffer);
// Allocating a new buffer of 256 half floats
FloatDataBuffer halfBuffer = DataLayouts.FLOAT16.applyTo(DataBuffers.ofShorts(256 * DataLayouts.FLOAT16.scale());
フィールド
public static Final FloatDataLayout < ShortDataBuffer > | BFLOAT16 | 16 ビット bfloat と short 値を変換するためのデータ レイアウト。 |
public static Final BooleanDataLayout < ByteDataBuffer > | ブール | ブール値とバイト値を変換するためのデータ レイアウト。 |
public static Final FloatDataLayout < ShortDataBuffer > | フロート16 | 16 ビットのハーフフロートを short 値に変換するためのデータ レイアウト。 |
パブリックコンストラクター
データレイアウト() |
パブリックメソッド
static DataLayout < DataBuffer <byte[]>, String> | ofStrings (文字セット charset) 文字列とバイト シーケンス間の変換のためのデータ レイアウトを作成します。 |
継承されたメソッド
フィールド
パブリック静的最終FloatDataLayout < ShortDataBuffer > BFLOAT16
16 ビット bfloat と short 値を変換するためのデータ レイアウト。
この形式は以前は TensorFlow に固有のものでしたが、現在では機械学習分野でより広く採用されています。単精度 32 ビット浮動小数点の値をシフトし、仮数部を 7 ビットのみに切り捨てるだけで、高速変換できるように最適化されています。
したがって、これは IEEE-754 の半精度浮動小数点仕様 ( FLOAT16
を参照) と比較して小数部分の精度が失われますが、8 ビットの指数を保持し、使用するため、部分全体で取り得る値の範囲が広くなります。同じバイアス (すなわち、約 [10 -40 , 3.39 × 10 38 ] の 0 より上の絶対範囲)
一部の CPU は、パフォーマンスを向上させるために bfloat16 形式をネイティブにサポートしています。
public static Final BooleanDataLayout < ByteDataBuffer > BOOL
ブール値とバイト値を変換するためのデータ レイアウト。
Java NIO ブール値バッファがないため、このレイアウトはブール値を標準バイト バッファにマッピングする場合に特に役立ちます。ブール値とバイト間の変換には、明示的な型キャストが必要です。
public static Final FloatDataLayout < ShortDataBuffer > FLOAT16
16 ビットのハーフフロートを short 値に変換するためのデータ レイアウト。
半浮動小数点は、IEEE-754 半精度浮動小数点仕様に従ってメモリに格納され、ユーザー空間で 32 ビット浮動小数点との間で変換されます。
単一浮動小数点 (32 ビット) を半浮動小数点 (16 ビット) に変換する場合、精度が失われる可能性があります。半浮動小数点の 0 を超える値の絶対範囲は約 [5.96 × 10 -8 , 6.55 × 10 4 ] で、小数部は 10 ビットの仮数に切り上げられます。
一般に、CPU はこの形式をネイティブにサポートしていないため、半浮動小数点計算は GPU でのパフォーマンスが向上します。
パブリックコンストラクター
パブリックDataLayouts ()
パブリックメソッド
public static DataLayout < DataBuffer <byte[]>, String> ofStrings (Charset 文字セット)
文字列とバイト シーケンス間の変換のためのデータ レイアウトを作成します。
このレイアウトでは、文字列をバイト シーケンスとしてエンコード/デコードする方法を指定するパラメータにcharset
必要です。したがって、新しいレイアウト インスタンスが常に返されます。
パラメータ
文字セット | 使用する文字セット |
---|
返品
- 新しい文字列レイアウト