コード例 #1
0
def e1001_3T_ucf101():
    set_init_1()
    project_variable.model_number = 20
    project_variable.experiment_number = 1001
    project_variable.sheet_number = 23
    project_variable.device = 0
    project_variable.end_epoch = 100
    project_variable.batch_size = 30
    project_variable.batch_size_val_test = 30

    project_variable.load_model = True  # exp, model, epoch, run
    project_variable.load_from_fast = True

    project_variable.use_dali = True
    project_variable.dali_workers = 32
    project_variable.dali_iterator_size = ['all', 'all', 0]
    project_variable.nas = False

    project_variable.stop_at_collapse = True
    project_variable.early_stopping = True

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.00005
    project_variable.use_adaptive_lr = True

    main_file.run(project_variable)
コード例 #2
0
def e4_conv3DTTN_jester():
    set_init_1()
    project_variable.model_number = 16
    project_variable.experiment_number = 4
    project_variable.sheet_number = 22
    project_variable.device = 0
    project_variable.end_epoch = 20
    project_variable.repeat_experiments = 3
    project_variable.batch_size = 2 * 27

    # if you want all the data: train: 4200, val: 250, test: 250
    # project_variable.data_points = [300 * 27, 50 * 27, 0 * 27]
    project_variable.data_points = [30 * 27, 5 * 27, 0 * 27]

    project_variable.stop_at_collapse = True
    project_variable.early_stopping = True

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.0003
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [16, 32, 64, 128, 256]
    project_variable.transformation_groups = project_variable.num_out_channels
    project_variable.k0_groups = project_variable.num_out_channels

    main_file.run(project_variable)
コード例 #3
0
def e41_conv3T_jester():
    set_init_1()
    project_variable.model_number = 26  # GN 3T dynamic
    project_variable.experiment_number = 41
    project_variable.sheet_number = 22
    project_variable.device = 2
    project_variable.end_epoch = 100
    project_variable.repeat_experiments = 1
    project_variable.batch_size = 27
    project_variable.batch_size_val_test = 27

    project_variable.load_model = [30, 23, 28, 0]
    project_variable.load_from_fast = True
    project_variable.only_theta_final_layer = True

    project_variable.use_dali = True
    project_variable.dali_workers = 32
    project_variable.dali_iterator_size = ['all', 'all', 0]
    project_variable.nas = False

    project_variable.stop_at_collapse = True
    project_variable.early_stopping = True

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.005
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [0]

    # wait_for_gpu(wait=True, device_num=project_variable.device)
    main_file.run(project_variable)
コード例 #4
0
def vis_conv3DTTN_jester():
    set_init_1()
    project_variable.model_number = 20
    project_variable.experiment_number = 1011010010010
    # TODO setup for visualization
    project_variable.sheet_number = 22
    project_variable.device = 0
    project_variable.end_epoch = 1
    project_variable.repeat_experiments = 1
    project_variable.batch_size = 1 * 27

    project_variable.data_points = [0 * 27, 1 * 27, 0 * 27]

    project_variable.load_model = [10, 20, 2, 0]  # exp, model, epoch, run
    project_variable.inference_only_mode = True
    project_variable.do_xai = True
    project_variable.which_methods = ['gradient_method']
    project_variable.which_layers = ['conv1']
    project_variable.which_channels = [np.array([0, 1])]

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.00005
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [0]

    main_file.run(project_variable)
コード例 #5
0
def eRESNET_jester():
    set_init_1()
    project_variable.model_number = 20
    project_variable.experiment_number = 8538953849588588
    project_variable.sheet_number = 22
    project_variable.device = 0
    project_variable.end_epoch = 3
    project_variable.repeat_experiments = 1
    project_variable.batch_size = 1 * 27

    project_variable.data_points = [1 * 27, 1 * 27, 0 * 27]

    project_variable.load_model = True

    # project_variable.use_dali = True
    # project_variable.dali_workers = 32
    # project_variable.dali_iterator_size = ['all', 'all', 0]
    # project_variable.nas = False

    # project_variable.stop_at_collapse = True
    # project_variable.early_stopping = True

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.0000005
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [0]

    main_file.run(project_variable)
コード例 #6
0
def e_test_3D_jester():
    set_init_1()
    project_variable.model_number = 14
    project_variable.experiment_number = 1792792989823
    project_variable.sheet_number = 22
    project_variable.device = 0
    project_variable.end_epoch = 30
    project_variable.repeat_experiments = 1

    project_variable.data_points = [30 * 27, 5 * 27, 0 * 27]

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 5e-4
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [32, 32, 64]
    project_variable.transformation_groups = project_variable.num_out_channels
    project_variable.k0_groups = project_variable.num_out_channels

    project_variable.do_xai = False
    project_variable.which_methods = ['gradient_method']
    project_variable.which_layers = ['conv1', 'conv2', 'conv3']
    project_variable.which_channels = [
        np.arange(2), np.arange(2), np.arange(2)
    ]

    main_file.run(project_variable)
