Attribute types reference
An attribute is the location of a piece of metadata in a Neptune run object.
In Neptune 2.x
, 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 experiments 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 | Experiments table, 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.
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.
Example
with Run(...) as run:
run.log_configs(
{"params/optimizer": "Adam"}
)
Due to a technical limitation, only 1000 characters are indexed in String attributes. This means that when searching the experiments table, only the first 1000 characters are considered.
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.
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)