sleap.nn.config.training_job#
Serializable configuration classes for specifying all training job parameters.
These configuration classes are intended to specify all the parameters required to run a training job or perform inference from a serialized one.
They are explicitly not intended to implement any of the underlying functionality that they parametrize. This serves two purposes:
- Parameter specification through simple attributes. These can be read/edited by a
human, as well as easily be serialized/deserialized to/from simple dictionaries and JSON.
- Decoupling from the implementation. This makes it easier to design functional
modules with attributes/parameters that contain objects that may not be easily serializable or may implement additional logic that relies on runtime information or other parameters.
In general, classes that implement the actual functionality related to these configuration classes should provide a classmethod for instantiation from the configuration class instances. This makes it easier to implement other logic not related to the high level parameters at creation time.
Conveniently, this format also provides a single location where all user-facing parameters are aggregated and documented for end users (as opposed to developers).
- class sleap.nn.config.training_job.TrainingJobConfig(data: DataConfig = NOTHING, model: ModelConfig = NOTHING, optimization: OptimizationConfig = NOTHING, outputs: OutputsConfig = NOTHING, name: str | None = '', description: str | None = '', sleap_version: str | None = '1.4.1a2', filename: str | None = '')[source]#
Configuration of a training job.
- data#
Configuration options related to the training data.
- model#
Configuration options related to the model architecture.
- optimization#
Configuration options related to the training.
- outputs#
Configuration options related to outputs during training.
- name#
Optional name for this configuration profile.
- Type:
str | None
- description#
Optional description of the configuration.
- Type:
str | None
- sleap_version#
Version of SLEAP that generated this configuration.
- Type:
str | None
- filename#
Path to this config file if it was loaded from disk.
- Type:
str | None
- classmethod from_json(json_data: str) TrainingJobConfig [source]#
Create training job configuration from JSON text data.
- Parameters:
json_data – JSON-formatted string that specifies the configurations.
- Returns:
A TrainingJobConfig instance parsed from the JSON text.
- classmethod from_json_dicts(json_data_dicts: Dict[str, Any]) TrainingJobConfig [source]#
Create training job configuration from dictionaries decoded from JSON.
- Parameters:
json_data_dicts – Dictionaries that specify the configurations. These are typically generated by structuring raw JSON formatted text.
- Returns:
A TrainingJobConfig instance parsed from the JSON dicts.
- classmethod load_json(filename: str, load_training_config: bool = True) TrainingJobConfig [source]#
Load a training job configuration from a file.
- Parameters:
filename – Path to a training job configuration JSON file or a directory containing
"training_job.json"
.load_training_config – If
True
(the default), prefertraining_job.json
overinitial_config.json
if it is present in the same folder.
- Returns:
A TrainingJobConfig instance parsed from the file.
- sleap.nn.config.training_job.load_config(filename: str, load_training_config: bool = True) TrainingJobConfig [source]#
Load a training job configuration for a model run.
- Parameters:
filename – Path to a JSON file or directory containing
training_job.json
.load_training_config – If
True
(the default), prefertraining_job.json
overinitial_config.json
if it is present in the same folder.
- Returns:
The parsed
TrainingJobConfig
.