Использование записной книжки% matplotlib или записной книжки% matplotlib не работает при запуске файла py в colab - PullRequest
0 голосов
/ 11 июля 2020

У меня есть файл с именем utils.py. В этом файле у меня есть функция с именем plot_results, определенная ниже:

def plot_results(results, epochs):
    """
    The function to show results on each epoch.

    Parameters:
        results (keras.history): History of each epoch. It comes directly from keras.
        epochs (int): The number of epochs.
    """
    _, (ax1, ax2) = plt.subplots(1, 2)

    ax1.set_xlabel("Epochs")
    ax1.set_ylabel("Losses")
    ax1.plot(
        range(1, epochs+1),
        results.history['val_loss'],
        label="Validation loss",
        marker='o')
    ax1.plot(
        range(1, epochs+1),
        results.history['loss'],
        label="loss",
        marker='o')
    ax1.legend()

    ax2.set_xlabel("Epochs")
    ax2.set_ylabel("Accuracies")
    ax2.plot(
        range(1, epochs+1),
        [accuracy * 100 for accuracy in results.history['accuracy']],
        label="Accuracy",
        marker='o')
    ax2.plot(
        range(1, epochs+1),
        [accuracy * 100 for accuracy in results.history['val_accuracy']],
        label="validation accuracy",
        marker='o')
    ax2.legend()

    plt.show()

У меня также есть файл с именем main.py, который в этом файле я называю plot_results. Когда я запускаю main.py на локальной машине, я получаю правильно визуализированный график.

Но когда я запускаю его в ячейке google colab как:

! python main.py --ne 1

, я просто получаю <Figure size 640x480 with 2 Axes> в соответствии с на этот пост Пробовал:

%matplotlib inline
! python main.py --ne 1

И:

%matplotlib notebook
! python main.py --ne 1

И:

%matplotlib inline
%matplotlib notebook
! python main.py --ne 1

Но ни один из них не работает. Как мне показать график в этой функции?

1 Ответ

1 голос
/ 11 июля 2020

Попробуйте это

%run main.py

Это будет работать как строка за строкой.

...