def __init__(self, trainlist, validlist, meanpath, model, optimizer, weight_decay=0.0001, gpu=-1): super(Trainer, self).__init__(meanpath, model, gpu) self.trainset = loader.load_image_list(trainlist) self.validset = loader.load_image_list(validlist) self.optimizer = optimizer self.wd_rate = weight_decay optimizer.setup(model) print('set up')
def setup_class(clazz): clazz.root = 'resources/test_train' imglist = os.path.join(clazz.root, 'image-list3.txt') clazz.dataset = loader.load_image_list(imglist) meanpath = os.path.join(clazz.root, 'mean.npy') model = FrgNet64() clazz.hypernet = NetSet(meanpath, model)
def partition_data(self, imglist, outdir, batchsize=100, confidence=1.0, gpu=-1): dataset = loader.load_image_list(imglist) correct_count = 0 wrong_count = 0 for i in six.moves.range(1, len(dataset), batchsize): mini_dataset = dataset[i:i+batchsize] x_batch, y_batch = self.create_minibatch(mini_dataset) confs = self.model.calc_confidence(x_batch) labels = self.calc_max_label(confs.data) for idx, tuple in enumerate(labels): label, conf = tuple path, ans = mini_dataset[idx] if label == ans: if conf < confidence: print('correct: path={}, confidence={}'.format(path, conf)) save_path = os.path.join(os.path.join(outdir, 'yes'), str(label)) if not os.path.exists(save_path): os.makedirs(save_path) correct_count += 1 shutil.copyfile(path, os.path.join(save_path, str(conf) + '-' + str(correct_count) + '.png')) else: print('wrong: path={}, confidence={}'.format(path, conf)) save_path = os.path.join(os.path.join(outdir, 'no'), str(label)) if not os.path.exists(save_path): os.makedirs(save_path) wrong_count += 1 shutil.copyfile(path, os.path.join(save_path, str(conf) + '-' + str(wrong_count) + '.png')) print('correct={}, wrong={}, accuracy rate={}'.format( correct_count, wrong_count, correct_count / len(dataset)))
def tile_sample_images_from_list(listpath, outpath, size, label=-1, w=16, h=9): imglist = loader.load_image_list(listpath) imglist = list(filter(lambda x: True if(label < 0) else x[1] == label, imglist)) imglist = list(map(lambda x: x[0], imglist)) tile_sample_images(imglist, outpath, size, w=w, h=h)
def test_load_image_list4(self): """ load_image_list case4: image list contains a line \ that has more than 2 values. """ filepath = 'resources/test_util/image-list4.txt' xs = loader.load_image_list(filepath)
def test_load_image_list3(self): """ load_image_list case3: image list contains more than 2 lines, \ and an empty line. """ filepath = 'resources/test_util/image-list3.txt' xs = loader.load_image_list(filepath) assert xs == [('test1.png', 0), ('test2.png', 1)]
def test_load_image_list2(self): """ load_image_list case2: image list contains 1 line. """ filepath = 'resources/test_util/image-list2.txt' xs = loader.load_image_list(filepath) assert xs == [('test1.png', 0)]
def test_load_image_list1(self): """ load_image_list case1: image list contains no lines. """ filepath = 'resources/test_util/image-list1.txt' xs = loader.load_image_list(filepath) assert xs == []