Experiments#
In the Experiments tab, you can see all the runs of the project in one table.
Each time you track a run with neptune.init_run()
, it's added to the top of the table.
The leftmost column shows:
- Whether the run is visible in comparison mode ( )
- The identifier
- A status indicator, if the run is active
Configuring columns#
Apart from filtering, you can customize the table columns to display the fields you are interested in.
Adding columns to the table#
Click
Add column, then enter the field to add. The field path is the location of the piece of metadata in the run structure: run["field/path"]
.
Good to know
To be featured in the parallel coordinates view, the column must be added to the Experiments table.
Pinning columns#
Pinned columns keep the fields visible as you switch between different tabs. They're also automatically included as columns in legends.
- If you haven't already, add the field of interest (such as
sys/name
) with the Add column button. -
On the column, click the icon and select Pin column.
Alternatively, drag the column to the left of the separator line.
Tip
You can have one set of pinned columns in one custom view, and a different set in another view.
Sorting and customization#
Click the dots menu ( ) on a column to:
- Access sorting options
- Configure the column name, color, and numerical format
- Group by the column
- Pin the column
- Remove the column
Sorting by last edited#
Modification timestamps are stored automatically in the sys
namespace.
You can sort by the following:
sys/ping_time
– when the Neptune API interacted with the object. That is, something was logged or modified through the code.sys/modification_time
– when any kind of edit was made, such as editing the run metadata through the app. This can be setting a description or managing the tags.
Supported field types#
The table view supports simple field types and certain single values.
Out of a series of values, you can choose a particular value to display, such as the max loss.
Supported
Float
,Integer
,String
,Boolean
,datetime
StringSet
(tags)FloatSeries
average, variance, maximum, minimum, or last valueStringSeries
last entryArtifact
hashRunState
Not supported
Custom views#
Once you're happy with your experiments table configuration, you can save the view for later. It'll be visible to any member of your project.
The following is retained in the saved view:
- Column configuration
- Query filters
- Grouping
To save a custom view:
- In the Custom view dropdown above the search input box, click Save view as new.
- Give your new table view a name (you can change it later).
Now any project members can access the view and share it with a persistent link.
See custom view in Neptune 
Grouping runs (groupBy)#
To switch from List to Group mode, click .
By default, runs are grouped by group tag. You can group runs by any other value, such as batch size or learning rate.
For details, see Groups.
Searching and filtering runs#
You can query runs by any field except files. By default, the search targets the name field (sys/name
).
To switch to the query builder, click the Query button or use the keyboard shortcut: Ctrl+K
- To change parts of a filter, you can click on the operator or value to change them without altering the rest.
- To instantly filter by tag or owner, click on a value in the respective column.
Query syntax#
The syntax of a condition is:
<field>
exists
<field>
<operator>
<one or (if applicable) more values>
You can build a query out of multiple conditions, in which case all of the conditions are applied (joined by AND).
Data and field type | Operators | Value(s) | Example |
---|---|---|---|
Numerical (Float or Integer ) |
= , != , >= , > , <= , < , exists , not exists |
integer or float | f1 >= 0.95 |
Numerical series (FloatSeries ) aggregates: average, variance, last value, max, or min |
= , != , >= , > , <= , < |
integer or float | test/acc LAST < 0.6 |
Text (String ) |
= , != , contains , not contains , exists , not exists |
string | sys/name = blobfish-candytuft |
Text series (StringSeries ) last entry |
= , != , contains , not contains |
string | finetuning/monitoring/stderr contains SomeException |
Owner | one of , not one of |
user or service account name | sys/owner one of jackie, francis |
Tags (StringSet ) |
one of , not one of , all of |
one or more tags | sys/tags all of finetune, v2.0 |
Artifact |
= |
hash value | data/version/train = aae08a1jkdt45pl...b1b |
State (RunState ) |
one of , = |
active or inactive |
sys/state = active |
Model version stage (Stage ) |
one of , not one of |
none , archived , staging , production |
sys/stage one of staging, production |
datetime |
exists , not exists , before , after , last |
Value for Values for |
sys/creation_time last quarter |
Boolean |
= , != |
True or False |
sys/failed = True |
The query language doesn't support fields that involve files (File
, FileSet
, FileSeries
).
Example queries#
Models small enough to be used on mobile that have a decent accuracy
model_info/size_MB
<=
50test/acc | LAST
>
0.90
All of Jackie's runs from the current exploration task
sys/owner
=
jackiesys/tags
one of
exploration
run = neptune.init_run(
api_token="...", # (1)!
tags=["exploration", "pretrained"],
)
- The API token of jackie's account, passed to this argument or set to the
NEPTUNE_API_TOKEN
environment variable
All runs from the start of a particular month that failed during training
sys/creation_time
after
2023-11-01 00:00:00
sys/failed
=
True