class ImageWindowDataUnit(DataUnit): def __init__(self, params, num_gpu): super(ImageWindowDataUnit, self).__init__(params, num_gpu) if params.include[0].phase == Phase.Value('TRAIN'): self.dp = ImageWindowDataProvider(params.window_data_param, num_gpu) else: self.dp = ImageWindowDataProvider(params.window_data_param, 1) self.params = params self.crop_size = params.window_data_param.crop_size self.generator = None #reset generator def reset_generator(self): if self.params.include[0].phase == Phase.Value('TRAIN'): self.generator = self.dp.get_mb('TRAIN') else: self.generator = self.dp.get_mb('TEST') def init_layer_size(self, from_btm, to_top): self.out_shape = [self.params.window_data_param.crop_size, self.params.window_data_param.crop_size, 3, 1] to_top[self.top_names[0]] = self.out_shape[:] def __str__(self): return 'window_data'
class ImageWindowDataUnit(DataUnit): ''' DataUnit load from image window patches. :ivar caffe.LayerParameter params: image window data layer param defined by Caffe, this is often used when data is limited and object bounding box is given ''' def __init__(self, params, num_gpu): super(ImageWindowDataUnit, self).__init__(params, num_gpu) if params.include[0].phase == Phase.Value('TRAIN'): self.dp = ImageWindowDataProvider(params.window_data_param, num_gpu) else: self.dp = ImageWindowDataProvider(params.window_data_param, 1) self.params = params self.crop_size = params.window_data_param.crop_size self.generator = None #reset generator def reset_generator(self): if self.params.include[0].phase == Phase.Value('TRAIN'): self.generator = self.dp.get_mb('TRAIN') else: self.generator = self.dp.get_mb('TEST') def compute_size(self, from_btm, to_top): self.out_shape = [self.params.window_data_param.crop_size, self.params.window_data_param.crop_size, 3, 1] to_top[self.top_names[0]] = self.out_shape[:] def __str__(self): return 'window_data'
class ImageWindowDataUnit(DataUnit): ''' DataUnit load from image window patches. :ivar caffe.LayerParameter params: image window data layer param defined by Caffe, this is often used when data is limited and object bounding box is given ''' def __init__(self, params, num_gpu): super(ImageWindowDataUnit, self).__init__(params, num_gpu) if params.include[0].phase == Phase.Value('TRAIN'): self.dp = ImageWindowDataProvider(params.window_data_param, num_gpu) else: self.dp = ImageWindowDataProvider(params.window_data_param, 1) self.params = params self.crop_size = params.window_data_param.crop_size self.generator = None #reset generator def reset_generator(self): if self.params.include[0].phase == Phase.Value('TRAIN'): self.generator = self.dp.get_mb('TRAIN') else: self.generator = self.dp.get_mb('TEST') def compute_size(self, from_btm, to_top): self.out_shape = [ self.params.window_data_param.crop_size, self.params.window_data_param.crop_size, 3, 1 ] to_top[self.top_names[0]] = self.out_shape[:] def __str__(self): return 'window_data'
def __init__(self, params, num_gpu): super(ImageWindowDataUnit, self).__init__(params, num_gpu) if params.include[0].phase == Phase.Value('TRAIN'): self.dp = ImageWindowDataProvider(params.window_data_param, num_gpu) else: self.dp = ImageWindowDataProvider(params.window_data_param, 1) self.params = params self.crop_size = params.window_data_param.crop_size self.generator = None
class ImageWindowDataUnit(DataUnit): """ DataUnit load from image window patches. :ivar caffe.LayerParameter params: image window data layer param defined by Caffe, this is often used when data is limited and object bounding box is given """ def __init__(self, params, num_gpu): super(ImageWindowDataUnit, self).__init__(params, num_gpu) if params.include[0].phase == Phase.Value("TRAIN"): self.dp = ImageWindowDataProvider(params.window_data_param, num_gpu) else: self.dp = ImageWindowDataProvider(params.window_data_param, 1) self.params = params self.crop_size = params.window_data_param.crop_size self.generator = None # reset generator def reset_generator(self): if self.params.include[0].phase == Phase.Value("TRAIN"): self.generator = self.dp.get_mb("TRAIN") else: self.generator = self.dp.get_mb("TEST") def compute_size(self, from_btm, to_top): self.out_shape = [self.params.window_data_param.crop_size, self.params.window_data_param.crop_size, 3, 1] to_top[self.top_names[0]] = dict() to_top[self.top_names[0]]["out_shape"] = self.out_shape[:] to_top[self.top_names[0]]["rec_on_ori"] = 1 to_top[self.top_names[0]]["stride_on_ori"] = 1 to_top[self.top_names[0]]["start_on_ori"] = 0 self.rec_on_ori = 1 self.stride_on_ori = 1 self.start_on_ori = 0 def __str__(self): return "window_data"