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.
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