somewhat working plots
This commit is contained in:
parent
55898d0e66
commit
554e587ffd
59
plot.py
59
plot.py
|
@ -1,36 +1,57 @@
|
||||||
import sys
|
import os
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import csv
|
import csv
|
||||||
|
import datetime
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import matplotlib.ticker as mtick
|
import matplotlib.ticker as mtick
|
||||||
import matplotlib.dates as mdates
|
import matplotlib.dates as mdates
|
||||||
from matplotlib.backends.backend_pdf import PdfPages
|
|
||||||
headers = ['Phase', 'Method', 'Start episodes', 'Episodes', 'Sum', 'Mean']
|
|
||||||
|
|
||||||
fig, ax = plt.subplots(1, 1)
|
train_headers = ['timestamp', 'eps_train', 'eps_trained_session', 'sum', 'mean']
|
||||||
|
eval_headers = ['timestamp', 'method', 'eps_train', 'eval_eps_used', 'sum', 'mean']
|
||||||
|
|
||||||
plt.ion()
|
model_path = 'models'
|
||||||
plt.title('Mean over episodes')
|
|
||||||
plt.xlabel('Episodes')
|
|
||||||
plt.ylabel('Mean')
|
|
||||||
plt.grid(True)
|
|
||||||
|
|
||||||
#ax.set_xlim(left=0)
|
|
||||||
ax.set_ylim([-2, 2])
|
|
||||||
|
|
||||||
plt.show()
|
def dataframes(model_name):
|
||||||
|
def df_timestamp_to_datetime(df):
|
||||||
|
df['timestamp'] = df['timestamp'].map(lambda t: datetime.datetime.fromtimestamp(t))
|
||||||
|
return df
|
||||||
|
|
||||||
while True:
|
log_path = os.path.join(model_path, model_name, 'logs')
|
||||||
#df = pd.read_csv(sys.stdin, sep=";", names=headers)
|
raw_dfs = [ pd.read_csv(os.path.join(log_path, 'eval.log'), sep=';', names=eval_headers),
|
||||||
df = pd.read_csv('log', sep=";", names=headers)
|
pd.read_csv(os.path.join(log_path, 'train.log'), sep=';', names=train_headers) ]
|
||||||
df['Total episodes'] = df['Start episodes'] + 100
|
dfs = [ df_timestamp_to_datetime(df) for df in raw_dfs ]
|
||||||
|
dataframes = {
|
||||||
|
'eval': dfs[0],
|
||||||
|
'train': dfs[1]
|
||||||
|
}
|
||||||
|
return dataframes
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
fig, ax = plt.subplots(1, 1)
|
||||||
|
|
||||||
|
plt.ion()
|
||||||
|
plt.title('Mean over episodes')
|
||||||
|
plt.xlabel('Episodes trained')
|
||||||
|
plt.ylabel('Mean')
|
||||||
|
plt.grid(True)
|
||||||
|
|
||||||
|
#ax.set_xlim(left=0)
|
||||||
|
ax.set_ylim([-2, 2])
|
||||||
|
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
while True:
|
||||||
|
df = pd.read_csv('models/c/logs/eval.log', sep=";", names=eval_headers)
|
||||||
|
df['timestamp'] = df['timestamp'].map(lambda t: datetime.datetime.fromtimestamp(t))
|
||||||
|
|
||||||
print(df)
|
print(df)
|
||||||
|
|
||||||
x = df['Total episodes']
|
x = df['eps_train']
|
||||||
y = df['Mean']
|
y = df['mean']
|
||||||
|
|
||||||
plt.scatter(x, y, c=[[1,0.5,0]])
|
plt.scatter(x, y, c=[[1, 0.5, 0]])
|
||||||
#fig.canvas.draw()
|
#fig.canvas.draw()
|
||||||
plt.pause(2)
|
plt.pause(2)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user