def __init__(self, num, batch_size=1, progress_bar=False, log_epoch=10, get_fn=None, cycle=False, shuffle=True, stagnant=False, seed=2, dataseed=2, num_batches=-1): """Construct a batch iterator. Args: data: numpy.ndarray, (N, D), N is the number of examples, D is the feature dimension. labels: numpy.ndarray, (N), N is the number of examples. batch_size: int, batch size. """ self._num = num self._batch_size = batch_size self._step = 0 self._num_steps = int(np.ceil(self._num / float(batch_size))) if num_batches > 0: self._num_steps = min(self._num_steps, num_batches) self._pb = None self._variables = None self._get_fn = get_fn self.get_fn = get_fn self._cycle = cycle self._shuffle_idx = np.arange(self._num) self._shuffle = shuffle self._random = np.random.RandomState(seed) if shuffle: self._random.shuffle(self._shuffle_idx) self._shuffle_flag = False self._stagnant = stagnant self._log_epoch = log_epoch self._log = get_logger() self._epoch = 0 if progress_bar: self._pb = pb.get(self._num_steps) pass self._mutex = threading.Lock() pass
from fewshot.configs.episode_config_pb2 import EpisodeConfig from fewshot.configs.experiment_config_pb2 import ExperimentConfig from fewshot.experiments.build_model import build_pretrain_net from fewshot.experiments.get_data_iter import get_dataiter_continual from fewshot.experiments.get_data_iter import get_dataiter_sim from fewshot.experiments.get_stats import get_stats from fewshot.experiments.get_stats import log_results from fewshot.experiments.utils import get_config from fewshot.experiments.utils import get_data_fs from fewshot.experiments.utils import latest_file from fewshot.utils.logger import get as get_logger from fewshot.models.model_factory import get_module from fewshot.models.modules.rnn_encoder import RNNEncoder from fewshot.models.nets.rnn_encoder_net import RNNEncoderNet log = get_logger() def eval_step(x, y, ys, K, T): """Leave one out at each step.""" assert x.shape[0] == 1 y = y ys = ys T2 = x.shape[1] x = x[:, :T] y = y[:, :T] ys = ys[:, :T] ypred = np.zeros([1, T2, K + 1], dtype=np.float32) ypred_id = np.zeros([1, T2], dtype=np.int64) ys[ys == K] = -1