コード例 #7
0
def e22_conv3DTTN_jester():
    set_init_1()
    project_variable.model_number = 20
    project_variable.experiment_number = 22
    project_variable.sheet_number = 22
    project_variable.device = 0
    project_variable.end_epoch = 1
    project_variable.repeat_experiments = 1
    project_variable.batch_size = 1
    project_variable.batch_size_val_test = 1

    project_variable.xai_only_mode = True

    project_variable.use_dali = True
    project_variable.dali_workers = 32

    project_variable.load_model = [13, 20, 14, 0]  # exp, model, epoch, run
    # project_variable.inference_only_mode = True

    project_variable.do_xai = True
    project_variable.which_methods = ['gradient_method']
    project_variable.which_layers = ['conv1']
    project_variable.which_channels = [np.array([0, 1])]

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.00005
    project_variable.use_adaptive_lr = False
    project_variable.num_out_channels = [0]

    main_file.run(project_variable)
コード例 #8
0
def e0_C3D_omgemo():
    project_variable.model_number = 11
    project_variable.end_epoch = 100
    project_variable.dataset = 'omg_emotion'
    project_variable.device = 2
    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 5e-5
    # project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [12, 22]

    project_variable.data_points = [50 * 7, 3 * 7, 5 * 7]
    project_variable.label_size = 7
    project_variable.batch_size = 14
    project_variable.load_num_frames = 60  # 60
    project_variable.label_type = 'categories'

    project_variable.repeat_experiments = 1
    project_variable.save_only_best_run = True
    project_variable.same_training_data = True
    project_variable.randomize_training_data = True
    project_variable.balance_training_data = True

    project_variable.experiment_state = 'new'
    project_variable.sheet_number = 100

    project_variable.eval_on = 'test'

    project_variable.experiment_number = 1
    main_file.run(project_variable)
コード例 #9
0
def e28_conv3D_jester():
    set_init_1()
    project_variable.model_number = 25
    project_variable.experiment_number = 28
    project_variable.sheet_number = 22
    project_variable.device = 0
    project_variable.end_epoch = 100
    project_variable.repeat_experiments = 1
    project_variable.batch_size = 19
    project_variable.batch_size_val_test = 19

    project_variable.load_model = True
    project_variable.load_from_fast = True

    project_variable.use_dali = True
    project_variable.dali_workers = 32
    project_variable.dali_iterator_size = ['all', 'all', 0]
    project_variable.nas = False

    project_variable.stop_at_collapse = True
    project_variable.early_stopping = True

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.000005
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [0]

    main_file.run(project_variable)
コード例 #10
0
def e_test_3DTTN_dhg():
    set_init_3()
    project_variable.end_epoch = 1
    project_variable.repeat_experiments = 1

    project_variable.experiment_number = 777656767
    project_variable.sheet_number = 21
    project_variable.device = 2

    project_variable.model_number = 11
    project_variable.data_points = [0 * 14, 1 * 14, 0 * 14]
    project_variable.batch_size = 1 * 14

    project_variable.inference_only_mode = True
    project_variable.load_model = [68, 11, 199, 0]

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 1e-4
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [6, 16]

    project_variable.do_xai = True
    # project_variable.return_ind = True
    project_variable.which_methods = ['gradient_method']
    # if 'zeiler2014' in project_variable.which_methods:
    #     project_variable.return_ind = True

    # project_variable.which_layers = ['conv1']
    # project_variable.which_channels = [np.arange(2)]
    project_variable.which_layers = ['conv1', 'conv2']
    project_variable.which_channels = [np.arange(6), np.arange(16)]

    main_file.run(project_variable)
コード例 #11
0
def e71_3D_dhg():
    set_init_3()
    project_variable.end_epoch = 1
    project_variable.repeat_experiments = 1

    project_variable.experiment_number = 71
    project_variable.sheet_number = 21
    project_variable.device = 2

    project_variable.model_number = 12
    project_variable.data_points = [0 * 14, 2 * 14, 0 * 14]
    project_variable.batch_size = 2 * 14

    project_variable.inference_only_mode = True
    project_variable.load_model = [69, 12, 99, 3]

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.001
    project_variable.use_adaptive_lr = False
    project_variable.num_out_channels = [6, 16]

    project_variable.do_xai = True
    # project_variable.which_methods = ['gradient_method']
    project_variable.which_methods = [
        'erhan2009', 'zeiler2014', 'gradient_method'
    ]
    project_variable.return_ind = True
    project_variable.which_layers = ['conv1', 'conv2']
    project_variable.which_channels = [np.arange(6), np.arange(16)]

    main_file.run(project_variable)
