class HMDBMixValidIterator: stochastic = False def __init__(self, dataset=None, batch_size=None, num_batches=None, data_specs=False, return_tuple=False, rng=None): self._hmdb_iterator = HMDBIterator(dataset._hmdb, batch_size, num_batches, data_specs, return_tuple, rng) self._dvd_iterator = AtousaDatasetIterator(dataset._dvd, batch_size, num_batches, data_specs, return_tuple, rng) self.num_examples = self._hmdb_iterator.num_examples + self._dvd_iterator.num_examples self.cur = 0 self.batch_size = batch_size self.dataset = dataset self.hmdb_stop = False self.dvd_stop = False def __iter__(self): return self def next(self): print(self.hmdb_stop, self.cur, self.num_examples) if not self.hmdb_stop and self.cur % 2 == 0: print "herehmdb" try: x,y = self._hmdb_iterator.next() except: self.hmdb_stop = True if self.dvd_stop: raise StopIteration() else: return self.next() else: try: print "heredvd" x, y_tmp = self._dvd_iterator.next() except: self.dvd_stop = True if self.hmdb_stop: raise StopIteration() else: return self.next() ### Adapt labels y = np.zeros((self.batch_size, 51)).astype(config.floatX) for i in xrange(0, self.batch_size): for j in xrange(0, len(self.dataset.label_transfer)): y[i, self.dataset.label_transfer[j, 1]] = y_tmp[i, self.dataset.label_transfer[j, 0]] self.cur = self.cur + 1 return x, y
def __init__(self, dataset=None, batch_size=None, num_batches=None, data_specs=False, return_tuple=False, rng=None): self._hmdb_iterator = HMDBIterator(dataset._hmdb, batch_size, num_batches, data_specs, return_tuple, rng) self._dvd_iterator = AtousaDatasetIterator(dataset._dvd, batch_size, num_batches, data_specs, return_tuple, rng) self.num_examples = self._hmdb_iterator.num_examples + self._dvd_iterator.num_examples self.cur = 0 self.batch_size = batch_size self.dataset = dataset self.hmdb_stop = False self.dvd_stop = False
class HMDBMixValidIterator: stochastic = False def __init__(self, dataset=None, batch_size=None, num_batches=None, data_specs=False, return_tuple=False, rng=None): self._hmdb_iterator = HMDBIterator(dataset._hmdb, batch_size, num_batches, data_specs, return_tuple, rng) self._dvd_iterator = AtousaDatasetIterator(dataset._dvd, batch_size, num_batches, data_specs, return_tuple, rng) self.num_examples = self._hmdb_iterator.num_examples + self._dvd_iterator.num_examples self.cur = 0 self.batch_size = batch_size self.dataset = dataset self.hmdb_stop = False self.dvd_stop = False def __iter__(self): return self def next(self): print(self.hmdb_stop, self.cur, self.num_examples) if not self.hmdb_stop and self.cur % 2 == 0: print "herehmdb" try: x, y = self._hmdb_iterator.next() except: self.hmdb_stop = True if self.dvd_stop: raise StopIteration() else: return self.next() else: try: print "heredvd" x, y_tmp = self._dvd_iterator.next() except: self.dvd_stop = True if self.hmdb_stop: raise StopIteration() else: return self.next() ### Adapt labels y = np.zeros((self.batch_size, 51)).astype(config.floatX) for i in xrange(0, self.batch_size): for j in xrange(0, len(self.dataset.label_transfer)): y[i, self.dataset.label_transfer[j, 1]] = y_tmp[ i, self.dataset.label_transfer[j, 0]] self.cur = self.cur + 1 return x, y