self.index = np.arange(self.maxlen) np.random.shuffle(self.index) self.cnt = 0 return self def __next__(self): if self.cnt == self.maxlen: raise StopIteration self.cnt += self.batch return self.data[self.index[self.cnt - self.batch: self.cnt], :], \ self.label[self.index[self.cnt - self.batch: self.cnt], :] def next(self): return self.__next__() if __name__ == "__main__": print tf.__version__ sys.path.append("../") import DataReader tdata = DataReader.ImageReader("../dataset/train-images-idx3-ubyte.gz").to_tensor() ldata = DataReader.LabelReader("../dataset/train-labels-idx1-ubyte.gz").to_tensor() print tdata.shape print ldata.shape tf_mlp = TFMLP(tdata, ldata) tf_mlp.train() ttest = DataReader.ImageReader("../dataset/t10k-images-idx3-ubyte.gz").to_tensor() ltest = DataReader.LabelReader("../dataset/t10k-labels-idx1-ubyte.gz").to_tensor() tf_mlp.test(ttest, ltest)