Attribute types reference
An attribute is the location of a piece of metadata in a Neptune run object.
In Neptune Legacy, attributes are called fields.
The metadata type and logging method together determine the resulting attribute type. The type determines the operations available for the attribute.
Metadata type | Example | Logging method | Resulting attribute type |
---|---|---|---|
Single value | Parameters, final scores, text, time | log_configs() | Float , Integer , Boolean , String , or Datetime |
Series | Metrics, loss, accuracy | log_metrics() | FloatSeries |
Tags | Text tags to annotate runs or assign them to groups | add_tags() | StringSet |
Simple types
Simple attribute types can represent model configurations, scores, or other single values. The following types are available:
To assign single values to a Neptune run, use the log_configs()
method. To learn more, see Log parameters and model configuration.
You can display simple attribute:
- as columns in the runs table
- in Single value widgets
Series
A series attribute collects a sequence of values into a single attribute. You create a series with the log_metrics()
function. Values are added to a series attribute iteratively: each call adds a new value to the sequence.
The following Series
types are supported:
Attribute type | How to display |
---|---|
FloatSeries | All runs tab, Charts tab, or Chart widget |
To learn more, see Log metrics.
Boolean
Attribute type representing a Boolean value.
Example
with Run(...) as run:
run.log_configs(
{"params/use_preprocessing": True}
)
Datetime
Attribute type representing a datetime value.
Example
from datetime import datetime
with Run(...) as run:
run.log_configs(
{"train/end": datetime.now()}
)
from datetime import datetime
with Run(...) as run:
run.log_configs(
{"dataset/creation_date": datetime.fromisoformat("1998-11-01")}
)
Float
Attribute type representing a floating point value.
Neptune supports 64-bit floating-point numbers, which have a precision of 16 digits.
Example
run = Run()
run.log_configs(
{"params/learning_rate": 0.001}
)
FloatSeries
Attribute containing a series of float values, for example:
- Training metrics
- Change of performance of the model in production
You can index the series by step or by time.
Example
run = Run()
for step in epoch:
# your training loop
run.log_metrics(
data={"loss": 0.14},
step=step,
)
To learn more, see Log metrics.
Integer
Attribute type representing an integer.
Example
with Run(...) as run:
run.log_configs(
{"params/max_epochs": 100}
)
String
Attribute type representing a string.
The maximum size of the string value is 1 MiB.
Example
with Run(...) as run:
run.log_configs(
{"params/optimizer": "Adam"}
)
To add a text note that's easy to display and edit, use the dedicated description attribute.
StringSet
An attribute containing an unorganized set of strings.
The supported StringSet attributes are sys/tags
and sys/group_tags
. You can't create custom StringSet attribute paths.
The maximum total size of the string set is 1 MiB.
Examples
Adding tags creates a StringSet at the path sys/tags
:
with Run(...) as run:
run.add_tags(["spaces are ok", "v1.2.3"])
Adding group tags creates a StringSet at the path sys/group_tags
:
with Run(...) as run:
run.add_tags(tags=["albino", "parent"], group_tags=True)