# "C-tanh",
"bounce-states",
# "bounce-images",
]

exp_id = "C-May16"
exp_mode = "meta"
# exp_mode = "finetune"
# exp_mode = "oracle"
is_VAE = False
is_uncertainty_net = False
is_regulated_net = False
is_load_data = False
VAE_beta = 0.2

task_id_list = get_args(task_id_list, 3, type = "tuple")
if task_id_list[0] in ["C-sin", "C-tanh"]:
    statistics_output_neurons = 2 if task_id_list[0] == "C-sin" else 4
    z_size = 2 if task_id_list[0] == "C-sin" else 4
    num_shots = 10
    input_size = 1
    output_size = 1
    reg_amp = 1e-6
    forward_steps = [1]
    is_time_series = False
elif task_id_list[0] in ["bounce-states", "bounce-states2"]:
    statistics_output_neurons = 8
    num_shots = 100
    z_size = 8
    input_size = 6
    output_size = 2
batch_size_task = min(50, num_train_tasks)
num_backwards = 1
num_iter = 10000
pre_pooling_neurons = 200
num_context_neurons = 0
statistics_pooling = "max"
main_hidden_neurons = (40, 40)
patience = 200
reg_amp = 1e-6
activation_gen = "leakyRelu"
activation_model = "leakyRelu"
optim_mode = "indi"
loss_core = "huber"
array_id = "new"

exp_id = get_args(exp_id, 1)
exp_mode = get_args(exp_mode, 2)
task_id_list = get_args(task_id_list, 3, type = "tuple")
statistics_output_neurons = get_args(statistics_output_neurons, 4, type = "int")
is_VAE = get_args(is_VAE, 5, type = "bool")
VAE_beta = get_args(VAE_beta, 6, type = "float")
lr = get_args(lr, 7, type = "float")
batch_size_task = get_args(batch_size_task, 8, type = "int")
pre_pooling_neurons = get_args(pre_pooling_neurons, 9, type = "int")
num_context_neurons = get_args(num_context_neurons, 10, type = "int")
statistics_pooling = get_args(statistics_pooling, 11)
main_hidden_neurons = get_args(main_hidden_neurons, 12, "tuple")
reg_amp = get_args(reg_amp, 13, type = "float")
activation_gen = get_args(activation_gen, 14)
activation_model = get_args(activation_model, 15)
optim_mode = get_args(optim_mode, 16)
num_train_tasks = 100
num_test_tasks = 100
batch_size_task = 100
num_backwards = 1
num_iter = 20000
pre_pooling_neurons = 100
num_context_neurons = 0
statistics_pooling = "max"
patience = 400
reg_amp = 1e-6
activation_gen = "leakyRelu"
activation_model = "leakyRelu"
optim_mode = "sum"
array_id = "0"

exp_id = get_args(exp_id, 1)
task_id_list = get_args(task_id_list, 2, type="tuple")
statistics_output_neurons = get_args(statistics_output_neurons, 3, type="int")
is_VAE = get_args(is_VAE, 4, type="bool")
VAE_beta = get_args(VAE_beta, 5, type="float")
lr = get_args(lr, 6, type="float")
batch_size_task = get_args(batch_size_task, 7, type="int")
pre_pooling_neurons = get_args(pre_pooling_neurons, 8, type="int")
num_context_neurons = get_args(num_context_neurons, 9, type="int")
statistics_pooling = get_args(statistics_pooling, 10)
reg_amp = get_args(reg_amp, 11, type="float")
activation_gen = get_args(activation_gen, 12)
activation_model = get_args(activation_model, 13)
optim_mode = get_args(optim_mode, 14)
is_uncertainty_net = get_args(is_uncertainty_net, 15, "bool")
array_id = get_args(array_id, 16)