base_config = {
    "a_memory_dim":16,
    "a_lr":0.001,
    "r_lr": 0.001,
    "length":200,
    "r_batch_size": 32,
    "r_epochs": 10,
    "a_batch_size": 32,
    "a_epochs": 10,
    "num_hx_qbns": 1,
    "method": "qrnn",
    "blow_up": 8,
    "bottleneck_dim" : 2, # WE SET MAX FSC SIZE HERE
    "batch_dim" : 512,
    "rounds" : 50,
    "dynamic_uncertainty" : True,
    "train_deterministic" : True,
    "memory_dependent_worst_case_T" : False,
    "fresh_qbn_every_iter" : False, # only has effect when method equals 'qbn'
    "fresh_qrnn_every_iter" : False,
    "weight_decay" : 0.0,
    "quantization" : "tern", # "tern" (3-level) or 'sign' (2-level)
    "one_hot_obs" : False,
    "use_supervision_simulation_data" : True,
    "clipnorm" : 5,
    'clipvalue' : 5,
    'a_loss' : 'cce',
    'policy' : 'qumdp',
}

ICML_standards = {
    "a_memory_dim":16,
    "a_lr":0.001,
    "r_lr": 0.001,
    "length":100,
    "r_batch_size": 64,
    "r_epochs": 32,
    "a_batch_size": 32,
    "a_epochs": 10,
    "num_hx_qbns": 1,
    "method": "qrnn", # qbn or qrnn or kmeans
    "blow_up": 8,
    "bottleneck_dim" : 2, # WE SET MAX FSC SIZE HERE
    "batch_dim" : 256,
    "rounds" : 100,
    "weight_decay" : 0.004,
    "clipnorm" : 0.1,
    'clipvalue' : 0.1,
    "dynamic_uncertainty" : True,
    'train_deterministic' : True,
    'memory_dependent_worst_case_T' : False,
    'fresh_qbn_every_iter' : True,
    'quantization' : 'tern' # 'tern' (3-level) or 'sign' (2-level)
}
