multitables.py
def __get_batch(self, path, length, last=False):
        """
        Get a block of data from the node at path.

        :param path: The path to the node to read from.
        :param length: The length along the outer dimension to read.
        :param last: True if the remainder elements should be read.
        :return: A copy of the requested block of data as a numpy array.
        """
        import tables
        h5_file = tables.open_file(self.filename, 'r')
        h5_node = h5_file.get_node(path)

        if len(h5_node) == 0:
            raise Exception("Cannot read from empty dataset.")

        # If the length isn't specified, then fall back to default values.
        if length is None:
            chunkshape = h5_node.chunkshape
            # If the array isn't chunked, then try to make the block close to 128KB.
            if chunkshape is None:
                default_length = 128*2**10//h5_node[0].nbytes  # Divides by one row of the dataset.
                length = min(h5_node.shape[0], default_length)
            # If it is chunked, then use the chunkshape for best performance.
            else:
                length = chunkshape[0]

        if last:
            example = h5_node[length*(len(h5_node)//length):].copy()
        else:
            example = h5_node[:length].copy()

        h5_file.close()
        return example
def __get_batch(self, path, length, last=False):
        import tables
        h5_file = tables.open_file(self.filename, 'r')
        h5_node = h5_file.get_node(path)

        if len(h5_node) == 0:
            raise Exception("Cannot read from empty dataset.")

        # If the length isn't specified, then fall back to default values.
        if length is None:
            chunkshape = h5_node.chunkshape
            # If the array isn't chunked, then try to make the block close to 128KB.
            if chunkshape is None:
                default_length = 128*2**10//h5_node[0].nbytes  # Divides by one row of the dataset.
                length = min(h5_node.shape[0], default_length)
            # If it is chunked, then use the chunkshape for best performance.
            else:
                length = chunkshape[0]

        if last:
            example = h5_node[length*(len(h5_node)//length):].copy()
        else:
            example = h5_node[:length].copy()

        h5_file.close()
        return example
def __get_batch ( self , path , length , last = False ) : import tables h5_file = tables . open_file ( self . filename , 'r' ) h5_node = h5_file . get_node ( path ) if len ( h5_node ) == 0 : raise Exception ( "Cannot read from empty dataset." ) # If the length isn't specified, then fall back to default values. if length is None : chunkshape = h5_node . chunkshape # If the array isn't chunked, then try to make the block close to 128KB. if chunkshape is None : default_length = 128 * 2 ** 10 // h5_node [ 0 ] . nbytes # Divides by one row of the dataset. length = min ( h5_node . shape [ 0 ] , default_length ) # If it is chunked, then use the chunkshape for best performance. else : length = chunkshape [ 0 ] if last : example = h5_node [ length * ( len ( h5_node ) // length ) : ] . copy ( ) else : example = h5_node [ : length ] . copy ( ) h5_file . close ( ) return example
Get a block of data from the node at path.

        :param path: The path to the node to read from.
        :param length: The length along the outer dimension to read.
        :param last: True if the remainder elements should be read.
        :return: A copy of the requested block of data as a numpy array.
Get a block of data from the node at path .