In [48]:
import matplotlib.pyplot as plt
%matplotlib inline
import re
import numpy as np
LOG_PATH = '/tmp/my_caffe_log.txt'
In [2]:
with open(LOG_PATH, 'r') as f:
lines = ''.join(f.readlines())
In [21]:
iter_n = [int(n) for n in re.findall(r'Iteration (\d+)', lines)]
mode = re.findall(r' (\w+) net', lines)
loss = [float(n) for n in re.findall(r' (\d+\.\d+) \(', lines)]
In [55]:
parsed = zip(iter_n, loss, mode)
train = np.array([(ii, l) for (ii, l, m) in parsed if m == 'Train']).T
test = np.array([(ii, l) for (ii, l, m) in parsed if m == 'Test']).T
In [62]:
def plot_loss(f=LOG_PATH):
with open(LOG_PATH, 'r') as f:
lines = ''.join(f.readlines())
iter_n = [int(n) for n in re.findall(r'Iteration (\d+)', lines)]
mode = re.findall(r' (\w+) net', lines)
loss = [float(n) for n in re.findall(r' (\d+\.\d+) \(', lines)]
parsed = zip(iter_n, loss, mode)
train = np.array([(ii, l) for (ii, l, m) in parsed if m == 'Train']).T
test = np.array([(ii, l) for (ii, l, m) in parsed if m == 'Test']).T
plt.plot(*train, marker='x')
plt.plot(*test, marker='o')
In [63]:
plot_loss()