File size: 1,087 Bytes
339e7f7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import matplotlib.pyplot as plt

def visualize_result(results, model_name, save_path=None):
    """
    results: A dictionary containing the following keys:
        - train_losses: A list of training losses
        - train_accs: A list of training accuracies
        - val_losses: A list of validation losses
        - val_accs: A list of validation accuracies
    model_name: The name of the model (string)
    save_path: If not None, save the plot to this path
    """
    fig, axs = plt.subplots(2, 1, figsize=(10, 10))
    axs[0].plot(results['train_losses'], label='Train')
    axs[0].plot(results['val_losses'], label='Validation')
    axs[0].set_title(f'Loss over epochs for {model_name}')
    axs[0].set_xlabel('Epoch')
    axs[0].set_ylabel('Loss')
    axs[0].legend()

    axs[1].plot(results['train_accs'], label='Train')
    axs[1].plot(results['val_accs'], label='Validation')
    axs[1].set_title(f'Accuracy over epochs for {model_name}')
    axs[1].set_xlabel('Epoch')
    axs[1].set_ylabel('Accuracy')
    axs[1].legend()

    if save_path:
        fig.savefig(save_path)