コード例 #12
0
def e67_test_3D_dhg():
    set_init_3()
    project_variable.end_epoch = 100
    project_variable.repeat_experiments = 1

    project_variable.experiment_number = 67
    project_variable.sheet_number = 21
    project_variable.device = 2

    project_variable.model_number = 11
    project_variable.data_points = [140 * 14, 20 * 14, 1 * 14]
    project_variable.batch_size = 2 * 14

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 1e-4
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [6, 16]

    project_variable.do_xai = True
    project_variable.which_methods = ['erhan2009', 'zeiler2014']
    if 'zeiler2014' in project_variable.which_methods:
        project_variable.return_ind = True

    project_variable.which_layers = ['conv1', 'conv2']
    project_variable.which_channels = [np.arange(6), np.arange(16)]

    main_file.run(project_variable)
コード例 #13
0
def e36_conv3DTTN_jester():
    set_init_1()
    project_variable.model_number = 20  # RN18 3T
    project_variable.experiment_number = 36
    project_variable.sheet_number = 22
    project_variable.device = 2
    project_variable.end_epoch = 100
    project_variable.repeat_experiments = 1
    project_variable.batch_size = 32
    project_variable.batch_size_val_test = 32

    project_variable.load_model = [32, 20, 13, 0]
    project_variable.load_from_fast = True

    project_variable.use_dali = True
    project_variable.dali_workers = 32
    project_variable.dali_iterator_size = ['all', 'all', 0]
    project_variable.nas = False

    project_variable.stop_at_collapse = True
    project_variable.early_stopping = True

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.00005
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [0]

    wait_for_gpu(wait=True, device_num=project_variable.device)
    main_file.run(project_variable)
コード例 #14
0
def e001_3T_kinetics():
    set_init_1()
    project_variable.model_number = 23  # googlenet
    project_variable.experiment_number = 2000
    project_variable.sheet_number = 23
    project_variable.device = 1
    project_variable.end_epoch = 200
    project_variable.batch_size = 1
    project_variable.batch_size_val_test = 1

    project_variable.inference_only_mode = True

    project_variable.load_model = False
    project_variable.load_from_fast = True

    project_variable.use_dali = True
    project_variable.dali_workers = 32
    project_variable.dali_iterator_size = ['all', 'all', 0]
    project_variable.nas = False

    project_variable.stop_at_collapse = True
    project_variable.early_stopping = True

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.00005
    project_variable.use_adaptive_lr = True

    main_file.run(project_variable)
コード例 #15
0
def e2():
    project_variable.device = 1
    project_variable.model_number = 0
    project_variable.experiment_number = 2
    project_variable.load_model = [2, 0, 35]
    if not project_variable.debug_mode:
        project_variable.start_epoch = 35
    main_file.run(project_variable)
コード例 #16
0
def pilot_2():
    project_variable.device = 0
    project_variable.model_number = 0
    project_variable.experiment_number = 1
    project_variable.end_epoch = 1
    project_variable.load_model = [0, 0, 99]
    project_variable.save_data = False
    main_file.run(project_variable)
コード例 #17
0
def e3_3D_omgemo():
    set_init_1()
    project_variable.experiment_number = 3
    project_variable.sheet_number = 20
    project_variable.device = 0

    project_variable.learning_rate = 1e-3
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [6, 16]

    main_file.run(project_variable)
コード例 #18
0
def e6_3D_omgemo():
    set_init_1()
    project_variable.experiment_number = 6
    project_variable.sheet_number = 20
    project_variable.device = 0

    project_variable.learning_rate = 1e-4
    project_variable.use_adaptive_lr = False
    project_variable.num_out_channels = [12, 22]

    main_file.run(project_variable)
コード例 #19
0
def pilot():
    project_variable.device = 0
    project_variable.model_number = 0
    project_variable.experiment_number = 0

    project_variable.batch_size = 20

    # project_variable.save_model = False
    # project_variable.save_data = False

    main_file.run(project_variable)
コード例 #20
0
def e1_3D_omgemo():
    set_init_1()
    project_variable.experiment_state = 'crashed'
    project_variable.experiment_number = 1
    project_variable.sheet_number = 20
    project_variable.device = 2

    project_variable.learning_rate = 1e-3
    project_variable.use_adaptive_lr = False
    project_variable.num_out_channels = [6, 16]

    main_file.run(project_variable)
コード例 #21
0
def e39_3D_dhg():
    set_init_1()
    project_variable.experiment_number = 39
    project_variable.sheet_number = 21
    project_variable.device = 0

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 1e-3
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [8, 18]

    main_file.run(project_variable)
コード例 #22
0
def e33_3D_dhg():
    set_init_2()
    project_variable.experiment_number = 33
    project_variable.sheet_number = 21
    project_variable.device = 1

    project_variable.optimizer = 'sgd'
    project_variable.learning_rate = 5e-7
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [6, 16]

    main_file.run(project_variable)
