ByteSequenceTensorBuffer

общедоступный класс ByteSequenceTensorBuffer

Буфер для хранения данных тензора строк.

Значения хранятся в виде массива TF_TString , внутри которого находится tensorflow::tstring , который по сути является переносимой версией std::string .

Данные буфера должны быть инициализированы только один раз, путем вызова ERROR(/#init(NdArray, Function)) , и в буфере должно быть выделено достаточно места (используйте ERROR(/#computeSize(NdArray, Function)) до точно знать, сколько байтов требуется для хранения данных).

После инициализации данных буфер доступен только для чтения, поскольку невозможно безопасно изменить значение без повторной инициализации всех данных.

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

статический <T> длинный
ComputeSize ( ByteSequenceProvider <?> byteSequenceProvider)
Вычисляет, сколько байтов требуется для хранения данных в строковом буфере.
Буфер данных <байт[]>
copyTo ( DataBuffer <byte[]> dst, длинный размер)
Запишите ссылки на объекты исходного массива в этот буфер.
байт[]
getObject (длинный индекс)
<Т> пустота
init ( ByteSequenceProvider <T> byteSequenceProvider)
Инициализируйте данные этого буфера.
логическое значение
Буфер данных <байт[]>
setObject (значения byte[], длинный индекс)
длинный
Буфер данных <байт[]>
срез (длинный индекс, длинный размер)

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

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

public static long ComputeSize ( ByteSequenceProvider <?> 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)

Инициализируйте данные этого буфера.

Хотя это не реализуется программно, этот метод обязательно вызывается только один раз после создания буфера. Буфер должен быть выделен в соответствии с тем же набором данных, предварительно вызвав ERROR(/#computeSize(NdArray, Function)) чтобы убедиться, что для его хранения достаточно места.

Параметры
byteSequenceProvider создает последовательности байтов для использования в качестве тензорных данных

общедоступное логическое значение isReadOnly ()

public DataBuffer <byte[]> setObject (значения byte[], длинный индекс)

публичный длинный размер ()

public DataBuffer <byte[]> срез (длинный индекс, длинный размер)