文字列テンソルデータを保存するためのバッファ。
値はTF_TString
の配列として保存され、内部でtensorflow::tstring
でラップされます。これは本質的にstd::string
の移植可能なバージョンです。
バッファーのデータは、 ERROR(/#init(NdArray, Function))
呼び出して 1 回だけ初期化する必要があり、その前にバッファーには十分な領域が割り当てられている必要があります ( ERROR(/#computeSize(NdArray, Function))
を使用)。データを保存するために必要なバイト数を正確に知っている必要があります)。
データ全体を再初期化しないと値を安全に変更できないため、データが初期化されるとバッファは読み取り専用になります。
パブリックメソッド
静的 <T> ロング | |
DataBuffer <バイト[]> | |
バイト[] | getObject (ロングインデックス) |
<T> 無効 | |
ブール値 | isReadOnly () |
DataBuffer <バイト[]> | setObject (byte[] 値、長いインデックス) |
長さ | サイズ() |
DataBuffer <バイト[]> | スライス(ロングインデックス、ロングサイズ) |
継承されたメソッド
パブリックメソッド
public static long computeSize ( ByteSequenceProvider <?> byteSequenceProvider)
指定されたデータを文字列バッファに格納するために必要なバイト数を計算します。
パラメーター
バイトシーケンスプロバイダー | バイトのシーケンスを生成します |
---|
戻り値
- データを保存するために必要なバイト数。
public DataBuffer <byte[]> copyTo ( DataBuffer <byte[]> dst、ロングサイズ)
ソース配列内のオブジェクトの参照をこのバッファに書き込みます。
コピーする値が宛先バッファ サイズよりも多い場合、つまりsize > dst.size()
の場合、値は転送されず、BufferOverflowException がスローされます。一方、ソース バッファ サイズより多くの値をコピーする場合、つまり> src.size()
の場合、 BufferUnderfloatException がスローされます。
それ以外の場合、このメソッドはn = size
値をこのバッファから宛先バッファにコピーします。
パラメーター
夏時間 | 値がコピーされる宛先バッファ。このバッファであってはなりません |
---|---|
サイズ | 宛先バッファにコピーする値の数 |
戻り値
- このバッファ
public byte[] getObject (ロングインデックス)
public void init ( ByteSequenceProvider <T> byteSequenceProvider)
このバッファのデータを初期化します。
これはプログラム的には強制されませんが、バッファの作成後にこのメソッドを 1 回だけ呼び出すことが必須です。バッファーは、同じデータセットに従って割り当てられている必要があり、事前にERROR(/#computeSize(NdArray, Function))
を呼び出して、バッファーを格納するのに十分なスペースがあることを確認します。
パラメーター
バイトシーケンスプロバイダー | テンソル データとして使用するバイト シーケンスを生成します。 |
---|