Пример #1
0
 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,:])
Пример #2
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)
Пример #3
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)