Log arrays and tensors#
Multi-dimensional arrays or tensors (logged with, for example, PyTorch or TensorFlow) can be displayed as images in Neptune.
Logging NumPy arrays#
You can log 2D or 3D NumPy arrays directly from memory.
To visualize the array as an image, use the upload()
method together with File.as_image()
:
import numpy as np
import neptune
from neptune.types import File
run = neptune.init_run()
im_array = np.random.rand(100, 100, 3) * 255
run["np_image"].upload(File.as_image(im_array))
To log a series of NumPy arrays, use append()
instead:
Logging tensors#
You can log 2D or 3D tensors directly from memory.
To visualize the tensor as an image, use the upload()
method together with File.as_image()
:
TensorFlow#
import tensorflow as tf
from neptune.types import File
tf_tensor = tensorflow.random.uniform(shape=[10, 20, 3])
run["tf_image"].upload(File.as_image(tf_tensor))
You can also log a series of TensorFlow tensors:
from neptune.types import File
for epoch in range(data):
tf_tensor = ...
run["train/distribution"].append(File.as_image(tf_tensor))
PyTorch#
import torch
from neptune.types import File
torch_tensor = torch.rand(30, 30)
run["torch_tensor"].upload(File.as_image(torch_tensor))
You can also log a series of PyTorch tensors:
from neptune.types import File
for epoch in range(data):
torch_tensor = ...
run["train/distribution"].append(File.as_image(torch_tensor))
Logging 1D arrays#
If your data is a 1D array (such as audio data, waveform, or time series) you can log it as a FloatSeries
.
Use the extend()
method to log the values:
Or use the append()
method to add values one by one:
You can then display the values of series field (in this case, "array"
) as a chart in Neptune.