| import matplotlib.pyplot as plt
|
| import numpy as np
|
| import os
|
|
|
| def load_data(filename):
|
| pts = []
|
| f = open(filename, "rb")
|
| for line in f:
|
| pts.append(float(line.strip()))
|
| f.close()
|
| return pts
|
|
|
| dataset = 'spinal'
|
| weights_path = 'weights_'+dataset
|
|
|
|
|
|
|
| train_pts = load_data(os.path.join(weights_path, 'train_loss.txt'))
|
| val_pts = load_data(os.path.join(weights_path, 'val_loss.txt'))
|
|
|
| def draw_loss():
|
| x = np.linspace(0, len(train_pts), len(train_pts))
|
| plt.plot(x,train_pts,'ro-',label='train')
|
| plt.plot(x,val_pts,'bo-',label='val')
|
|
|
| plt.legend(loc='upper right')
|
|
|
| plt.xlabel('Epochs')
|
| plt.ylabel('Loss')
|
|
|
| plt.show()
|
|
|
|
|
| def draw_loss_ap():
|
| ap05_pts = load_data(os.path.join(weights_path, 'ap_05_list.txt'))
|
| ap07_pts = load_data(os.path.join(weights_path, 'ap_07_list.txt'))
|
|
|
| x = np.linspace(0,len(train_pts),len(train_pts))
|
| x1 = np.linspace(0, len(train_pts), len(ap05_pts))
|
|
|
| fig, ax1 = plt.subplots()
|
|
|
| color = 'tab:red'
|
| ax1.set_xlabel('Epochs')
|
| ax1.set_ylabel('Loss', color=color)
|
| ax1.plot(x, train_pts, 'ro-',label='train')
|
| ax1.plot(x, val_pts, 'bo-',label='val')
|
| ax1.tick_params(axis='y', labelcolor=color)
|
| plt.legend(loc = 'lower right')
|
| ax2 = ax1.twinx()
|
| color = 'tab:blue'
|
| ax2.set_ylabel('AP', color=color)
|
| ax2.plot(x1, ap05_pts, 'go-',label='AP@05')
|
| ax2.plot(x1, ap07_pts, 'yo-', label='AP@07')
|
| ax2.tick_params(axis='y', labelcolor=color)
|
|
|
| fig.tight_layout()
|
| plt.legend(loc = 'upper right')
|
| plt.show()
|
|
|
|
|
| if __name__ == '__main__':
|
| draw_loss()
|
| |