| 306 | |
| 307 | |
| 308 | class Run(): |
| 309 | def __init__(self, |
| 310 | config |
| 311 | ): |
| 312 | |
| 313 | self.model_name = config['model_name'] |
| 314 | self.mode_eval = config['mode_eval'] |
| 315 | self.fold = config['fold'] |
| 316 | self.data_type = 'SVFEND' |
| 317 | |
| 318 | self.epoches = config['epoches'] |
| 319 | self.batch_size = config['batch_size'] |
| 320 | self.num_workers = config['num_workers'] |
| 321 | self.epoch_stop = config['epoch_stop'] |
| 322 | self.seed = config['seed'] |
| 323 | self.device = config['device'] |
| 324 | self.lr = config['lr'] |
| 325 | self.lambd=config['lambd'] |
| 326 | self.save_param_dir = config['path_param'] |
| 327 | self.path_tensorboard = config['path_tensorboard'] |
| 328 | self.dropout = config['dropout'] |
| 329 | self.weight_decay = config['weight_decay'] |
| 330 | self.event_num = 616 |
| 331 | self.mode ='normal' |
| 332 | |
| 333 | |
| 334 | def get_dataloader(self,data_type,data_fold): |
| 335 | collate_fn=None |
| 336 | |
| 337 | if data_type=='SVFEND': |
| 338 | dataset_train = SVFENDDataset(f'vid_fold_no_{data_fold}.txt') |
| 339 | dataset_test = SVFENDDataset(f'vid_fold_{data_fold}.txt') |
| 340 | collate_fn=SVFEND_collate_fn |
| 341 | elif data_type=='FANVM': |
| 342 | dataset_train = FANVMDataset_train(f'vid_fold_no_{data_fold}.txt') |
| 343 | dataset_test = FANVMDataset_test(path_vid_train=f'vid_fold_no_{data_fold}.txt', path_vid_test=f'vid_fold_{data_fold}.txt') |
| 344 | collate_fn = FANVM_collate_fn |
| 345 | elif data_type=='c3d': |
| 346 | dataset_train = C3DDataset(f'vid_fold_no_{data_fold}.txt') |
| 347 | dataset_test = C3DDataset(f'vid_fold_{data_fold}.txt') |
| 348 | collate_fn = c3d_collate_fn |
| 349 | elif data_type=='vgg': |
| 350 | dataset_train = VGGDataset(f'vid_fold_no_{data_fold}.txt') |
| 351 | dataset_test = VGGDataset(f'vid_fold_{data_fold}.txt') |
| 352 | collate_fn = vgg_collate_fn |
| 353 | elif data_type=='bbox': |
| 354 | dataset_train = BboxDataset('vid_fold_no1.txt') |
| 355 | dataset_test = BboxDataset('vid_fold_1.txt') |
| 356 | collate_fn = bbox_collate_fn |
| 357 | elif data_type=='comments': |
| 358 | dataset_train = CommentsDataset(f'vid_fold_no_{data_fold}.txt') |
| 359 | dataset_test = CommentsDataset(f'vid_fold_{data_fold}.txt') |
| 360 | collate_fn = comments_collate_fn |
| 361 | elif data_type=='w2v': |
| 362 | wv_from_text = KeyedVectors.load_word2vec_format("./stores/tencent-ailab-embedding-zh-d100-v0.2.0-s/tencent-ailab-embedding-zh-d100-v0.2.0-s.txt", binary=False) |
| 363 | dataset_train = Title_W2V_Dataset(f'vid_fold_no{data_fold}.txt', wv_from_text) |
| 364 | dataset_test = Title_W2V_Dataset(f'vid_fold_{data_fold}.txt', wv_from_text) |
| 365 | collate_fn = title_w2v_collate_fn |