Log a custom 3d projection image to Tensorboard?

28 Views Asked by At

I have a custom dataset and I would like to log the plots to tensorboard.

The dataset is the following:

import numpy as np
from scipy.stats import multivariate_normal

num_dim = 2
num_discrete_values = 8
coords = np.linspace(-2, 2, num_discrete_values)

rv = multivariate_normal(mean=[0.0, 0.0], cov=[[1, 0], [0, 1]], seed=42)
grid_elements = np.transpose([np.tile(coords, len(coords)), np.repeat(coords, len(coords))])
prob_data = rv.pdf(grid_elements)
prob_data = prob_data / np.sum(prob_data)

And i can visualise this dataset using the following:

import matplotlib.pyplot as plt
from matplotlib import cm

mesh_x, mesh_y = np.meshgrid(coords, coords)
grid_shape = (num_discrete_values, num_discrete_values)

fig, ax = plt.subplots(figsize=(9, 9), subplot_kw={"projection": "3d"})
prob_grid = np.reshape(prob_data, grid_shape)
surf = ax.plot_surface(mesh_x, mesh_y, prob_grid, cmap=cm.coolwarm, linewidth=0, antialiased=False)
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()

For my use case i would like to use the tensorboard logger to store this image. However, tensorboard cannot log 3d projections as this is currently constructed. Does anyone have any idea on how to transform this into something compatible with the tensorboard logger?

0

There are 0 best solutions below