Draw
In [ ]:
Copied!
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
In [ ]:
Copied!
def draw1(history):
# 损失函数与epochs变化情况 在训练集和验证集上
history1 = history
epochs = [entry.get('epoch', 0) for entry in history1]
train_losses = [entry.get('loss', None) if 'loss' in entry else None for entry in history1]
eval_losses = [entry.get('eval_loss', None) if 'eval_loss' in entry else None for entry in history1]
data = [(epoch, train_loss, eval_loss) for epoch, train_loss, eval_loss in zip(epochs, train_losses, eval_losses) if train_loss is not None or eval_loss is not None]
epochs, train_losses, eval_losses = zip(*data) if data else ([], [], [])
# 创建折线图
plt.plot(epochs, train_losses, marker='o', label='Train', color='blue')
plt.plot(epochs, eval_losses, marker='X', label='Eval', color='red')
plt.title('Loss Change')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.grid(True)
plt.legend()
plt.show()
def draw1(history):
# 损失函数与epochs变化情况 在训练集和验证集上
history1 = history
epochs = [entry.get('epoch', 0) for entry in history1]
train_losses = [entry.get('loss', None) if 'loss' in entry else None for entry in history1]
eval_losses = [entry.get('eval_loss', None) if 'eval_loss' in entry else None for entry in history1]
data = [(epoch, train_loss, eval_loss) for epoch, train_loss, eval_loss in zip(epochs, train_losses, eval_losses) if train_loss is not None or eval_loss is not None]
epochs, train_losses, eval_losses = zip(*data) if data else ([], [], [])
# 创建折线图
plt.plot(epochs, train_losses, marker='o', label='Train', color='blue')
plt.plot(epochs, eval_losses, marker='X', label='Eval', color='red')
plt.title('Loss Change')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.grid(True)
plt.legend()
plt.show()
In [ ]:
Copied!
def draw2(results):
epochs = range(0,len(results))
rouge2r_scores = [entry["rouge2r"] for entry in results]
bleu4_scores = [entry["bleu4"] for entry in results]
plt.plot(epochs, rouge2r_scores, marker='o', label='ROUGE-2 Recall', color='blue')
plt.plot(epochs, bleu4_scores, marker='o', label='BLEU-4', color='red')
plt.title('Metrics Change over Epochs')
plt.xlabel('Epoch')
plt.ylabel('Scores')
plt.grid(True)
plt.legend()
plt.show()
def draw2(results):
epochs = range(0,len(results))
rouge2r_scores = [entry["rouge2r"] for entry in results]
bleu4_scores = [entry["bleu4"] for entry in results]
plt.plot(epochs, rouge2r_scores, marker='o', label='ROUGE-2 Recall', color='blue')
plt.plot(epochs, bleu4_scores, marker='o', label='BLEU-4', color='red')
plt.title('Metrics Change over Epochs')
plt.xlabel('Epoch')
plt.ylabel('Scores')
plt.grid(True)
plt.legend()
plt.show()