In [14]:
import matplotlib.pyplot as plt, numpy, seaborn
%matplotlib inline
In [10]:
batches = []
losses = []
with open('/Users/alger/data/Crowdastro/cnn_validation_output_0_12_05_17.csv') as f:
for row in f:
batch, loss = row.strip().split()
batch, loss = int(batch), float(loss)
batches.append(batch)
losses.append(loss)
In [11]:
plt.scatter(batches, losses, alpha=0.5)
plt.show()
In [37]:
epochs = []
std_losses = []
mean_losses = []
ebvs = []
for i, batch in enumerate(range(0, len(batches), 40)):
epochs.append(i)
epoch = batches[batch:batch + 40]
mean_loss = numpy.mean([losses[b] for b in epoch])
std_loss = numpy.std([losses[b] for b in epoch])
mean_losses.append(mean_loss)
std_losses.append(std_loss)
for j, b in enumerate(epoch):
ebvs.append((i, j, losses[b]))
In [66]:
import pandas
data = pandas.DataFrame(data=ebvs, columns=['Epoch', 'Batch', 'Value'])
seaborn.tsplot(data, time='Epoch', unit='Batch', value='Value')
Out[66]:
In [63]:
data[data['Epoch'] > 400]
Out[63]:
In [ ]: