added first working MAPPO implementation

This commit is contained in:
Robert Müller
2022-01-28 11:07:25 +01:00
parent ffc47752a7
commit b09c461754
11 changed files with 194 additions and 61 deletions

View File

@ -1,32 +1,22 @@
import numpy as np
import pandas as pd
from pathlib import Path
import matplotlib.pyplot as plt
import seaborn as sns
study_root = Path(__file__).parent / 'entropy_study'
names_all = ['basic_gru', 'layernorm_gru', 'spectralnorm_gru', 'nonorm_gru']
names_only_1 = ['L2OnlyAh_gru', 'L2OnlyChAh_gru', 'L2OnlyMix_gru', 'basic_gru']
names_only_2 = ['L2NoCh_gru', 'L2NoAh_gru', 'nomix_gru', 'basic_gru']
names = names_only_2
#names = ['nonorm_gru']
# /Users/romue/PycharmProjects/EDYS/studies/normalization_study/basic_gru#3
csvs = []
for name in ['basic_gru', 'nonorm_gru', 'spectralnorm_gru']:
for run in range(0, 1):
dfs = []
for name in ['l2snac', 'iac', 'snac', 'seac']:
for c in range(5):
try:
df = pd.read_csv(study_root / f'{name}#{run}' / 'results.csv')
df = df[df.agent == 'sum']
df = df.groupby(['checkpoint', 'run']).mean().reset_index()
df['method'] = name
df['run_'] = run
df.reward = df.reward.rolling(15).mean()
csvs.append(df)
study_root = Path(__file__).parent / name / f'{name}#{c}'
df = pd.read_csv(study_root / 'results.csv', index_col=False)
df.reward = df.reward.rolling(100).mean()
df['method'] = name.upper()
dfs.append(df)
except Exception as e:
print(f'skipped {run}\t {name}')
pass
csvs = pd.concat(csvs).rename(columns={"checkpoint": "steps*2e3", "B": "c"})
sns.lineplot(data=csvs, x='steps*2e3', y='reward', hue='method', palette='husl', ci='sd', linewidth=1.8)
plt.savefig('entropy.png')
df = pd.concat(dfs).reset_index()
sns.lineplot(data=df, x='episode', y='reward', hue='method', palette='husl', ci='sd', linewidth=1.5)
plt.savefig('study.png')
print('saved image')