def __init__(self, data, batch_size, num_steps=None, offset=0, epoch_num=None, transpose=False):
self.i = 0
self.data = data
self.max_length = data.shape[1]
self.num_steps = self.max_length if num_steps is None else num_steps
self._sentence_size = self.max_length // self.num_steps
self.batch_size = batch_size
self.max_epoch_num = math.inf if epoch_num is None else int(epoch_num)
self.epoch_num = 0
self.offset = offset
self.transpose = transpose
self._epoch_size = self.data.shape[0] // batch_size * self.sentence_size
self.embedding = data.ndim == 3
_shape = [self.num_steps, batch_size] if transpose else [batch_size, self.num_steps]
if self.embedding:
_shape.append(data.shape[2])
self._shape = _shape
评论列表
文章目录