Class DenseBytesTensor

All Implemented Interfaces:
TensorData

public class DenseBytesTensor extends ByteBufferDenseTensor
Dense tensor which can be converted from/to a TensorFlow tensor object. The underlying data is backed up by ByteBuffer, using TensorFlow-compatible format: https://github.com/tensorflow/tensorflow/blob/98c0deb828c2f98f0d6d77a12d32f3b33ed92887/tensorflow/c/c_api.h#L206.

All individual byte[] are added up in one ByteBuffer. ByteBuffer contains byte[] length (as a varint/ULEB128 https://en.wikipedia.org/wiki/LEB128#Unsigned_LEB128), followed by the contents of the byte[] at data[start_offset[i]]]

start_offset: array[uint64] data: byte[...] [offset A][offset B][offset C][length A][data A][length B][data B][length C][data C].

  • Constructor Details

    • DenseBytesTensor

      public DenseBytesTensor(ByteBuffer byteBuffer, long[] shape)
    • DenseBytesTensor

      public DenseBytesTensor(ByteBuffer byteBuffer, long[] shape, Representable[] types, int cardinality)
  • Method Details

    • iterator

      public TensorIterator iterator()
      Returns:
      an iterator over entries in the mapping from dimensions to the value.
    • asList

      public List<?> asList()
      Specified by:
      asList in class DenseTensor
      Returns:
      the list of values in their unraveled order. This in combination with the shape is enough to restore the entire tensor, as the dimensions can be calculated from the shape.