예제 #1
0
	def __init__(self,
			name,
			batch_size = 128,
			epochs = 200,
			learning_rate = 0.01,
			lr_decay_scheme = 1,
			weight_decay = 0.0005,
			data_key = 'ucf',
			dropout = 0.5,
			load_epoch_pt = -1,
			name_finetuning = None,
			name_experiment = None,
			reset_fc7 = True,
			reset_fc6 = True,
			freeze_layer = 'input',
			rgb = 0.3,
			num_test = 25,
			split = 1
		):
		super(Finetuning_AR_RGB, self).__init__(name=name, batch_size=batch_size, epochs=epochs, 
			learning_rate=learning_rate, lr_decay_scheme=lr_decay_scheme, weight_decay=weight_decay, 
			data_key=data_key, dropout=dropout, name_finetuning=name_finetuning, 
			name_experiment=name_experiment, reset_fc7=reset_fc7, load_epoch_pt=load_epoch_pt,
			freeze_layer=freeze_layer, split=split, reset_fc6=reset_fc6)

		self.rgb = rgb
		self.num_test = num_test
		self.list_infos += [('rgb', rgb), ('num_test', num_test)]
		self.dataset_type = Dataset_RGB
		self.tracker = Tracker_classification()
		self.optimizer = optim.SGD(filter(lambda p: p.requires_grad, self.net.parameters()), 
			lr=self.learning_rate, momentum=0.9, weight_decay=self.weight_decay)

		self.criterion = nn.CrossEntropyLoss()
예제 #2
0
    def __init__(self,
                 name,
                 batch_size=30,
                 epochs=200,
                 learning_rate=0.01,
                 lr_decay_scheme=1,
                 weight_decay=0.0005,
                 arch='caffe_bn',
                 data_key='ucf',
                 modalities=['rgb', 'of'],
                 num_frames_flow=10,
                 num_frames_cod=4,
                 split_channels=True,
                 dropout=0.5,
                 high_motion=1,
                 time_flip=True):
        super(Pretraining_Concat,
              self).__init__(name=name,
                             batch_size=batch_size,
                             epochs=epochs,
                             learning_rate=learning_rate,
                             lr_decay_scheme=lr_decay_scheme,
                             weight_decay=weight_decay,
                             arch=arch,
                             data_key=data_key,
                             split_channels=split_channels,
                             dropout=dropout)
        self.num_frames_flow = num_frames_flow
        self.num_frames_cod = num_frames_cod
        self.high_motion = high_motion
        self.time_flip = time_flip
        self.modalities = modalities
        self.list_infos += [('num_frames_flow', num_frames_flow),
                            ('num_frames_cod', num_frames_cod),
                            ('high_motion', high_motion),
                            ('time_flip', time_flip),
                            ('modalities', modalities)]

        self.net = Concat(arch=self.arch,
                          num_frames=self.num_frames_flow,
                          dropout=self.dropout,
                          modalities=self.modalities)
        self.tracker = Tracker_classification()
        self.optimizer = optim.SGD(self.net.parameters(),
                                   lr=self.learning_rate,
                                   momentum=0.9,
                                   weight_decay=self.weight_decay)
        self.dataset_type = Dataset_Two_Stream
        self.criterion = nn.CrossEntropyLoss()
예제 #3
0
	def __init__(self,
			name,
			batch_size = 128,
			epochs = 200,
			learning_rate = 0.01,
			lr_decay_scheme = 1,
			weight_decay = 0.0005,
			data_key = 'ucf',
			dropout = 0.5,
			load_epoch_pt = -1,
			name_finetuning = None,
			reset_fc7 = True,
			reset_fc6 = True,
			freeze_layer = 'input',
			num_test = 25,
			nodiff = False,
			time_flip = False,
			split = 1
		):
		super(Finetuning_AR_COD, self).__init__(name=name, batch_size=batch_size, epochs=epochs, 
			learning_rate=learning_rate, lr_decay_scheme=lr_decay_scheme, weight_decay=weight_decay, 
			data_key=data_key, dropout=dropout, name_finetuning=name_finetuning, 
			reset_fc7=reset_fc7, load_epoch_pt=load_epoch_pt, freeze_layer=freeze_layer, split=split,
			reset_fc6=reset_fc6)

		self.num_test = num_test
		self.num_frames = int(self.net.input_dim / 3)
		self.nodiff = nodiff
		self.time_flip = time_flip
		self.list_infos += [('num_test', num_test), ('num_frames', self.num_frames), ('nodiff', nodiff),
			('time_flip', time_flip)]
		self.dataset_type = Dataset_COD
		self.tracker = Tracker_classification()
		self.optimizer = optim.SGD(filter(lambda p: p.requires_grad, self.net.parameters()), 
			lr=self.learning_rate, momentum=0.9, weight_decay=self.weight_decay)

		self.criterion = nn.CrossEntropyLoss()
예제 #4
0
	def _reconfigure_tracker_test(self):
		self.tracker = Tracker_classification(mode='multi_frame')
예제 #5
0
	def _reconfigure_tracker_train(self):
		self.tracker = Tracker_classification()
예제 #6
0
 def _reconfigure_tracker_test(self):
     self.tracker = Tracker_classification(with_nonzeros=True)