Esempio n. 1
0
    def loadSampledData(self):
        path = str(self.path)
        Num_train = self.Num_train
        Num_test = self.Num_test
        sampledata(path + '/train.txt', Num_train, 0,
                   path + '/trainSample.txt')
        sampledata(path + '/test.txt', Num_test, 0, path + '/testSample.txt')

        train_data = []
        train_labels = []
        max_l = -1
        fp = open(os.path.join(path, "trainSample.txt"), 'r')
        line = fp.readline()  # 调用文件的 readline()
        while len(line):
            # print '*'*10,line
            Level = int(line[0])
            if Level > max_l:
                max_l = Level
            imgpath = line[2:-1]
            mat = sio.loadmat(imgpath)
            # print mat.keys()
            train_data.append(mat['P'])
            train_labels.append(Level)
            line = fp.readline()
        fp.close()
        train_labels = np_utils.to_categorical(train_labels, max_l + 1)
        train_data = np.asarray(train_data, dtype="float32")
        print '    Train: ', train_data.shape

        test_data = []
        test_labels = []
        max_l = -1
        fp = open(os.path.join(path, "testSample.txt"), 'r')
        line = fp.readline()  # 调用文件的 readline()
        while len(line):
            # print '*'*10,line
            Level = int(line[0])
            if Level > max_l:
                max_l = Level
            imgpath = line[2:-1]
            mat = sio.loadmat(imgpath)
            # print mat.keys()
            test_data.append(mat['P'])
            test_labels.append(Level)
            line = fp.readline()
        fp.close()
        test_labels = np_utils.to_categorical(test_labels, max_l + 1)
        test_data = np.asarray(test_data, dtype="float32")
        print '    Test: ', test_data.shape

        (X_train, y_train), (X_test, y_test) = (train_data,
                                                train_labels), (test_data,
                                                                test_labels)
        return (X_train, y_train), (X_test, y_test)
Esempio n. 2
0
    def loadData(self, train, isSample):
        path = str(self.path)
        if train:
            if isSample:
                Num_train = self.Num_train
                sampledata(path + '/train.txt', Num_train, 0,
                           path + '/trainSample.txt')
                fp = open(os.path.join(path, "trainSample.txt"), 'r')
            else:
                fp = open(os.path.join(path, "train.txt"), 'r')
        else:
            if isSample:
                Num_test = self.Num_test
                sampledata(path + '/test.txt', Num_test, 0,
                           path + '/testSample.txt')
                fp = open(os.path.join(path, "testSample.txt"), 'r')
            else:
                fp = open(os.path.join(path, "test.txt"), 'r')

        data = []
        labels = []

        line = fp.readline()
        while len(line):
            Level = int(line[0])
            imgpath = line[2:-1]

            # 是否进行数据扩充
            if (not self.isAug) and self.lineSearch(imgpath):
                line = fp.readline()
                continue

            if 'npy' in imgpath:
                mat = np.load(imgpath)
            else:
                mat = Image.open(imgpath)

            data.append(mat)
            labels.append(Level)

            line = fp.readline()

        fp.close()
        return (data, np.array(labels, dtype='float32'))
Esempio n. 3
0
    def loadSampledData(self, train):
        path = str(self.path)
        if train:
            Num_train = self.Num_train
            sampledata(path + '/train.txt', Num_train, 0,
                       path + '/trainSample.txt')
            fp = open(os.path.join(path, "trainSample.txt"), 'r')
        else:
            Num_test = self.Num_test
            sampledata(path + '/test.txt', Num_test, 0,
                       path + '/testSample.txt')
            fp = open(os.path.join(path, "testSample.txt"), 'r')

        data = []
        labels = []

        line = fp.readline()
        while len(line):
            if self.isAug:
                Level = int(line[0])
                imgpath = line[2:-1]
                mat = sio.loadmat(imgpath)
                data.append(mat['P'])
                labels.append(Level)
            else:
                if self.lineSearch(
                        line,
                    ['_90', '_270', '_180', '_lr', 'ud', 'tr', 'tr2']):
                    Level = int(line[0])
                    imgpath = line[2:-1]
                    mat = sio.loadmat(imgpath)
                    data.append(mat['P'])
                    labels.append(Level)

            line = fp.readline()

        fp.close()
        labels = np.asarray(labels, dtype="float32")
        data = np.asarray(data)
        return (data, labels)