def generate_research():
    for i in range(20):
        researchers.append({
            "name": myGenerator.name(),
            "mwet_id": str(myGenerator.uuid4())
        })

    for i in range(5):
        groups.append(myGenerator.last_name())

    for i in range(10):
        adsorptions.append(myGenerator.random_uppercase_letter() +
                           myGenerator.random_lowercase_letter())

    for i in range(20):
        polymers.append(myGenerator.random_uppercase_letter() +
                        str(myGenerator.random_digit_not_null()) +
                        str(myGenerator.random_digit_not_null()))

    for i in range(100):
        x = Experiment()
        research_projects.append(x)
        #Avoid that whole nightmare again
        check_for_unprofessional_lang(research_projects[i])
        researcher = random.choice(researchers)
        research_projects[i].data["researcher"]["name"] = researcher["name"]
        research_projects[i].data["researcher"]["mwet_id"] = researcher[
            "mwet_id"]
        research_projects[i].data["researcher"]["group"] = random.choice(
            groups)
        research_projects[i].data["researcher"]["institution"] = random.choice(
            institutions)
        research_projects[i].data["experiment_metadata"][
            "gap"] = random.choice(gaps)
        research_projects[i].set_polymer(random.choice(polymers))
        research_projects[i].set_adsorbing(random.choice(adsorptions))
        research_projects[i].data["uid"] = str(uuid.uuid4())
            Critic,
            'critic_kwargs':
            critic_kwargs,
            'critic_optim':
            torch.optim.Adam,
            'critic_optim_kwargs':
            critic_optim_kwargs,
            'num_iters':
            200,
            'ep_per_iter':
            5,
            'log_file':
            './kl/logs/{}/{}/{}_log.npz'.format(env_str, alg.__name__, seed)
        }

        experiment = Experiment(**experiment_parameters)

        experiment.run()

        kls = torch.tensor(experiment.results['kl'])
        mean = torch.mean(kls).item()
        std = torch.std(kls).item()
        cvs.append(std / mean)

        plt.plot(kls, alpha=0.2, color="blue")

        #experiment.plot('./kl/plots/cartpole/{}/{}_'.format(alg.__name__, seed))

        # show one example episode as a sanity check
        #sample_memory(experiment.env, experiment.actor, 1, True)
    print(cvs)
from experiment_class import Experiment

max_doses = [200]
curve_types = ['linear']
experiment_type = 'rate-survival'
n_sims = 10
slopes = [.1,.5,1.5]

# scale = 5 # scale time by two
mut_rate = 0.00005
death_rate = 0.3
# mut_rate = mut_rate/scale
# death_rate = death_rate/scale

options = {'mut_rate':mut_rate,
           'death_rate':death_rate,
           # 'x_lim':100,
           # 'y_lim':2*10**4,
           # 'counts_log_scale':True, 
            'plot':True}

e = Experiment(max_doses=max_doses,
               slopes=slopes,
               curve_types = curve_types,
               experiment_type = experiment_type,
               n_sims=n_sims,
               population_options=options)

e.run_experiment()
e.plot_barchart()
    kl_list.append(max_kl)

    print('\nNow running wiht max_kl = {}'.format(max_kl))

    # set up experiment
    ac_alg_kwargs['max_kl'] = max_kl
    experiment_parameters['ac_alg_kwargs'] = ac_alg_kwargs
    trial_log_dir = log_dir + 'kl_{0:1.4f}/'.format(max_kl)
    try:
        os.mkdir(trial_log_dir)
        os.mkdir(trial_log_dir + 'plots/')
    except:
        pass

    experiment = Experiment(**experiment_parameters)

    # run mutliple experiments with different seeds
    mult_exp = mult_seed_exp(experiment_parameters, seeds, trial_log_dir)
    mult_exp.run()

    try:
        mult_exp.plot(trial_log_dir + 'plots/')
    except:
        pass

    # get results
    mean_results, std_results = mult_exp.get_mean_results()

    print(
        'Mean return at termination with max_kl {0:1.5f} was {1:1.2f}'.format(
예제 #5
0
from experiment_class import Experiment
import seaborn as sns
import matplotlib.pyplot as plt

# max_doses = [100,300,400,500]
max_doses = [350]
experiment_type = 'dose-entropy'
n_sims = 100

e1 = Experiment(max_doses=max_doses,
                experiment_type=experiment_type,
                n_sims=n_sims)
e1.run_experiment()

e = e1.entropy_results

# fig,ax = plt.subplots()
# sns.swarmplot(x='dose',y='max entropy',data=e,ax=ax,hue='survive condition',dodge=True,color='black')
# sns.boxplot(x='dose',y='max entropy',data=e,ax=ax,hue='survive condition',dodge=True,palette='Set2')

# handles, labels = ax.get_legend_handles_labels()
# ax.legend(handles[:2], labels[:2])
#                population_options=options)
# e.run_experiment()
# e.plot_barchart()

# experiment_type = 'inoculant-survival'
# options = {'n_gen':1000,'v2':True,'max_dose':400,'max_cells':10**7}
# inoculants = [10**3,10**4,10**5,10**6]
# curve_types=['constant','linear','pharm']
# n_sims = 10

# e = Experiment(experiment_type = experiment_type,
#                inoculants=inoculants,
#                curve_types=curve_types,
#                n_sims=n_sims,
#                population_options=options)
# e.run_experiment()
# e.plot_barchart()

experiment_type = 'inoculant-survival'
options = {'n_gen':1000,'v2':True,'max_dose':800,'max_cells':10**7}
inoculants = [10**3,10**4,10**5,10**6]
curve_types=['constant','linear','pharm']
n_sims = 10

e = Experiment(experiment_type = experiment_type,
               inoculants=inoculants,
               curve_types=curve_types,
               n_sims=n_sims,
               population_options=options)
e.run_experiment()
e.plot_barchart()
from experiment_class import Experiment
# import matplotlib.pyplot as plt

options = {
    'n_impulse': 20,
    'k_abs': 0.04,
    'k_elim': 0.03,
    'max_dose': 150,
    'n_gen': 1000,
    'mut_rate': 0.00005,
    'death_rate': 0.3
}

e = Experiment(experiment_type='drug-regimen',
               n_sims=10,
               prob_drops=[0, .4, .7],
               population_options=options,
               debug=True)

e.run_experiment()
e.plot_barchart()
e.save_images()

# import matplotlib.pyplot as plt

# fig,ax = plt.subplots()
# ax.bar([0,1,2],[10,20,30])
# ax.set_xticks([0,1,2])
# ax.set_xticklabels(['a','b','c'])