vessl.log
Use vessl.log in a training or testing loop to log a dictionary of metrics. Provide the step parameter for the loop unit – like the epoch value – and any metrics you want to log as a dictionary in the row parameter.
You can also log images or audio types of objects. Provide a list of vessl.Image objects or vessl.Audio with data and captions as the payload parameter with any dictionary key. Note that only the first key will be logged.
Parameter
Description
step
Unit size of the loop
payload
Dictionary of metrics or a list of vessl.Image objects or vessl.Audio objects

Logging metrics

# Logging loss values for each epoch in PyTorch
​
import vessl
​
for epoch in range(epochs):
...
vessl.log(step=epoch, payload={'loss': loss.item})

Logging image objects

# Logging images in PyTorch
​
import vessl
​
def test(model, test_loader, ...):
...
test_images = []
with torch.no_grad():
for data, target in test_loader:
...
output = model(data)
...
test_images.append(
vessl.Image(
data[0],
caption=f'Pred: {output[0].item()} Truth: {target[0]}'
)
)
...
vessl.log(payload={"test-images": test_images})

Logging audio objects

# Logging audio
​
import vessl
import soundfile as sf
​
audio_path = "sample.wav"
data, sample_rate = sf.read(audio_path)
​
# Log audio with data
vessl.log(
payload={
"test-audio": [
vessl.Audio(data, sample_rate=sample_rate, caption="audio with data example")
]
}
)