[PYTHON] Zeigen Sie Matplotlib-Diagramme auf Tensorboard an

Einführung

Ich wollte eine Möglichkeit, Maplotlib-Diagramme auf Tensorboard anzuzeigen, also habe ich darüber nachgedacht. Da Bilder auf Tensorboard angezeigt werden können, können Sie den Plot als Bild anzeigen. Ich dachte. Also werde ich die Methode zusammenfassen. Bitte beachten Sie, dass die Protokollausgabe über tensorboardX erfolgt.

Methode

Schalten Sie zuerst das Backend auf "Agg", um den Plot als Bild mit matplotlib zu erhalten. Beachten Sie, dass der Backend-Wechsel vor dem Importieren von matplotlib.pyplot erfolgen muss.

import matplotlib as mpl
mpl.use('Agg')

Die Bilddaten des Diagramms können durch das folgende Verfahren erhalten werden.

import matplot.pyplot as plt
import numpy as np

fig = plt.figure() #Bitte bei wiederholter Anzeige.figure(0)Es ist besser, die Zahl mit usw. anzugeben.

#Eine Art Verschwörung

fig.canvas.draw() #Zeichnen Sie auf Leinwand
plot_image = fig.canvas.renderer._renderer #Plot als Bilddaten abrufen
#tensorboardX ist wie der erste Kanal, also passen Sie ihn an
plot_image_array = np.array(plot_image).transpose(2, 0, 1)

Alles was Sie tun müssen, ist das Protokoll mit tensorboard X auszugeben.

from tensorboardX import SummaryWriter

summary_writer = SummaryWriter(logdir='hoge') #Initialisierung des Schriftstellers
summary_writer.add_image('plot', plot_image_array) #Bild hinzufügen

das ist alles.

Bitte lassen Sie mich wissen, ob es einen anderen guten Weg gibt.

Recommended Posts

Zeigen Sie Matplotlib-Diagramme auf Tensorboard an
Verwenden Sie matplotlib unter Ubuntu 12 und Python
Stellen Sie die Matplotlib-Schriftart in Ubuntu ein
PDF auf Jupyter Notebook anzeigen
matplotlib: Kommentar in Zeitachsendiagramm einfügen
Anweisungen zur Installation von matplotlib auf Ihrem Mac
Zeichne Japanisch mit matplotlib auf Ubuntu
Anzeigen der Festplattennutzung unter Linux
Wie man Matplotlib auf Heroku ausführt
Führen Sie Matplotlib auf einem Docker-Container aus
Fügen Sie die Matplotlib-Figur in Excel ein
Hinweise zur Verwendung von matplotlib auf dem Server