[PYTHON] Afficher les tracés matplotlib sur Tensorboard

introduction

Je voulais un moyen d'afficher les graphiques maplotlib sur Tensorboard, alors j'y ai réfléchi. Puisque les images peuvent être affichées sur Tensorboard, pourquoi ne pas afficher le tracé sous forme d'image? J'ai pensé. Alors, je vais résumer la méthode. Veuillez noter que la sortie du journal se fait via tensorboardX.

Méthode

Commencez par basculer le backend sur ʻAgg pour obtenir le tracé sous forme d'image avec matplotlib. Notez que le changement de backend doit être effectué avant ʻimport matplotlib.pyplot.

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

Les données d'image du tracé peuvent être obtenues par la méthode suivante.

import matplot.pyplot as plt
import numpy as np

fig = plt.figure() #Plt lors de l'affichage répété.figure(0)Il est préférable de spécifier le chiffre avec etc.

#Une sorte d'intrigue

fig.canvas.draw() #Dessiner sur toile
plot_image = fig.canvas.renderer._renderer #Obtenir le tracé sous forme de données d'image
#tensorboardX est comme le canal d'abord, alors faites-le correspondre
plot_image_array = np.array(plot_image).transpose(2, 0, 1)

Tout ce que vous avez à faire est de sortir le journal avec tensorboard X.

from tensorboardX import SummaryWriter

summary_writer = SummaryWriter(logdir='hoge') #Initialisation de l'écrivain
summary_writer.add_image('plot', plot_image_array) #Ajouter une image

c'est tout.

S'il vous plaît laissez-moi savoir s'il existe un autre bon moyen.

Recommended Posts

Afficher les tracés matplotlib sur Tensorboard
Utilisez matplotlib sur Ubuntu 12 et Python
Définir la police matplotlib dans ubuntu
Afficher le PDF sur Jupyter Notebook
matplotlib: insérer un commentaire dans le graphique de l'axe des temps
Instructions pour installer matplotlib sur votre Mac
Dessinez le japonais avec matplotlib sur Ubuntu
Afficher l'utilisation du disque sur Linux personnel
Comment exécuter matplotlib sur heroku
Exécutez Matplotlib sur un conteneur Docker
Collez la figure matplotlib sur Excel
Remarques sur l'utilisation de matplotlib sur le serveur