System ('sys') namespace

Identifier ('sys/id', String)

Each run has a unique string identifier within your workspace composed of a project key and a high water counter. For example, 3rd run in project Sandbox with a project key 'SAND' will have an identifier 'SAND-3'. You can access the id of your run programmatically:

import neptune.new as neptune
run = neptune.init(project='my_workspace/sandbox')
run_id = run['sys/id'].fetch()

The runs identifier can be later used if want to resume this run or connect to it from multiple processes.

Name ('sys/name', String)

Runs editable name. Can be set either during initialization through the name parameter of .init() or later updated directly from the code:

import neptune.new as neptune
run = neptune.init(project='my_workspace/sandbox')
run['sys/name'] = 'Testing new approach'

Runs name does not need to be unique and capture the essence of the run in a one-sentence summary.

Description ('sys/description', String)

Runs editable description. Can be set either during initialization through the name parameter of .init() or later updated directly from the code:

import neptune.new as neptune
run = neptune.init(project='my_workspace/sandbox')
run['sys/description'] = 'Detailed description of the run'

You can also edit the description through Neptune UI. From run details view or directly in runs table, if the description is added as a column. Description could be useful as a longer description of the run or as free-form notes thanks to its editability from multiple places.

Running time ('sys/running_time', Float)

Total running time of the run in seconds. This number will take into accounts all resumes of the run etc.

Owner ('sys/owner', String)

Name of the user that created the run. Neptune's username of the user is used.

Creation time ('sys/creation_time', Datetime)

The creation date of the run. The date includes time and information about the time zone.

Modification time ('sys/modification_time', Datetime)

The date of the last modification of the run. The date includes time and information about the time zone.

Tags ('sys/tags', StringSet)

The tags assigned to the run. You can assign the tag during initialization through the tags parameter of .init(), update them directly from the code, as well as add or remove them through Neptune UI.

Status ( 'sys/state', RunState)

The run can be in two states - Inactive or Active. Active means that at least one process is connected to the run. This may be a process logging training metrics or monitoring performance or this may be a process that's fetching metadata to perform further analysis. Once there has been no activity in the last 20 seconds (typically after the script ended or you invoked .stop()) the run automatically transitions to an Inactive state.

As any run can be paused and resumed multiple times Neptune does not know when it is a success. An Inactive state can mean that the run did not start, the training/monitoring was paused or it did in fact finish training with a success. If you want to more efficiently filter you runs you can set a custom status for each run e.g. run['info/state'] = 'Success' or run['info/state'] = 'Queued' so that it matches your workflow.

Failed ('sys/failed', Boolean)

The Failed field represents whether the run failed. You can set it manually to mark a run as failed (or reset it to False in case of resuming a failed run).

In addition, Neptune monitors your run and if there is a crash it will automatically set Failed status to True. You can override this behavior by setting fail_on_exception parameter in .init() as False. In both cases, the traceback is captured and appended to 'monitoring/traceback'. If you provided a custom monitoring namespace in .init() the path will be 'monitoring_namespace/traceback'.

If you performed a Remote Abort the Failed status will also be set to True.