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)
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'))
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)