Source code for NXTfusion.NXMetaLoaderUtils

import pickle as cPickle
import time
import torch as t
import numpy as np
from torch.autograd import Variable
from torch.utils.data import Dataset, DataLoader

[docs]class MetaLoader: def __init__(self, loaders): self.loaders = loaders def __iter__(self): return MetaLoaderIter(self)
[docs]class MetaLoaderIter: def __init__(self, metaLoader): self.loadersIter = self.createIterators(metaLoader.loaders) self.counter = []
[docs] def createIterators(self, loaders): loadersIterators = [] i = 0 while i < len(loaders): loadersIterators.append(iter(loaders[i])) i+=1 return loadersIterators
def __iter__(self): return self def __next__(self): r = [] for i in self.loadersIter: r.append(next(i)) return r next = __next__