示例代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
def results_plot(path):
df = pd.read_csv('./test.csv')
name_cols = df.columns
for i in range(len(name_cols)-1):
plt.plot(df[name_cols[0]], df[name_cols[i+1]], label=name_cols[i+1], marker='o')
ymin = np.min([df[name].min() for name in name_cols[1:]])
ymax = np.max([df[name].max() for name in name_cols[1:]])
plt.ylim([ymin, ymax])
plt.xlabel(name_cols[0])
plt.legend()
plt.show()
if __name__ == '__main__':
save_path = './test.csv'
# 训练过程的增量记录
for epoch in range(50):
data = {'epoch': epoch, 'train loss': 1/(0.1*epoch+1), 'validation loss': 1/(0.08*epoch+1)}
df = pd.DataFrame(data, index=[epoch])
if epoch == 0:
df.to_csv(save_path, index=False)
else:
df.to_csv(save_path, mode='a', header=False, index=False)
# 训练结束后,输出曲线
results_plot(save_path)
输出的图像