Untitled
unknown
plain_text
21 days ago
2.1 kB
5
Indexable
Never
import pandas as pd import numpy as np import os import matplotlib.pyplot as plt import seaborn as sns SERVO = 3 folders = os.listdir('./Results') servo_total= [] for folder in folders: if folder.startswith(f'morphology_{SERVO}') and not folder.endswith('.pdf') and not folder.endswith('png'): try: best = [] runs = os.listdir(f'./Results/{folder}/evals/') for run in runs: data = pd.DataFrame(pd.read_csv('./Results/{}/evals/{}'.format(folder, run))) if data['best_eval'].iloc[-1] >= 5.5: print(data['best_eval'].iloc[-1], run) plt.figure() plt.plot(data['best_eval']) plt.title('Suspiciously Good: {}'.format(run)) plt.savefig(f'./Results/{folder}/{run}.pdf') plt.close() # plt.show() best.append(data['best_eval']) full_data = pd.DataFrame(best).T full_data['mean'] = full_data.mean(numeric_only=True, axis=1) full_data['std'] = full_data.std(numeric_only=True, axis=1) plt.figure() plt.plot(full_data['mean']) plt.fill_between(full_data.index.values, full_data['mean'] - full_data['std'], full_data['mean'] + full_data['std'], alpha = 0.3) plt.title(folder) plt.xlabel('Generations') plt.ylabel('Fitness') plt.savefig(f'Results/{folder}/{folder}.pdf') plt.close() # plt.show() servo_total.append(full_data['mean']) except FileNotFoundError: pass full_servo = pd.DataFrame(servo_total).T full_servo['mean'] = full_servo.mean(numeric_only=True, axis=1) full_servo['std'] = full_servo.std(numeric_only=True, axis=1) plt.figure() plt.plot(full_servo['mean']) plt.title(f'{SERVO}') plt.xlabel('Generations') plt.ylabel('Fitness') plt.savefig(f'Results/{SERVO}.pdf') plt.close()