コード例 #23
0
def e10_3D_dhg():
    set_init_1()
    project_variable.experiment_number = 10
    project_variable.sheet_number = 21
    project_variable.device = 2

    project_variable.optimizer = 'sgd'
    project_variable.learning_rate = 1e-8
    project_variable.use_adaptive_lr = False
    project_variable.num_out_channels = [6, 16]

    main_file.run(project_variable)
コード例 #24
0
def e44_3D_dhg():
    set_init_2()
    project_variable.experiment_number = 44
    project_variable.sheet_number = 21
    project_variable.device = 2

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 1e-4
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [12, 22]

    main_file.run(project_variable)
コード例 #25
0
def e17_3D_dhg():
    set_init_1()
    project_variable.experiment_number = 17
    project_variable.sheet_number = 21
    project_variable.device = 2

    project_variable.randomize_training_data = False
    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 1e-3
    project_variable.use_adaptive_lr = False
    project_variable.num_out_channels = [6, 16]

    main_file.run(project_variable)
コード例 #26
0
def e48_3D_dhg():
    set_init_2()
    project_variable.experiment_number = 48
    project_variable.sheet_number = 21
    project_variable.device = 0

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 1e-4
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [12, 22]
    project_variable.transformation_groups = project_variable.num_out_channels
    project_variable.k0_groups = project_variable.num_out_channels

    main_file.run(project_variable)
コード例 #27
0
def e1_3D_jester():
    set_init_1()
    project_variable.model_number = 12
    project_variable.experiment_number = 1
    project_variable.sheet_number = 22
    project_variable.device = 0

    project_variable.data_points = [50 * 27, 5 * 27, 0 * 27]

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 1e-3
    project_variable.use_adaptive_lr = False
    project_variable.num_out_channels = [6, 16]

    main_file.run(project_variable)
コード例 #28
0
def e63_3D_dhg():
    set_init_3()
    project_variable.experiment_number = 63
    project_variable.sheet_number = 21
    project_variable.device = 0

    project_variable.model_number = 11
    project_variable.data_points = [10 * 14, 20 * 14, 40 * 14]
    project_variable.batch_size = 2 * 14

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 1e-4
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [6, 16]

    main_file.run(project_variable)
コード例 #29
0
def e10_conv3DTTN_jester():
    set_init_1()
    project_variable.model_number = 20
    project_variable.experiment_number = 10
    project_variable.sheet_number = 22
    project_variable.device = 0
    project_variable.end_epoch = 3
    project_variable.repeat_experiments = 1
    project_variable.batch_size = 1 * 27

    project_variable.data_points = [1 * 27, 1 * 27, 0 * 27]

    project_variable.load_model = True

    project_variable.optimizer = 'adam'
    project_variable.learning_rate = 0.00005
    project_variable.use_adaptive_lr = True
    project_variable.num_out_channels = [0]

    main_file.run(project_variable)
コード例 #30
0
def run_single_experiment(project_variable, lr, epochs, out_channels, device,
                          model_number):
    project_variable.nas = True
    project_variable.device = device
    project_variable.end_epoch = epochs
    project_variable.learning_rate = lr
    project_variable.num_out_channels = out_channels
    project_variable.model_number = model_number

    project_variable.save_data = False
    project_variable.save_model = False
    project_variable.save_graphs = False

    project_variable.dataset = 'jester'

    # if you want all the data: train: 150, val: 10, test: 10
    # total_dp = {'train': 118562, 'val': 7393, 'test': 7394}
    project_variable.num_in_channels = 3
    # project_variable.data_points = [2 * 27,  1 * 27, 0 * 27]
    project_variable.batch_size = 2 * 27
    project_variable.use_dali = True
    project_variable.dali_workers = 8
    # for now, use 'all' for val, since idk how to reset the iterator
    project_variable.dali_iterator_size = [5 * 27, 'all', 0]

    project_variable.label_size = 27

    project_variable.load_num_frames = 30
    project_variable.label_type = 'categories'
    project_variable.use_adaptive_lr = True

    project_variable.repeat_experiments = 1
    project_variable.save_only_best_run = True
    project_variable.same_training_data = True
    project_variable.randomize_training_data = True
    project_variable.balance_training_data = True

    project_variable.theta_init = None
    project_variable.srxy_init = 'eye'
    project_variable.weight_transform = 'seq'

    project_variable.experiment_state = 'new'
    project_variable.eval_on = 'val'

    project_variable.experiment_number = 1792792989823
    project_variable.sheet_number = 22

    project_variable.repeat_experiments = 1
    project_variable.data_points = [30 * 27, 5 * 27, 0 * 27]
    project_variable.optimizer = 'adam'

    return main_file.run(project_variable)