def __init__(self,X,Y,Xshape=None,Yshape=None,Xrange=None,Yrange=None,shuffle=True,max_batchsize=1): if shuffle: perm = random.permutation(X.shape[0]) X[:] = X[perm] Y[:] = Y[perm] self._X = bm.asarray(X) self._Y = bm.asarray(Y) self._size = X.shape[0] self.max_batchsize = max_batchsize self.Xshape = Xshape or (1,X.shape[1]) self.Yshape = Yshape or (1,Y.shape[1]) self.Xdim = X.shape[1] self.Ydim = Y.shape[1] self.Xrange = Xrange or (X.min(axis=0),X.max(axis=0)) self.Yrange = Yrange or (Y.min(axis=0),Y.max(axis=0)) rs = self._rowslice(0,self._size) self.train = DataFold(X[rs,:],Y[rs,:]) self.valid = DataFold(X[0:0,:],Y[0:0,:]) self.test = DataFold(X[0:0,:],Y[0:0,:])
def __init__(self, X, Y, Xshape=None, Yshape=None, Xrange=None, Yrange=None, shuffle=True, max_batchsize=1): if isinstance(X, dict): Xtest = X['test'] Ytest = Y['test'] X = X['train'] Y = Y['train'] else: Xtest = X[0, :] # empty Ytest = Y[0, :] # empty if shuffle: perm = random.permutation(X.shape[0]) X = take(X, perm, axis=0) if not (X is Y): Y = take(Y, perm, axis=0) t0 = now() self._X = bm.asarray(X) self._Y = bm.asarray(Y) if not (X is Y) else self._X self._Xtest = bm.asarray(Xtest) self._Ytest = bm.asarray(Ytest) if not (X is Y) else self._Xtest if bm.backend_name == "gnumpy": print "Host->Device transfer of dataset took %.3fs" % (now() - t0) self._size = X.shape[0] self._Xrescale = (1., 0.) #scale,bias self.max_batchsize = max_batchsize self.Xshape = Xshape or (1, X.shape[1]) self.Yshape = Yshape or (1, Y.shape[1]) self.Xdim = X.shape[1] self.Ydim = Y.shape[1] self.Xrange = Xrange or (X.min(axis=0), X.max(axis=0)) self.Yrange = Yrange or (Y.min(axis=0), Y.max(axis=0)) if not isscalar(self.Xrange[0]): self.Xrange = (bm.asarray(self.Xrange[0]).reshape( (1, -1)), bm.asarray(self.Xrange[1]).reshape((1, -1))) if not isscalar(self.Yrange[0]): self.Yrange = (bm.asarray(self.Yrange[0]).reshape( (1, -1)), bm.asarray(self.Yrange[1]).reshape((1, -1))) rs = self._rowslice(0, self._size) self.train = DataFold(self._X[rs, :], self._Y[rs, :]) self.valid = DataFold(self._X[0:0, :], self._Y[0:0, :]) self.test = DataFold(self._Xtest, self._Ytest)
def __init__(self,X,Y,Xshape=None,Yshape=None,Xrange=None,Yrange=None,shuffle=True,max_batchsize=1): if isinstance(X,dict): Xtest = X['test'] Ytest = Y['test'] X = X['train'] Y = Y['train'] else: Xtest = X[0,:] # empty Ytest = Y[0,:] # empty if shuffle: perm = random.permutation(X.shape[0]) X = take(X,perm,axis=0) if not (X is Y): Y = take(Y,perm,axis=0) t0 = now() self._X = bm.asarray(X) self._Y = bm.asarray(Y) if not (X is Y) else self._X self._Xtest = bm.asarray(Xtest) self._Ytest = bm.asarray(Ytest) if not (X is Y) else self._Xtest if bm.backend_name == "gnumpy": print "Host->Device transfer of dataset took %.3fs" % (now()-t0) self._size = X.shape[0] self._Xrescale = (1.,0.) #scale,bias self.max_batchsize = max_batchsize self.Xshape = Xshape or (1,X.shape[1]) self.Yshape = Yshape or (1,Y.shape[1]) self.Xdim = X.shape[1] self.Ydim = Y.shape[1] self.Xrange = Xrange or (X.min(axis=0),X.max(axis=0)) self.Yrange = Yrange or (Y.min(axis=0),Y.max(axis=0)) if not isscalar(self.Xrange[0]): self.Xrange = (bm.asarray(self.Xrange[0]).reshape((1,-1)),bm.asarray(self.Xrange[1]).reshape((1,-1))) if not isscalar(self.Yrange[0]): self.Yrange = (bm.asarray(self.Yrange[0]).reshape((1,-1)),bm.asarray(self.Yrange[1]).reshape((1,-1))) rs = self._rowslice(0,self._size) self.train = DataFold(self._X[rs,:],self._Y[rs,:]) self.valid = DataFold(self._X[0:0,:],self._Y[0:0,:]) self.test = DataFold(self._Xtest,self._Ytest)