def __init__(self, queue, sketch_dir, image_dir, triplet_path, mean, hard_ratio, batch_size, phase): """Setup the TripletSamplingDataLayer.""" super(TripletSamplingDataFetcher, self).__init__() # mean = mean self._queue = queue self._phase = phase self.sketch_transformer = Transformer(225, 1, mean, self._phase == "TRAIN") self.sketch_dir = sketch_dir self.anc_bm = MemoryBlockManager(sketch_dir) self.pos_neg_bm = MemoryBlockManager(image_dir) self.hard_ratio = hard_ratio self.mini_batchsize = batch_size self.load_triplets(triplet_path)
def __init__(self, queue, layer_params): """Setup the TripletSamplingDataLayer.""" super(TripletSamplingDataFetcher, self).__init__() self._queue = queue mean = layer_params['mean'] self._phase = layer_params['phase'] self.sketch_transformer = Transformer(225, 1, mean, self._phase == "TRAIN") self.anc_bm = MemoryBlockManager(layer_params['sketch_dir']) self.pos_neg_bm = MemoryBlockManager(layer_params['image_dir']) self.hard_ratio = layer_params['hard_ratio'] self.mini_batchsize = layer_params['batch_size'] self.load_triplets(layer_params['triplet_path'])
def __init__(self, queue, sketch_dir, mean, hard_ratio, batch_size): """Setup the StrokeSamplingDataLayer.""" super(SamplingDataFetcher, self).__init__() # mean = mean self._queue = queue self.sketch_transformer = Transformer(225, 1, mean) self.sketch_dir = sketch_dir self.sketch_bm = MemoryBlockManager(sketch_dir) self.hard_ratio = hard_ratio self.mini_batchsize = batch_size
def __init__(self, queue, sketch_data, image_data, sketch_label, image_label, triplets, queue_paras, phase): """Setup the TripletSamplingDataLayer.""" super(TripletSamplingDataFetcher, self).__init__() # mean = mean self.im_size = queue_paras['im_size'] self.cp_size = queue_paras['cp_size'] self.chns = queue_paras['chns'] self.mean = queue_paras['mean'] self.batchsize = queue_paras['batch_size'] self.num_epoch = queue_paras['num_epochs'] self._queue = queue self._phase = phase self.sketch_transformer = Transformer(self.cp_size, self.chns, self.mean, self._phase == "TRAIN") if sketch_label is None or image_label is None: self.has_label = False else: self.has_label = True self.anc_bm = MemoryBlockManager(sketch_data, sketch_label, self.has_label) self.pos_neg_bm = MemoryBlockManager(image_data, image_label, self.has_label) self.triplets = triplets
def extract_features(net_, config): db = MemoryBlockManager(config.DB_PATH, False) if config.verbose: print 'extracting features of %s' % config.dataset t = time() num_samples = 10 * db.num_samples feats = np.zeros((num_samples, get_feature_dims(net_, config.feat_layer)), np.single) idx = 0 while not db.eof(): batch_data, _ = db.pop_batch(config.batchsize) # batchsize 128 transformed = do_multiview_crop(batch_data, config.crop_dim) transformed = transformed - config.mean_val num, chns, rows, cols = transformed.shape net_.blobs['data'].reshape(*(num, chns, rows, cols)) output = net_.forward(data=transformed.astype(np.float32, copy=False)) target = output[config.feat_layer] feats[idx:idx + num, ::] = reshape_feature(target) idx += num if config.verbose: print 'feature computation completed (%0.2f sec.)' % (time() - t) return feats