import logging import os import matplotlib.pyplot as plt import numpy as np from forkan.common.utils import read_keys, setup_plotting, get_figure_size logger = logging.getLogger(__name__) home = os.environ['HOME'] models_dir = f'{home}/.forkan/done/pendulum/ppo2-gt' ylims, tick_setup = setup_plotting() fig, ax = plt.subplots(1, 1, figsize=get_figure_size()) for fi, name in [('', 'beta=1')]: data = read_keys(models_dir, fi, ['mean_reward', 'total_timesteps']) xs = data['total_timesteps'][0] ys = data['mean_reward'] ax.plot(xs, np.nanmedian(ys, axis=0)) ax.fill_between(xs, np.nanpercentile(ys, 25, axis=0), np.nanpercentile(ys, 75, axis=0), alpha=0.33) plt.ylim(**ylims) ax.set_ylabel('Median Reward')
import logging import os import matplotlib.pyplot as plt import numpy as np import seaborn as sns sns.set() from forkan.common.utils import read_keys, get_figure_size, setup_plotting logger = logging.getLogger(__name__) setup_plotting() home = os.environ['HOME'] models_dir = f'{home}/.forkan/done/classify-ball/' def smooth(l, N=1000): l = np.asarray(l, np.float32) return np.convolve(l, np.ones((N, )) / N, mode='valid') # return medfilt(np.asarray(l, dtype=np.float32), 51) fig, ax = plt.subplots(1, 1, figsize=get_figure_size()) data = read_keys(models_dir, 'RETRAIN-N128', ['nbatch', 'mae_train', 'mse_train', 'mae_test', 'mse_test']) ret_mae_train = np.squeeze(data['mae_train']) ret_mae_test = np.squeeze(data['mae_test']) ret_mse_train = np.squeeze(data['mse_train'])
import logging import os import matplotlib.pyplot as plt import numpy as np from forkan.common.utils import read_keys, setup_plotting, get_figure_size logger = logging.getLogger(__name__) ylims, tick_setup = setup_plotting('break-baseline') fig, ax = plt.subplots(1, 1, figsize=get_figure_size()) home = os.environ['HOME'] models_dir = f'{home}/.forkan/done/breakout/ppo2-break-fixed' colf = '#79706e' for fi, name in [('b1', '$PPO^{\\text{fixed}}$')]: data = read_keys(models_dir, fi, ['mean_reward', 'total_timesteps']) xs = data['total_timesteps'][0] ys = data['mean_reward'] plt.plot(xs, np.nanmedian(ys, axis=0), label=name, color=colf) plt.fill_between(xs, np.nanpercentile(ys, 25, axis=0), np.nanpercentile(ys, 75, axis=0), alpha=0.33, color=colf)
import numpy as np import seaborn as sns import tensorflow as tf from forkan import model_path, figure_path from forkan.common.utils import ls_dir, setup_plotting, get_figure_size from forkan.models import VAE sns.set() logger = logging.getLogger(__name__) network = 'pendulum' plt_shape = [1, 5] ylims = setup_plotting() home = os.environ['HOME'] models_dir = '{}vae-{}/'.format(model_path, network) dirs = ls_dir(models_dir) for fi in ['b1', 'b81', 'b85']: # for fi in ['b1']: for d in dirs: ds_name = d.split('/')[-1].split('-')[0] model_name = d.split('/')[-1] if fi is not None and not '': if fi not in model_name: logger.info('skipping {}'.format(model_name)) continue