expconf

package
v0.0.0-...-3511abf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TaskNameGeneratorWords = 3
	TaskNameGeneratorSep   = "-"
)

Configuration constants for task name generator.

View Source
const (
	CPUImage  = "determinedai/environments:py-3.8-pytorch-1.12-tf-2.11-cpu-2b7e2a1"
	CUDAImage = "determinedai/environments:cuda-11.3-pytorch-1.12-tf-2.11-gpu-2b7e2a1"
	ROCMImage = "determinedai/environments:rocm-5.0-pytorch-1.10-tf-2.7-rocm-2b7e2a1"
)

Default task environment docker image names.

View Source
const (
	// AggressiveMode quickly stops underperforming trials, which enables the searcher to explore
	// more hyperparameter configurations.
	AggressiveMode = "aggressive"
	// StandardMode provides a balance between downsampling and hyperparameter exploration.
	StandardMode = "standard"
	// ConservativeMode performs minimal downsampling at the cost of not exploring as many
	// configurations.
	ConservativeMode = "conservative"
)
View Source
const (
	// DefaultSharedFSContainerPath is the base storage path inside containers for SharedFS storage.
	DefaultSharedFSContainerPath = "/determined_shared_fs"
	// DefaultSharedFSPropagation is the propagation setting for SharedFS storage.
	DefaultSharedFSPropagation = "rprivate"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AdaptiveASHAConfig

type AdaptiveASHAConfig = AdaptiveASHAConfigV0

type AdaptiveASHAConfigV0

type AdaptiveASHAConfigV0 struct {
	RawMaxLength           *LengthV0     `json:"max_length"`
	RawMaxTrials           *int          `json:"max_trials"`
	RawBracketRungs        []int         `json:"bracket_rungs"`
	RawDivisor             *float64      `json:"divisor"`
	RawMode                *AdaptiveMode `json:"mode"`
	RawMaxRungs            *int          `json:"max_rungs"`
	RawMaxConcurrentTrials *int          `json:"max_concurrent_trials"`
	RawStopOnce            *bool         `json:"stop_once"`
}

AdaptiveASHAConfigV0 configures an adaptive searcher for use with ASHA.

func (AdaptiveASHAConfigV0) BracketRungs

func (a AdaptiveASHAConfigV0) BracketRungs() []int

func (AdaptiveASHAConfigV0) CompletenessValidator

func (a AdaptiveASHAConfigV0) CompletenessValidator() *jsonschema.Schema

func (AdaptiveASHAConfigV0) Divisor

func (a AdaptiveASHAConfigV0) Divisor() float64

func (AdaptiveASHAConfigV0) MaxConcurrentTrials

func (a AdaptiveASHAConfigV0) MaxConcurrentTrials() int

func (AdaptiveASHAConfigV0) MaxLength

func (a AdaptiveASHAConfigV0) MaxLength() LengthV0

func (AdaptiveASHAConfigV0) MaxRungs

func (a AdaptiveASHAConfigV0) MaxRungs() int

func (AdaptiveASHAConfigV0) MaxTrials

func (a AdaptiveASHAConfigV0) MaxTrials() int

func (AdaptiveASHAConfigV0) Mode

func (AdaptiveASHAConfigV0) ParsedSchema

func (a AdaptiveASHAConfigV0) ParsedSchema() interface{}

func (AdaptiveASHAConfigV0) SanityValidator

func (a AdaptiveASHAConfigV0) SanityValidator() *jsonschema.Schema

func (*AdaptiveASHAConfigV0) SetBracketRungs

func (a *AdaptiveASHAConfigV0) SetBracketRungs(val []int)

func (*AdaptiveASHAConfigV0) SetDivisor

func (a *AdaptiveASHAConfigV0) SetDivisor(val float64)

func (*AdaptiveASHAConfigV0) SetMaxConcurrentTrials

func (a *AdaptiveASHAConfigV0) SetMaxConcurrentTrials(val int)

func (*AdaptiveASHAConfigV0) SetMaxLength

func (a *AdaptiveASHAConfigV0) SetMaxLength(val LengthV0)

func (*AdaptiveASHAConfigV0) SetMaxRungs

func (a *AdaptiveASHAConfigV0) SetMaxRungs(val int)

func (*AdaptiveASHAConfigV0) SetMaxTrials

func (a *AdaptiveASHAConfigV0) SetMaxTrials(val int)

func (*AdaptiveASHAConfigV0) SetMode

func (a *AdaptiveASHAConfigV0) SetMode(val AdaptiveMode)

func (*AdaptiveASHAConfigV0) SetStopOnce

func (a *AdaptiveASHAConfigV0) SetStopOnce(val bool)

func (AdaptiveASHAConfigV0) StopOnce

func (a AdaptiveASHAConfigV0) StopOnce() bool

func (AdaptiveASHAConfigV0) Unit

func (a AdaptiveASHAConfigV0) Unit() Unit

Unit implements the model.InUnits interface.

type AdaptiveConfig

type AdaptiveConfig = AdaptiveConfigV0

These are EOL searchers, not to be used in new experiments.

type AdaptiveConfigV0

type AdaptiveConfigV0 struct {
	RawMaxLength       *LengthV0     `json:"max_length"`
	RawBudget          *LengthV0     `json:"budget"`
	RawBracketRungs    []int         `json:"bracket_rungs"`
	RawDivisor         *float64      `json:"divisor"`
	RawTrainStragglers *bool         `json:"train_stragglers"`
	RawMode            *AdaptiveMode `json:"mode"`
	RawMaxRungs        *int          `json:"max_rungs"`
}

AdaptiveConfigV0 is a legacy config.

func (AdaptiveConfigV0) BracketRungs

func (a AdaptiveConfigV0) BracketRungs() []int

func (AdaptiveConfigV0) Budget

func (a AdaptiveConfigV0) Budget() LengthV0

func (AdaptiveConfigV0) CompletenessValidator

func (a AdaptiveConfigV0) CompletenessValidator() *jsonschema.Schema

func (AdaptiveConfigV0) Divisor

func (a AdaptiveConfigV0) Divisor() float64

func (AdaptiveConfigV0) MaxLength

func (a AdaptiveConfigV0) MaxLength() LengthV0

func (AdaptiveConfigV0) MaxRungs

func (a AdaptiveConfigV0) MaxRungs() int

func (AdaptiveConfigV0) Mode

func (a AdaptiveConfigV0) Mode() AdaptiveMode

func (AdaptiveConfigV0) ParsedSchema

func (a AdaptiveConfigV0) ParsedSchema() interface{}

func (AdaptiveConfigV0) SanityValidator

func (a AdaptiveConfigV0) SanityValidator() *jsonschema.Schema

func (*AdaptiveConfigV0) SetBracketRungs

func (a *AdaptiveConfigV0) SetBracketRungs(val []int)

func (*AdaptiveConfigV0) SetBudget

func (a *AdaptiveConfigV0) SetBudget(val LengthV0)

func (*AdaptiveConfigV0) SetDivisor

func (a *AdaptiveConfigV0) SetDivisor(val float64)

func (*AdaptiveConfigV0) SetMaxLength

func (a *AdaptiveConfigV0) SetMaxLength(val LengthV0)

func (*AdaptiveConfigV0) SetMaxRungs

func (a *AdaptiveConfigV0) SetMaxRungs(val int)

func (*AdaptiveConfigV0) SetMode

func (a *AdaptiveConfigV0) SetMode(val AdaptiveMode)

func (*AdaptiveConfigV0) SetTrainStragglers

func (a *AdaptiveConfigV0) SetTrainStragglers(val bool)

func (AdaptiveConfigV0) TrainStragglers

func (a AdaptiveConfigV0) TrainStragglers() bool

type AdaptiveMode

type AdaptiveMode string

AdaptiveMode specifies how aggressively to perform early stopping.

func AdaptiveModePtr

func AdaptiveModePtr(mode string) *AdaptiveMode

AdaptiveModePtr is like &AdaptiveMode("standard"), except it works.

type AdaptiveSimpleConfig

type AdaptiveSimpleConfig = AdaptiveSimpleConfigV0

type AdaptiveSimpleConfigV0

type AdaptiveSimpleConfigV0 struct {
	RawMaxLength *LengthV0     `json:"max_length"`
	RawMaxTrials *int          `json:"max_trials"`
	RawDivisor   *float64      `json:"divisor"`
	RawMode      *AdaptiveMode `json:"mode"`
	RawMaxRungs  *int          `json:"max_rungs"`
}

AdaptiveSimpleConfigV0 is a legacy config.

func (AdaptiveSimpleConfigV0) CompletenessValidator

func (a AdaptiveSimpleConfigV0) CompletenessValidator() *jsonschema.Schema

func (AdaptiveSimpleConfigV0) Divisor

func (a AdaptiveSimpleConfigV0) Divisor() float64

func (AdaptiveSimpleConfigV0) MaxLength

func (a AdaptiveSimpleConfigV0) MaxLength() LengthV0

func (AdaptiveSimpleConfigV0) MaxRungs

func (a AdaptiveSimpleConfigV0) MaxRungs() int

func (AdaptiveSimpleConfigV0) MaxTrials

func (a AdaptiveSimpleConfigV0) MaxTrials() int

func (AdaptiveSimpleConfigV0) Mode

func (AdaptiveSimpleConfigV0) ParsedSchema

func (a AdaptiveSimpleConfigV0) ParsedSchema() interface{}

func (AdaptiveSimpleConfigV0) SanityValidator

func (a AdaptiveSimpleConfigV0) SanityValidator() *jsonschema.Schema

func (*AdaptiveSimpleConfigV0) SetDivisor

func (a *AdaptiveSimpleConfigV0) SetDivisor(val float64)

func (*AdaptiveSimpleConfigV0) SetMaxLength

func (a *AdaptiveSimpleConfigV0) SetMaxLength(val LengthV0)

func (*AdaptiveSimpleConfigV0) SetMaxRungs

func (a *AdaptiveSimpleConfigV0) SetMaxRungs(val int)

func (*AdaptiveSimpleConfigV0) SetMaxTrials

func (a *AdaptiveSimpleConfigV0) SetMaxTrials(val int)

func (*AdaptiveSimpleConfigV0) SetMode

func (a *AdaptiveSimpleConfigV0) SetMode(val AdaptiveMode)

type AsyncHalvingConfig

type AsyncHalvingConfig = AsyncHalvingConfigV0

type AsyncHalvingConfigV0

type AsyncHalvingConfigV0 struct {
	RawNumRungs            *int      `json:"num_rungs"`
	RawMaxLength           *LengthV0 `json:"max_length"`
	RawMaxTrials           *int      `json:"max_trials"`
	RawDivisor             *float64  `json:"divisor"`
	RawMaxConcurrentTrials *int      `json:"max_concurrent_trials"`
	RawStopOnce            *bool     `json:"stop_once"`
}

AsyncHalvingConfigV0 configures asynchronous successive halving.

func (AsyncHalvingConfigV0) CompletenessValidator

func (a AsyncHalvingConfigV0) CompletenessValidator() *jsonschema.Schema

func (AsyncHalvingConfigV0) Divisor

func (a AsyncHalvingConfigV0) Divisor() float64

func (AsyncHalvingConfigV0) MaxConcurrentTrials

func (a AsyncHalvingConfigV0) MaxConcurrentTrials() int

func (AsyncHalvingConfigV0) MaxLength

func (a AsyncHalvingConfigV0) MaxLength() LengthV0

func (AsyncHalvingConfigV0) MaxTrials

func (a AsyncHalvingConfigV0) MaxTrials() int

func (AsyncHalvingConfigV0) NumRungs

func (a AsyncHalvingConfigV0) NumRungs() int

func (AsyncHalvingConfigV0) ParsedSchema

func (a AsyncHalvingConfigV0) ParsedSchema() interface{}

func (AsyncHalvingConfigV0) SanityValidator

func (a AsyncHalvingConfigV0) SanityValidator() *jsonschema.Schema

func (*AsyncHalvingConfigV0) SetDivisor

func (a *AsyncHalvingConfigV0) SetDivisor(val float64)

func (*AsyncHalvingConfigV0) SetMaxConcurrentTrials

func (a *AsyncHalvingConfigV0) SetMaxConcurrentTrials(val int)

func (*AsyncHalvingConfigV0) SetMaxLength

func (a *AsyncHalvingConfigV0) SetMaxLength(val LengthV0)

func (*AsyncHalvingConfigV0) SetMaxTrials

func (a *AsyncHalvingConfigV0) SetMaxTrials(val int)

func (*AsyncHalvingConfigV0) SetNumRungs

func (a *AsyncHalvingConfigV0) SetNumRungs(val int)

func (*AsyncHalvingConfigV0) SetStopOnce

func (a *AsyncHalvingConfigV0) SetStopOnce(val bool)

func (AsyncHalvingConfigV0) StopOnce

func (a AsyncHalvingConfigV0) StopOnce() bool

func (AsyncHalvingConfigV0) Unit

func (a AsyncHalvingConfigV0) Unit() Unit

Unit implements the model.InUnits interface.

type AzureConfig

type AzureConfig = AzureConfigV0

type AzureConfigV0

type AzureConfigV0 struct {
	RawContainer        *string `json:"container"`
	RawConnectionString *string `json:"connection_string,omitempty"`
	RawAccountURL       *string `json:"account_url,omitempty"`
	RawCredential       *string `json:"credential,omitempty"`
}

AzureConfigV0 configures storing checkpoints on Azure.

func (AzureConfigV0) AccountURL

func (a AzureConfigV0) AccountURL() *string

func (AzureConfigV0) CompletenessValidator

func (a AzureConfigV0) CompletenessValidator() *jsonschema.Schema

func (AzureConfigV0) ConnectionString

func (a AzureConfigV0) ConnectionString() *string

func (AzureConfigV0) Container

func (a AzureConfigV0) Container() string

func (AzureConfigV0) Credential

func (a AzureConfigV0) Credential() *string

func (AzureConfigV0) Merge

func (c AzureConfigV0) Merge(other AzureConfigV0) AzureConfigV0

Merge implements schemas.Mergeable.

func (AzureConfigV0) ParsedSchema

func (a AzureConfigV0) ParsedSchema() interface{}

func (AzureConfigV0) SanityValidator

func (a AzureConfigV0) SanityValidator() *jsonschema.Schema

func (*AzureConfigV0) SetAccountURL

func (a *AzureConfigV0) SetAccountURL(val *string)

func (*AzureConfigV0) SetConnectionString

func (a *AzureConfigV0) SetConnectionString(val *string)

func (*AzureConfigV0) SetContainer

func (a *AzureConfigV0) SetContainer(val string)

func (*AzureConfigV0) SetCredential

func (a *AzureConfigV0) SetCredential(val *string)

func (AzureConfigV0) Validate

func (c AzureConfigV0) Validate() []error

Validate implements the check.Validatable interface.

type BindMount

type BindMount = BindMountV0

type BindMountV0

type BindMountV0 struct {
	RawHostPath      string  `json:"host_path"`
	RawContainerPath string  `json:"container_path"`
	RawReadOnly      *bool   `json:"read_only"`
	RawPropagation   *string `json:"propagation"`
}

BindMountV0 configures trial runner filesystem bind mounts.

func (BindMountV0) CompletenessValidator

func (b BindMountV0) CompletenessValidator() *jsonschema.Schema

func (BindMountV0) ContainerPath

func (b BindMountV0) ContainerPath() string

func (BindMountV0) HostPath

func (b BindMountV0) HostPath() string

func (BindMountV0) ParsedSchema

func (b BindMountV0) ParsedSchema() interface{}

func (BindMountV0) Propagation

func (b BindMountV0) Propagation() string

func (BindMountV0) ReadOnly

func (b BindMountV0) ReadOnly() bool

func (BindMountV0) SanityValidator

func (b BindMountV0) SanityValidator() *jsonschema.Schema

func (*BindMountV0) SetContainerPath

func (b *BindMountV0) SetContainerPath(val string)

func (*BindMountV0) SetHostPath

func (b *BindMountV0) SetHostPath(val string)

func (*BindMountV0) SetPropagation

func (b *BindMountV0) SetPropagation(val string)

func (*BindMountV0) SetReadOnly

func (b *BindMountV0) SetReadOnly(val bool)

type BindMountsConfig

type BindMountsConfig = BindMountsConfigV0

type BindMountsConfigV0

type BindMountsConfigV0 []BindMountV0

BindMountsConfigV0 is the configuration for bind mounts.

func (BindMountsConfigV0) CompletenessValidator

func (b BindMountsConfigV0) CompletenessValidator() *jsonschema.Schema

func (BindMountsConfigV0) Merge

Merge is just merge-by-appending, with a specific form of deduplication.

If other contains entries where ContainerPath() would conflict with any entry in the receiver, those entries from other are omitted. However, there is no deduplication of the receiver's entries relative to each other, or of the other's entries relative to each other. The reasoning is that if either the user-provided config or the template config is broken, it would be confusing that Merge() would silently fix them. However it would also be confusing if two valid configs got merged together and resulted in a clearly invalid config.

func (BindMountsConfigV0) ParsedSchema

func (b BindMountsConfigV0) ParsedSchema() interface{}

func (BindMountsConfigV0) SanityValidator

func (b BindMountsConfigV0) SanityValidator() *jsonschema.Schema

type CategoricalHyperparameter

type CategoricalHyperparameter = CategoricalHyperparameterV0

type CategoricalHyperparameterV0

type CategoricalHyperparameterV0 struct {
	RawVals []interface{} `json:"vals"`
}

CategoricalHyperparameterV0 is a collection of values (levels) of the category.

func (CategoricalHyperparameterV0) CompletenessValidator

func (c CategoricalHyperparameterV0) CompletenessValidator() *jsonschema.Schema

func (CategoricalHyperparameterV0) ParsedSchema

func (c CategoricalHyperparameterV0) ParsedSchema() interface{}

func (CategoricalHyperparameterV0) SanityValidator

func (c CategoricalHyperparameterV0) SanityValidator() *jsonschema.Schema

func (*CategoricalHyperparameterV0) SetVals

func (c *CategoricalHyperparameterV0) SetVals(val []interface{})

func (CategoricalHyperparameterV0) Vals

func (c CategoricalHyperparameterV0) Vals() []interface{}

type CheckpointStorageConfig

type CheckpointStorageConfig = CheckpointStorageConfigV0

type CheckpointStorageConfigV0

type CheckpointStorageConfigV0 struct {
	RawSharedFSConfig  *SharedFSConfigV0  `union:"type,shared_fs" json:"-"`
	RawS3Config        *S3ConfigV0        `union:"type,s3" json:"-"`
	RawGCSConfig       *GCSConfigV0       `union:"type,gcs" json:"-"`
	RawAzureConfig     *AzureConfigV0     `union:"type,azure" json:"-"`
	RawDirectoryConfig *DirectoryConfigV0 `union:"type,directory" json:"-"`

	RawSaveExperimentBest *int `json:"save_experiment_best"`
	RawSaveTrialBest      *int `json:"save_trial_best"`
	RawSaveTrialLatest    *int `json:"save_trial_latest"`
}

CheckpointStorageConfigV0 has the common checkpoint config params.

func (CheckpointStorageConfigV0) CompletenessValidator

func (c CheckpointStorageConfigV0) CompletenessValidator() *jsonschema.Schema

func (CheckpointStorageConfigV0) GetUnionMember

func (c CheckpointStorageConfigV0) GetUnionMember() interface{}

func (CheckpointStorageConfigV0) MarshalJSON

func (c CheckpointStorageConfigV0) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (CheckpointStorageConfigV0) Merge

Merge implements schemas.Mergeable.

func (CheckpointStorageConfigV0) ParsedSchema

func (c CheckpointStorageConfigV0) ParsedSchema() interface{}

func (CheckpointStorageConfigV0) Printable

Printable returns a copy the object with secrets hidden.

func (CheckpointStorageConfigV0) SanityValidator

func (c CheckpointStorageConfigV0) SanityValidator() *jsonschema.Schema

func (CheckpointStorageConfigV0) SaveExperimentBest

func (c CheckpointStorageConfigV0) SaveExperimentBest() int

func (CheckpointStorageConfigV0) SaveTrialBest

func (c CheckpointStorageConfigV0) SaveTrialBest() int

func (CheckpointStorageConfigV0) SaveTrialLatest

func (c CheckpointStorageConfigV0) SaveTrialLatest() int

func (*CheckpointStorageConfigV0) SetSaveExperimentBest

func (c *CheckpointStorageConfigV0) SetSaveExperimentBest(val int)

func (*CheckpointStorageConfigV0) SetSaveTrialBest

func (c *CheckpointStorageConfigV0) SetSaveTrialBest(val int)

func (*CheckpointStorageConfigV0) SetSaveTrialLatest

func (c *CheckpointStorageConfigV0) SetSaveTrialLatest(val int)

func (*CheckpointStorageConfigV0) UnmarshalJSON

func (c *CheckpointStorageConfigV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type ConstHyperparameter

type ConstHyperparameter = ConstHyperparameterV0

type ConstHyperparameterV0

type ConstHyperparameterV0 struct {
	RawVal interface{} `json:"val"`
}

ConstHyperparameterV0 is a constant.

func (ConstHyperparameterV0) CompletenessValidator

func (c ConstHyperparameterV0) CompletenessValidator() *jsonschema.Schema

func (ConstHyperparameterV0) ParsedSchema

func (c ConstHyperparameterV0) ParsedSchema() interface{}

func (ConstHyperparameterV0) SanityValidator

func (c ConstHyperparameterV0) SanityValidator() *jsonschema.Schema

func (*ConstHyperparameterV0) SetVal

func (c *ConstHyperparameterV0) SetVal(val interface{})

func (ConstHyperparameterV0) Val

func (c ConstHyperparameterV0) Val() interface{}

type CustomConfig

type CustomConfig = CustomConfigV0

type CustomConfigV0

type CustomConfigV0 struct {
	RawUnit *Unit `json:"unit"`
}

CustomConfigV0 configures a custom search.

func (CustomConfigV0) CompletenessValidator

func (c CustomConfigV0) CompletenessValidator() *jsonschema.Schema

func (CustomConfigV0) ParsedSchema

func (c CustomConfigV0) ParsedSchema() interface{}

func (CustomConfigV0) SanityValidator

func (c CustomConfigV0) SanityValidator() *jsonschema.Schema

func (*CustomConfigV0) SetUnit

func (c *CustomConfigV0) SetUnit(val *Unit)

func (CustomConfigV0) Unit

func (c CustomConfigV0) Unit() *Unit

type Device

type Device = DeviceV0

type DeviceV0

type DeviceV0 struct {
	RawHostPath      string  `json:"host_path"`
	RawContainerPath string  `json:"container_path"`
	RawMode          *string `json:"mode"`
}

DeviceV0 configures trial runner filesystem bind mounts.

func (DeviceV0) CompletenessValidator

func (d DeviceV0) CompletenessValidator() *jsonschema.Schema

func (DeviceV0) ContainerPath

func (d DeviceV0) ContainerPath() string

func (DeviceV0) HostPath

func (d DeviceV0) HostPath() string

func (DeviceV0) Mode

func (d DeviceV0) Mode() string

func (DeviceV0) ParsedSchema

func (d DeviceV0) ParsedSchema() interface{}

func (DeviceV0) SanityValidator

func (d DeviceV0) SanityValidator() *jsonschema.Schema

func (*DeviceV0) SetContainerPath

func (d *DeviceV0) SetContainerPath(val string)

func (*DeviceV0) SetHostPath

func (d *DeviceV0) SetHostPath(val string)

func (*DeviceV0) SetMode

func (d *DeviceV0) SetMode(val string)

func (*DeviceV0) UnmarshalJSON

func (d *DeviceV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type DevicesConfig

type DevicesConfig = DevicesConfigV0

type DevicesConfigV0

type DevicesConfigV0 []DeviceV0

DevicesConfigV0 is the configuration for devices.

func (DevicesConfigV0) CompletenessValidator

func (d DevicesConfigV0) CompletenessValidator() *jsonschema.Schema

func (DevicesConfigV0) Merge

Merge is just merge-by-appending, with a specific form of deduplication. See the comment on BindMountsConfigV0.Merge() for details.

func (DevicesConfigV0) ParsedSchema

func (d DevicesConfigV0) ParsedSchema() interface{}

func (DevicesConfigV0) SanityValidator

func (d DevicesConfigV0) SanityValidator() *jsonschema.Schema

type DirectoryConfig

type DirectoryConfig = DirectoryConfigV0

type DirectoryConfigV0

type DirectoryConfigV0 struct {
	RawContainerPath *string `json:"container_path"`
}

DirectoryConfigV0 configures storing checkpoints in a container directory.

func (DirectoryConfigV0) CompletenessValidator

func (d DirectoryConfigV0) CompletenessValidator() *jsonschema.Schema

func (DirectoryConfigV0) ContainerPath

func (d DirectoryConfigV0) ContainerPath() string

func (DirectoryConfigV0) ParsedSchema

func (d DirectoryConfigV0) ParsedSchema() interface{}

func (DirectoryConfigV0) SanityValidator

func (d DirectoryConfigV0) SanityValidator() *jsonschema.Schema

func (*DirectoryConfigV0) SetContainerPath

func (d *DirectoryConfigV0) SetContainerPath(val string)

func (DirectoryConfigV0) Validate

func (c DirectoryConfigV0) Validate() []error

Validate implements the check.Validatable interface.

type DoubleHyperparameter

type DoubleHyperparameter = DoubleHyperparameterV0

type DoubleHyperparameterV0

type DoubleHyperparameterV0 struct {
	RawMinval float64 `json:"minval"`
	RawMaxval float64 `json:"maxval"`
	RawCount  *int    `json:"count,omitempty"`
}

DoubleHyperparameterV0 is an interval of float64s.

func (DoubleHyperparameterV0) CompletenessValidator

func (d DoubleHyperparameterV0) CompletenessValidator() *jsonschema.Schema

func (DoubleHyperparameterV0) Count

func (d DoubleHyperparameterV0) Count() *int

func (DoubleHyperparameterV0) Maxval

func (d DoubleHyperparameterV0) Maxval() float64

func (DoubleHyperparameterV0) Minval

func (d DoubleHyperparameterV0) Minval() float64

func (DoubleHyperparameterV0) ParsedSchema

func (d DoubleHyperparameterV0) ParsedSchema() interface{}

func (DoubleHyperparameterV0) SanityValidator

func (d DoubleHyperparameterV0) SanityValidator() *jsonschema.Schema

func (*DoubleHyperparameterV0) SetCount

func (d *DoubleHyperparameterV0) SetCount(val *int)

func (*DoubleHyperparameterV0) SetMaxval

func (d *DoubleHyperparameterV0) SetMaxval(val float64)

func (*DoubleHyperparameterV0) SetMinval

func (d *DoubleHyperparameterV0) SetMinval(val float64)

type Entrypoint

type Entrypoint = EntrypointV0

type EntrypointV0

type EntrypointV0 struct {
	RawEntrypoint interface{}
}

EntrypointV0 configures the entrypoint script for the experiment.

func (EntrypointV0) MarshalJSON

func (e EntrypointV0) MarshalJSON() ([]byte, error)

MarshalJSON marshals makes the EntrypointV0 container transparent to marshaling.

func (*EntrypointV0) UnmarshalJSON

func (e *EntrypointV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type EnvironmentConfig

type EnvironmentConfig = EnvironmentConfigV0

type EnvironmentConfigV0

type EnvironmentConfigV0 struct {
	RawImage                *EnvironmentImageMapV0     `json:"image"`
	RawEnvironmentVariables *EnvironmentVariablesMapV0 `json:"environment_variables"`
	RawProxyPorts           *ProxyPortsConfigV0        `json:"proxy_ports"`

	RawPorts          map[string]int    `json:"ports"`
	RawRegistryAuth   *types.AuthConfig `json:"registry_auth"`
	RawForcePullImage *bool             `json:"force_pull_image"`
	RawPodSpec        *PodSpec          `json:"pod_spec"`

	RawAddCapabilities  []string `json:"add_capabilities"`
	RawDropCapabilities []string `json:"drop_capabilities"`
}

EnvironmentConfigV0 configures the environment of a Determined command or experiment.

func (EnvironmentConfigV0) AddCapabilities

func (e EnvironmentConfigV0) AddCapabilities() []string

func (EnvironmentConfigV0) CompletenessValidator

func (e EnvironmentConfigV0) CompletenessValidator() *jsonschema.Schema

func (EnvironmentConfigV0) DropCapabilities

func (e EnvironmentConfigV0) DropCapabilities() []string

func (EnvironmentConfigV0) EnvironmentVariables

func (e EnvironmentConfigV0) EnvironmentVariables() EnvironmentVariablesMapV0

func (EnvironmentConfigV0) ForcePullImage

func (e EnvironmentConfigV0) ForcePullImage() bool

func (EnvironmentConfigV0) Image

func (EnvironmentConfigV0) ParsedSchema

func (e EnvironmentConfigV0) ParsedSchema() interface{}

func (EnvironmentConfigV0) PodSpec

func (e EnvironmentConfigV0) PodSpec() *PodSpec

func (EnvironmentConfigV0) Ports

func (e EnvironmentConfigV0) Ports() map[string]int

func (EnvironmentConfigV0) ProxyPorts

func (e EnvironmentConfigV0) ProxyPorts() ProxyPortsConfigV0

func (EnvironmentConfigV0) RegistryAuth

func (e EnvironmentConfigV0) RegistryAuth() *types.AuthConfig

func (EnvironmentConfigV0) SanityValidator

func (e EnvironmentConfigV0) SanityValidator() *jsonschema.Schema

func (*EnvironmentConfigV0) SetAddCapabilities

func (e *EnvironmentConfigV0) SetAddCapabilities(val []string)

func (*EnvironmentConfigV0) SetDropCapabilities

func (e *EnvironmentConfigV0) SetDropCapabilities(val []string)

func (*EnvironmentConfigV0) SetEnvironmentVariables

func (e *EnvironmentConfigV0) SetEnvironmentVariables(val EnvironmentVariablesMapV0)

func (*EnvironmentConfigV0) SetForcePullImage

func (e *EnvironmentConfigV0) SetForcePullImage(val bool)

func (*EnvironmentConfigV0) SetImage

func (e *EnvironmentConfigV0) SetImage(val EnvironmentImageMapV0)

func (*EnvironmentConfigV0) SetPodSpec

func (e *EnvironmentConfigV0) SetPodSpec(val *PodSpec)

func (*EnvironmentConfigV0) SetPorts

func (e *EnvironmentConfigV0) SetPorts(val map[string]int)

func (*EnvironmentConfigV0) SetProxyPorts

func (e *EnvironmentConfigV0) SetProxyPorts(val ProxyPortsConfigV0)

func (*EnvironmentConfigV0) SetRegistryAuth

func (e *EnvironmentConfigV0) SetRegistryAuth(val *types.AuthConfig)

type EnvironmentImageMap

type EnvironmentImageMap = EnvironmentImageMapV0

type EnvironmentImageMapV0

type EnvironmentImageMapV0 struct {
	RawCPU  *string `json:"cpu"`
	RawCUDA *string `json:"cuda"`
	RawROCM *string `json:"rocm"`
}

EnvironmentImageMapV0 configures the runtime image.

func (EnvironmentImageMapV0) CPU

func (e EnvironmentImageMapV0) CPU() string

func (EnvironmentImageMapV0) CUDA

func (e EnvironmentImageMapV0) CUDA() string

func (EnvironmentImageMapV0) CompletenessValidator

func (e EnvironmentImageMapV0) CompletenessValidator() *jsonschema.Schema

func (EnvironmentImageMapV0) For

func (e EnvironmentImageMapV0) For(deviceType device.Type) string

For returns the value for the provided device type.

func (EnvironmentImageMapV0) ParsedSchema

func (e EnvironmentImageMapV0) ParsedSchema() interface{}

func (EnvironmentImageMapV0) ROCM

func (e EnvironmentImageMapV0) ROCM() string

func (EnvironmentImageMapV0) SanityValidator

func (e EnvironmentImageMapV0) SanityValidator() *jsonschema.Schema

func (*EnvironmentImageMapV0) SetCPU

func (e *EnvironmentImageMapV0) SetCPU(val string)

func (*EnvironmentImageMapV0) SetCUDA

func (e *EnvironmentImageMapV0) SetCUDA(val string)

func (*EnvironmentImageMapV0) SetROCM

func (e *EnvironmentImageMapV0) SetROCM(val string)

func (*EnvironmentImageMapV0) UnmarshalJSON

func (e *EnvironmentImageMapV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

func (EnvironmentImageMapV0) WithDefaults

WithDefaults implements the Defaultable psuedointerface.

type EnvironmentVariablesMap

type EnvironmentVariablesMap = EnvironmentVariablesMapV0

type EnvironmentVariablesMapV0

type EnvironmentVariablesMapV0 struct {
	RawCPU  []string `json:"cpu"`
	RawCUDA []string `json:"cuda"`
	RawROCM []string `json:"rocm"`
}

EnvironmentVariablesMapV0 configures the runtime environment variables.

func (EnvironmentVariablesMapV0) CPU

func (EnvironmentVariablesMapV0) CUDA

func (e EnvironmentVariablesMapV0) CUDA() []string

func (EnvironmentVariablesMapV0) CompletenessValidator

func (e EnvironmentVariablesMapV0) CompletenessValidator() *jsonschema.Schema

func (EnvironmentVariablesMapV0) For

func (e EnvironmentVariablesMapV0) For(deviceType device.Type) []string

For returns the value for the provided device type.

func (EnvironmentVariablesMapV0) Merge

Merge implemenets the mergable interface.

func (EnvironmentVariablesMapV0) ParsedSchema

func (e EnvironmentVariablesMapV0) ParsedSchema() interface{}

func (EnvironmentVariablesMapV0) ROCM

func (e EnvironmentVariablesMapV0) ROCM() []string

func (EnvironmentVariablesMapV0) SanityValidator

func (e EnvironmentVariablesMapV0) SanityValidator() *jsonschema.Schema

func (*EnvironmentVariablesMapV0) SetCPU

func (e *EnvironmentVariablesMapV0) SetCPU(val []string)

func (*EnvironmentVariablesMapV0) SetCUDA

func (e *EnvironmentVariablesMapV0) SetCUDA(val []string)

func (*EnvironmentVariablesMapV0) SetROCM

func (e *EnvironmentVariablesMapV0) SetROCM(val []string)

func (*EnvironmentVariablesMapV0) UnmarshalJSON

func (e *EnvironmentVariablesMapV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type ExperimentConfig

type ExperimentConfig = ExperimentConfigV0

func ParseAnyExperimentConfigJSON

func ParseAnyExperimentConfigJSON(byts []byte) (ExperimentConfig, error)

ParseAnyExperimentConfigJSON will return the latest-available experiment config version, even if it is passed the oldest-supported version to unmarshal. It returns a user-facing error if there is an issue in the process.

ParseAnyExperimentConfigJSON will ensure that the bytes are sane for the appropriate version of the experiment config before unmarshaling, but it will not check if the config is complete, since cluster-level settings and defaults will not have been set yet.

func ParseAnyExperimentConfigYAML

func ParseAnyExperimentConfigYAML(byts []byte) (ExperimentConfig, error)

ParseAnyExperimentConfigYAML just wraps ParseAnyExperimentConfigJSON.

func (ExperimentConfig) AsLegacy

func (e ExperimentConfig) AsLegacy() LegacyConfig

AsLegacy converts a current ExperimentConfig to a (limited capacity) LegacyConfig.

type ExperimentConfigV0

type ExperimentConfigV0 struct {
	RawBindMounts               BindMountsConfigV0          `json:"bind_mounts"`
	RawCheckpointPolicy         *string                     `json:"checkpoint_policy"`
	RawCheckpointStorage        *CheckpointStorageConfigV0  `json:"checkpoint_storage"`
	RawData                     map[string]interface{}      `json:"data"`
	RawDebug                    *bool                       `json:"debug"`
	RawDescription              *string                     `json:"description"`
	RawEntrypoint               *EntrypointV0               `json:"entrypoint"`
	RawEnvironment              *EnvironmentConfigV0        `json:"environment"`
	RawHyperparameters          HyperparametersV0           `json:"hyperparameters"`
	RawLabels                   LabelsV0                    `json:"labels"`
	RawLogPolicies              LogPoliciesConfigV0         `json:"log_policies"`
	RawMaxRestarts              *int                        `json:"max_restarts"`
	RawMinCheckpointPeriod      *LengthV0                   `json:"min_checkpoint_period"`
	RawMinValidationPeriod      *LengthV0                   `json:"min_validation_period"`
	RawName                     Name                        `json:"name"`
	RawOptimizations            *OptimizationsConfigV0      `json:"optimizations"`
	RawPerformInitialValidation *bool                       `json:"perform_initial_validation"`
	RawProfiling                *ProfilingConfigV0          `json:"profiling"`
	RawProject                  *string                     `json:"project"`
	RawRecordsPerEpoch          *int                        `json:"records_per_epoch"`
	RawReproducibility          *ReproducibilityConfigV0    `json:"reproducibility"`
	RawResources                *ResourcesConfigV0          `json:"resources"`
	RawSchedulingUnit           *int                        `json:"scheduling_unit"`
	RawSearcher                 *SearcherConfigV0           `json:"searcher"`
	RawSecurity                 *SecurityConfigV0           `json:"security,omitempty"`
	RawTensorboardStorage       *TensorboardStorageConfigV0 `json:"tensorboard_storage,omitempty"`
	RawWorkspace                *string                     `json:"workspace"`
	RawSlurmConfig              *SlurmConfigV0              `json:"slurm,omitempty"`
	RawPbsConfig                *PbsConfigV0                `json:"pbs,omitempty"`
}

ExperimentConfigV0 is a versioned experiment config.

func (ExperimentConfigV0) BindMounts

func (e ExperimentConfigV0) BindMounts() BindMountsConfigV0

func (ExperimentConfigV0) CheckpointPolicy

func (e ExperimentConfigV0) CheckpointPolicy() string

func (ExperimentConfigV0) CheckpointStorage

func (e ExperimentConfigV0) CheckpointStorage() CheckpointStorageConfigV0

func (ExperimentConfigV0) CompletenessValidator

func (e ExperimentConfigV0) CompletenessValidator() *jsonschema.Schema

func (ExperimentConfigV0) Data

func (e ExperimentConfigV0) Data() map[string]interface{}

func (ExperimentConfigV0) Debug

func (e ExperimentConfigV0) Debug() bool

func (ExperimentConfigV0) Description

func (e ExperimentConfigV0) Description() *string

func (ExperimentConfigV0) Entrypoint

func (e ExperimentConfigV0) Entrypoint() *EntrypointV0

func (ExperimentConfigV0) Environment

func (e ExperimentConfigV0) Environment() EnvironmentConfigV0

func (ExperimentConfigV0) Hyperparameters

func (e ExperimentConfigV0) Hyperparameters() HyperparametersV0

func (ExperimentConfigV0) Labels

func (e ExperimentConfigV0) Labels() LabelsV0

func (ExperimentConfigV0) LogPolicies

func (e ExperimentConfigV0) LogPolicies() LogPoliciesConfigV0

func (ExperimentConfigV0) MaxRestarts

func (e ExperimentConfigV0) MaxRestarts() int

func (ExperimentConfigV0) MinCheckpointPeriod

func (e ExperimentConfigV0) MinCheckpointPeriod() LengthV0

func (ExperimentConfigV0) MinValidationPeriod

func (e ExperimentConfigV0) MinValidationPeriod() LengthV0

func (ExperimentConfigV0) Name

func (e ExperimentConfigV0) Name() Name

func (ExperimentConfigV0) Optimizations

func (e ExperimentConfigV0) Optimizations() OptimizationsConfigV0

func (ExperimentConfigV0) ParsedSchema

func (e ExperimentConfigV0) ParsedSchema() interface{}

func (ExperimentConfigV0) PbsConfig

func (e ExperimentConfigV0) PbsConfig() PbsConfigV0

func (ExperimentConfigV0) PerformInitialValidation

func (e ExperimentConfigV0) PerformInitialValidation() bool

func (ExperimentConfigV0) Profiling

func (e ExperimentConfigV0) Profiling() ProfilingConfigV0

func (ExperimentConfigV0) Project

func (e ExperimentConfigV0) Project() string

func (ExperimentConfigV0) RecordsPerEpoch

func (e ExperimentConfigV0) RecordsPerEpoch() int

func (ExperimentConfigV0) Reproducibility

func (e ExperimentConfigV0) Reproducibility() ReproducibilityConfigV0

func (ExperimentConfigV0) Resources

func (e ExperimentConfigV0) Resources() ResourcesConfigV0

func (ExperimentConfigV0) SanityValidator

func (e ExperimentConfigV0) SanityValidator() *jsonschema.Schema

func (*ExperimentConfigV0) Scan

func (e *ExperimentConfigV0) Scan(src interface{}) error

Scan implements the db.Scanner interface.

func (ExperimentConfigV0) SchedulingUnit

func (e ExperimentConfigV0) SchedulingUnit() int

func (ExperimentConfigV0) Searcher

func (e ExperimentConfigV0) Searcher() SearcherConfigV0

func (ExperimentConfigV0) Security

func (e ExperimentConfigV0) Security() *SecurityConfigV0

func (*ExperimentConfigV0) SetBindMounts

func (e *ExperimentConfigV0) SetBindMounts(val BindMountsConfigV0)

func (*ExperimentConfigV0) SetCheckpointPolicy

func (e *ExperimentConfigV0) SetCheckpointPolicy(val string)

func (*ExperimentConfigV0) SetCheckpointStorage

func (e *ExperimentConfigV0) SetCheckpointStorage(val CheckpointStorageConfigV0)

func (*ExperimentConfigV0) SetData

func (e *ExperimentConfigV0) SetData(val map[string]interface{})

func (*ExperimentConfigV0) SetDebug

func (e *ExperimentConfigV0) SetDebug(val bool)

func (*ExperimentConfigV0) SetDescription

func (e *ExperimentConfigV0) SetDescription(val *string)

func (*ExperimentConfigV0) SetEntrypoint

func (e *ExperimentConfigV0) SetEntrypoint(val *EntrypointV0)

func (*ExperimentConfigV0) SetEnvironment

func (e *ExperimentConfigV0) SetEnvironment(val EnvironmentConfigV0)

func (*ExperimentConfigV0) SetHyperparameters

func (e *ExperimentConfigV0) SetHyperparameters(val HyperparametersV0)

func (*ExperimentConfigV0) SetLabels

func (e *ExperimentConfigV0) SetLabels(val LabelsV0)

func (*ExperimentConfigV0) SetLogPolicies

func (e *ExperimentConfigV0) SetLogPolicies(val LogPoliciesConfigV0)

func (*ExperimentConfigV0) SetMaxRestarts

func (e *ExperimentConfigV0) SetMaxRestarts(val int)

func (*ExperimentConfigV0) SetMinCheckpointPeriod

func (e *ExperimentConfigV0) SetMinCheckpointPeriod(val LengthV0)

func (*ExperimentConfigV0) SetMinValidationPeriod

func (e *ExperimentConfigV0) SetMinValidationPeriod(val LengthV0)

func (*ExperimentConfigV0) SetName

func (e *ExperimentConfigV0) SetName(val Name)

func (*ExperimentConfigV0) SetOptimizations

func (e *ExperimentConfigV0) SetOptimizations(val OptimizationsConfigV0)

func (*ExperimentConfigV0) SetPbsConfig

func (e *ExperimentConfigV0) SetPbsConfig(val PbsConfigV0)

func (*ExperimentConfigV0) SetPerformInitialValidation

func (e *ExperimentConfigV0) SetPerformInitialValidation(val bool)

func (*ExperimentConfigV0) SetProfiling

func (e *ExperimentConfigV0) SetProfiling(val ProfilingConfigV0)

func (*ExperimentConfigV0) SetProject

func (e *ExperimentConfigV0) SetProject(val string)

func (*ExperimentConfigV0) SetRecordsPerEpoch

func (e *ExperimentConfigV0) SetRecordsPerEpoch(val int)

func (*ExperimentConfigV0) SetReproducibility

func (e *ExperimentConfigV0) SetReproducibility(val ReproducibilityConfigV0)

func (*ExperimentConfigV0) SetResources

func (e *ExperimentConfigV0) SetResources(val ResourcesConfigV0)

func (*ExperimentConfigV0) SetSchedulingUnit

func (e *ExperimentConfigV0) SetSchedulingUnit(val int)

func (*ExperimentConfigV0) SetSearcher

func (e *ExperimentConfigV0) SetSearcher(val SearcherConfigV0)

func (*ExperimentConfigV0) SetSecurity

func (e *ExperimentConfigV0) SetSecurity(val *SecurityConfigV0)

func (*ExperimentConfigV0) SetSlurmConfig

func (e *ExperimentConfigV0) SetSlurmConfig(val SlurmConfigV0)

func (*ExperimentConfigV0) SetTensorboardStorage

func (e *ExperimentConfigV0) SetTensorboardStorage(val *TensorboardStorageConfigV0)

func (*ExperimentConfigV0) SetWorkspace

func (e *ExperimentConfigV0) SetWorkspace(val string)

func (ExperimentConfigV0) SlurmConfig

func (e ExperimentConfigV0) SlurmConfig() SlurmConfigV0

func (ExperimentConfigV0) TensorboardStorage

func (e ExperimentConfigV0) TensorboardStorage() *TensorboardStorageConfigV0

func (*ExperimentConfigV0) Unit

func (e *ExperimentConfigV0) Unit() Unit

Unit implements the model.InUnits interface.

func (ExperimentConfigV0) Value

func (e ExperimentConfigV0) Value() (driver.Value, error)

Value implements the driver.Valuer interface.

func (ExperimentConfigV0) Workspace

func (e ExperimentConfigV0) Workspace() string

type GCSConfig

type GCSConfig = GCSConfigV0

type GCSConfigV0

type GCSConfigV0 struct {
	RawBucket *string `json:"bucket"`
	RawPrefix *string `json:"prefix"`
}

GCSConfigV0 configures storing checkpoints on GCS.

func (GCSConfigV0) Bucket

func (g GCSConfigV0) Bucket() string

func (GCSConfigV0) CompletenessValidator

func (g GCSConfigV0) CompletenessValidator() *jsonschema.Schema

func (GCSConfigV0) ParsedSchema

func (g GCSConfigV0) ParsedSchema() interface{}

func (GCSConfigV0) Prefix

func (g GCSConfigV0) Prefix() *string

func (GCSConfigV0) SanityValidator

func (g GCSConfigV0) SanityValidator() *jsonschema.Schema

func (*GCSConfigV0) SetBucket

func (g *GCSConfigV0) SetBucket(val string)

func (*GCSConfigV0) SetPrefix

func (g *GCSConfigV0) SetPrefix(val *string)

func (GCSConfigV0) Validate

func (c GCSConfigV0) Validate() []error

Validate implements the check.Validatable interface.

type GridConfig

type GridConfig = GridConfigV0

type GridConfigV0

type GridConfigV0 struct {
	RawMaxLength           *LengthV0 `json:"max_length"`
	RawMaxConcurrentTrials *int      `json:"max_concurrent_trials"`
}

GridConfigV0 configures a grid search.

func (GridConfigV0) CompletenessValidator

func (g GridConfigV0) CompletenessValidator() *jsonschema.Schema

func (GridConfigV0) MaxConcurrentTrials

func (g GridConfigV0) MaxConcurrentTrials() int

func (GridConfigV0) MaxLength

func (g GridConfigV0) MaxLength() LengthV0

func (GridConfigV0) ParsedSchema

func (g GridConfigV0) ParsedSchema() interface{}

func (GridConfigV0) SanityValidator

func (g GridConfigV0) SanityValidator() *jsonschema.Schema

func (*GridConfigV0) SetMaxConcurrentTrials

func (g *GridConfigV0) SetMaxConcurrentTrials(val int)

func (*GridConfigV0) SetMaxLength

func (g *GridConfigV0) SetMaxLength(val LengthV0)

func (GridConfigV0) Unit

func (g GridConfigV0) Unit() Unit

Unit implements the model.InUnits interface.

type Hyperparameter

type Hyperparameter = HyperparameterV0

type HyperparameterV0

type HyperparameterV0 struct {
	RawConstHyperparameter       *ConstHyperparameterV0       `union:"type,const" json:"-"`
	RawIntHyperparameter         *IntHyperparameterV0         `union:"type,int" json:"-"`
	RawDoubleHyperparameter      *DoubleHyperparameterV0      `union:"type,double" json:"-"`
	RawLogHyperparameter         *LogHyperparameterV0         `union:"type,log" json:"-"`
	RawCategoricalHyperparameter *CategoricalHyperparameterV0 `union:"type,categorical" json:"-"`
	// RawNestedHyperparameter is added as a union type to more closely reflect the underlying
	// schema definition. Doing so also means that we can detect a nested hyperparameter from
	// a call to the automatically generated HyperparameterV0.GetUnionMember function.
	//
	// However, this type does not actually go through union marshaling and unmarshaling logic
	// so that we can support implicit nesting as follows:
	// optimizer:
	//   learning_rate: 0.01
	//   momentum: 0.9
	// This means that we do NOT support explicit nesting as we would normally with a union
	// on type:
	// optimizer:
	//   type: object
	//   vals:
	//     learning_rate: 0.01
	//     momentum: 0.9
	// The former is more user friendly so we will escape the union unmarshaling logic
	// in its favor. We can add the later behavior in the future if needed.
	RawNestedHyperparameter *map[string]HyperparameterV0 `union:"type,object" json:"-"`
}

HyperparameterV0 is a sum type for hyperparameters.

func (HyperparameterV0) CompletenessValidator

func (h HyperparameterV0) CompletenessValidator() *jsonschema.Schema

func (HyperparameterV0) GetUnionMember

func (h HyperparameterV0) GetUnionMember() interface{}

func (HyperparameterV0) MarshalJSON

func (h HyperparameterV0) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (HyperparameterV0) Merge

Merge prevents recursive merging of hyperparameters unless h is a nested hyperparameter. When h is a nested hyperparameter, we merge fields of h and other into a single map. A new HyperparameterV0 instance is returned.

func (HyperparameterV0) ParsedSchema

func (h HyperparameterV0) ParsedSchema() interface{}

func (HyperparameterV0) SanityValidator

func (h HyperparameterV0) SanityValidator() *jsonschema.Schema

func (*HyperparameterV0) UnmarshalJSON

func (h *HyperparameterV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type Hyperparameters

type Hyperparameters = HyperparametersV0

type HyperparametersV0

type HyperparametersV0 map[string]HyperparameterV0

HyperparametersV0 is a versioned hyperparameters config.

func FlattenHPs

FlattenHPs returns a flat dictionary with keys representing nested structure. For example, {"optimizer": {"learning_rate": 0.01}} will be flattened to {"optimizer.learning_rate": 0.01}.

func (HyperparametersV0) CompletenessValidator

func (h HyperparametersV0) CompletenessValidator() *jsonschema.Schema

func (HyperparametersV0) Each

func (h HyperparametersV0) Each(f func(name string, param HyperparameterV0))

Each applies the function to each hyperparameter in string order of the name.

func (HyperparametersV0) ParsedSchema

func (h HyperparametersV0) ParsedSchema() interface{}

func (HyperparametersV0) SanityValidator

func (h HyperparametersV0) SanityValidator() *jsonschema.Schema

type InUnits

type InUnits interface {
	Unit() Unit
}

InUnits is describes a type that is in terms of a specific unit.

type IntHyperparameter

type IntHyperparameter = IntHyperparameterV0

type IntHyperparameterV0

type IntHyperparameterV0 struct {
	RawMinval int  `json:"minval"`
	RawMaxval int  `json:"maxval"`
	RawCount  *int `json:"count,omitempty"`
}

IntHyperparameterV0 is an interval of ints.

func (IntHyperparameterV0) CompletenessValidator

func (i IntHyperparameterV0) CompletenessValidator() *jsonschema.Schema

func (IntHyperparameterV0) Count

func (i IntHyperparameterV0) Count() *int

func (IntHyperparameterV0) Maxval

func (i IntHyperparameterV0) Maxval() int

func (IntHyperparameterV0) Minval

func (i IntHyperparameterV0) Minval() int

func (IntHyperparameterV0) ParsedSchema

func (i IntHyperparameterV0) ParsedSchema() interface{}

func (IntHyperparameterV0) SanityValidator

func (i IntHyperparameterV0) SanityValidator() *jsonschema.Schema

func (*IntHyperparameterV0) SetCount

func (i *IntHyperparameterV0) SetCount(val *int)

func (*IntHyperparameterV0) SetMaxval

func (i *IntHyperparameterV0) SetMaxval(val int)

func (*IntHyperparameterV0) SetMinval

func (i *IntHyperparameterV0) SetMinval(val int)

type KerberosConfigV0

type KerberosConfigV0 struct {
	RawConfigFile string `json:"config_file"`
}

KerberosConfigV0 is a legacy config.

func (KerberosConfigV0) CompletenessValidator

func (k KerberosConfigV0) CompletenessValidator() *jsonschema.Schema

func (KerberosConfigV0) ConfigFile

func (k KerberosConfigV0) ConfigFile() string

func (KerberosConfigV0) ParsedSchema

func (k KerberosConfigV0) ParsedSchema() interface{}

func (KerberosConfigV0) SanityValidator

func (k KerberosConfigV0) SanityValidator() *jsonschema.Schema

func (*KerberosConfigV0) SetConfigFile

func (k *KerberosConfigV0) SetConfigFile(val string)

type Labels

type Labels = LabelsV0

type LabelsV0

type LabelsV0 map[string]bool

LabelsV0 holds the set of labels on the experiment.

func (LabelsV0) MarshalJSON

func (l LabelsV0) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (*LabelsV0) UnmarshalJSON

func (l *LabelsV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type LegacyConfig

type LegacyConfig struct {
	CheckpointStorage CheckpointStorageConfig
	BindMounts        BindMountsConfig
	Environment       EnvironmentConfig
	Hyperparameters   Hyperparameters
	Searcher          LegacySearcher
}

LegacyConfig represents a config that was once valid but might no longer be shimmable to the current version of ExperimentConfig. Fortunately, the parts of the system that need to read configs that are this old are either 1) only concerned with the raw config for rendering it to the user, or 2) only need very specific parts of the old config, so to reduce our own burden we only expose very specific data from it.

LegacyConfig can be used to deal with configs that contain some EOL components, like searchers that have been removed.

func ParseLegacyConfigJSON

func ParseLegacyConfigJSON(byts []byte) (LegacyConfig, error)

ParseLegacyConfigJSON parses bytes that represent an experiment config that was once valid but might no longer be shimmable to the current version of ExperimentConfig.

func (*LegacyConfig) Scan

func (l *LegacyConfig) Scan(src interface{}) error

Scan implements the db.Scanner interface.

type LegacySearcher

type LegacySearcher struct {
	// Name might contain an EOL searcher name.
	Name            string
	Metric          string
	SmallerIsBetter bool
}

LegacySearcher represents a subset of the SearcherConfig which can be expected to be available for all experiments, new and old.

type Length

type Length = LengthV0

type LengthV0

type LengthV0 struct {
	Unit  Unit
	Units uint64
}

LengthV0 a training duration in terms of records, batches or epochs.

func NewLength

func NewLength(unit Unit, units uint64) LengthV0

NewLength returns a new length with the specified unit and length.

func NewLengthInBatches

func NewLengthInBatches(batches uint64) LengthV0

NewLengthInBatches returns a new length in terms of batches.

func NewLengthInEpochs

func NewLengthInEpochs(epochs uint64) LengthV0

NewLengthInEpochs returns a new LengthV0 in terms of epochs.

func NewLengthInRecords

func NewLengthInRecords(records uint64) LengthV0

NewLengthInRecords returns a new length in terms of records.

func NewLengthUnitless

func NewLengthUnitless(n uint64) LengthV0

NewLengthUnitless returns a new LengthV0 with no assigned units.

func (LengthV0) Add

func (l LengthV0) Add(other LengthV0) LengthV0

Add adds a length to another length.

func (LengthV0) Div

func (l LengthV0) Div(other LengthV0) LengthV0

Div divides a length by another length.

func (LengthV0) DivInt

func (l LengthV0) DivInt(other uint64) LengthV0

DivInt divides a length by an int.

func (LengthV0) MarshalJSON

func (l LengthV0) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (LengthV0) Mult

func (l LengthV0) Mult(other LengthV0) LengthV0

Mult multiplies a length by another length.

func (LengthV0) MultInt

func (l LengthV0) MultInt(other uint64) LengthV0

MultInt multiplies a length by an int.

func (LengthV0) String

func (l LengthV0) String() string

func (LengthV0) Sub

func (l LengthV0) Sub(other LengthV0) LengthV0

Sub subtracts a length from another length.

func (*LengthV0) UnmarshalJSON

func (l *LengthV0) UnmarshalJSON(b []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type LogAction

type LogAction = LogActionV0

type LogActionCancelRetries

type LogActionCancelRetries = LogActionCancelRetriesV0

type LogActionCancelRetriesV0

type LogActionCancelRetriesV0 struct {
}

LogActionCancelRetriesV0 doesn't retry the trial if it fails.

func (LogActionCancelRetriesV0) CompletenessValidator

func (l LogActionCancelRetriesV0) CompletenessValidator() *jsonschema.Schema

func (LogActionCancelRetriesV0) ParsedSchema

func (l LogActionCancelRetriesV0) ParsedSchema() interface{}

func (LogActionCancelRetriesV0) SanityValidator

func (l LogActionCancelRetriesV0) SanityValidator() *jsonschema.Schema

type LogActionExcludeNode

type LogActionExcludeNode = LogActionExcludeNodeV0

type LogActionExcludeNodeV0

type LogActionExcludeNodeV0 struct {
}

LogActionExcludeNodeV0 will exclude the node the log was seen on (only for that trial) and reschedule.

func (LogActionExcludeNodeV0) CompletenessValidator

func (l LogActionExcludeNodeV0) CompletenessValidator() *jsonschema.Schema

func (LogActionExcludeNodeV0) ParsedSchema

func (l LogActionExcludeNodeV0) ParsedSchema() interface{}

func (LogActionExcludeNodeV0) SanityValidator

func (l LogActionExcludeNodeV0) SanityValidator() *jsonschema.Schema

type LogActionV0

type LogActionV0 struct {
	RawCancelRetries *LogActionCancelRetriesV0 `union:"type,cancel_retries" json:"-"`
	RawExcludeNode   *LogActionExcludeNodeV0   `union:"type,exclude_node" json:"-"`
}

LogActionV0 is a policy to take after matching.

func (LogActionV0) CompletenessValidator

func (l LogActionV0) CompletenessValidator() *jsonschema.Schema

func (LogActionV0) GetUnionMember

func (l LogActionV0) GetUnionMember() interface{}

func (LogActionV0) MarshalJSON

func (s LogActionV0) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (LogActionV0) Merge

func (s LogActionV0) Merge(other LogActionV0) LogActionV0

Merge implements schemas.Mergeable.

func (LogActionV0) ParsedSchema

func (l LogActionV0) ParsedSchema() interface{}

func (LogActionV0) SanityValidator

func (l LogActionV0) SanityValidator() *jsonschema.Schema

func (*LogActionV0) UnmarshalJSON

func (s *LogActionV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type LogHyperparameter

type LogHyperparameter = LogHyperparameterV0

type LogHyperparameterV0

type LogHyperparameterV0 struct {
	// Minimum value is `base ^ minval`.
	RawMinval float64 `json:"minval"`
	// Maximum value is `base ^ maxval`.
	RawMaxval float64 `json:"maxval"`
	RawBase   float64 `json:"base"`
	RawCount  *int    `json:"count,omitempty"`
}

LogHyperparameterV0 is a log-uniformly distributed interval of float64s.

func (LogHyperparameterV0) Base

func (l LogHyperparameterV0) Base() float64

func (LogHyperparameterV0) CompletenessValidator

func (l LogHyperparameterV0) CompletenessValidator() *jsonschema.Schema

func (LogHyperparameterV0) Count

func (l LogHyperparameterV0) Count() *int

func (LogHyperparameterV0) Maxval

func (l LogHyperparameterV0) Maxval() float64

func (LogHyperparameterV0) Minval

func (l LogHyperparameterV0) Minval() float64

func (LogHyperparameterV0) ParsedSchema

func (l LogHyperparameterV0) ParsedSchema() interface{}

func (LogHyperparameterV0) SanityValidator

func (l LogHyperparameterV0) SanityValidator() *jsonschema.Schema

func (*LogHyperparameterV0) SetBase

func (l *LogHyperparameterV0) SetBase(val float64)

func (*LogHyperparameterV0) SetCount

func (l *LogHyperparameterV0) SetCount(val *int)

func (*LogHyperparameterV0) SetMaxval

func (l *LogHyperparameterV0) SetMaxval(val float64)

func (*LogHyperparameterV0) SetMinval

func (l *LogHyperparameterV0) SetMinval(val float64)

type LogPoliciesConfig

type LogPoliciesConfig = LogPoliciesConfigV0

type LogPoliciesConfigV0

type LogPoliciesConfigV0 []LogPolicyV0

LogPoliciesConfigV0 is a list of log policies.

func (LogPoliciesConfigV0) Merge

Merge implemenets the mergable interface.

type LogPolicy

type LogPolicy = LogPolicyV0

type LogPolicyV0

type LogPolicyV0 struct {
	RawPattern string `json:"pattern"`

	RawAction LogActionV0 `json:"action"`
}

LogPolicyV0 is an action to take if we match against trial logs.

func (LogPolicyV0) Action

func (l LogPolicyV0) Action() LogActionV0

func (LogPolicyV0) CompletenessValidator

func (l LogPolicyV0) CompletenessValidator() *jsonschema.Schema

func (LogPolicyV0) ParsedSchema

func (l LogPolicyV0) ParsedSchema() interface{}

func (LogPolicyV0) Pattern

func (l LogPolicyV0) Pattern() string

func (LogPolicyV0) SanityValidator

func (l LogPolicyV0) SanityValidator() *jsonschema.Schema

func (*LogPolicyV0) SetAction

func (l *LogPolicyV0) SetAction(val LogActionV0)

func (*LogPolicyV0) SetPattern

func (l *LogPolicyV0) SetPattern(val string)

type Name

type Name struct {
	RawString *string
}

Name is a container struct for handling runtime defaults. It has to be a container so that it can be responsible for allocating the nil pointer if one is not provided. It would be nice if you could use `type Name *string` but go won't let you create methods on such a type.

func (Name) MarshalJSON

func (d Name) MarshalJSON() ([]byte, error)

MarshalJSON marshals makes the Name container transparent to marshaling.

func (*Name) SetString

func (d *Name) SetString(s string)

SetString is part of the Getter/Setter API.

func (Name) String

func (d Name) String() string

String is part of the Getter/Setter API.

func (*Name) UnmarshalJSON

func (d *Name) UnmarshalJSON(bytes []byte) error

UnmarshalJSON marshals makes the Name container transparent to unmarshaling.

func (Name) WithDefaults

func (d Name) WithDefaults() Name

WithDefaults implements the Defaultable psuedointerface.

type OptimizationsConfig

type OptimizationsConfig = OptimizationsConfigV0

type OptimizationsConfigV0

type OptimizationsConfigV0 struct {
	RawAggregationFrequency       *int    `json:"aggregation_frequency"`
	RawAverageAggregatedGradients *bool   `json:"average_aggregated_gradients"`
	RawAverageTrainingMetrics     *bool   `json:"average_training_metrics"`
	RawGradientCompression        *bool   `json:"gradient_compression"`
	RawGradUpdateSizeFile         *string `json:"grad_updates_size_file"`
	RawMixedPrecision             *string `json:"mixed_precision,omitempty"`
	RawTensorFusionThreshold      *int    `json:"tensor_fusion_threshold"`
	RawTensorFusionCycleTime      *int    `json:"tensor_fusion_cycle_time"`
	RawAutoTuneTensorFusion       *bool   `json:"auto_tune_tensor_fusion"`
}

OptimizationsConfigV0 is a legacy config value.

func (OptimizationsConfigV0) AggregationFrequency

func (o OptimizationsConfigV0) AggregationFrequency() int

func (OptimizationsConfigV0) AutoTuneTensorFusion

func (o OptimizationsConfigV0) AutoTuneTensorFusion() bool

func (OptimizationsConfigV0) AverageAggregatedGradients

func (o OptimizationsConfigV0) AverageAggregatedGradients() bool

func (OptimizationsConfigV0) AverageTrainingMetrics

func (o OptimizationsConfigV0) AverageTrainingMetrics() bool

func (OptimizationsConfigV0) CompletenessValidator

func (o OptimizationsConfigV0) CompletenessValidator() *jsonschema.Schema

func (OptimizationsConfigV0) GradUpdateSizeFile

func (o OptimizationsConfigV0) GradUpdateSizeFile() *string

func (OptimizationsConfigV0) GradientCompression

func (o OptimizationsConfigV0) GradientCompression() bool

func (OptimizationsConfigV0) MixedPrecision

func (o OptimizationsConfigV0) MixedPrecision() string

func (OptimizationsConfigV0) ParsedSchema

func (o OptimizationsConfigV0) ParsedSchema() interface{}

func (OptimizationsConfigV0) SanityValidator

func (o OptimizationsConfigV0) SanityValidator() *jsonschema.Schema

func (*OptimizationsConfigV0) SetAggregationFrequency

func (o *OptimizationsConfigV0) SetAggregationFrequency(val int)

func (*OptimizationsConfigV0) SetAutoTuneTensorFusion

func (o *OptimizationsConfigV0) SetAutoTuneTensorFusion(val bool)

func (*OptimizationsConfigV0) SetAverageAggregatedGradients

func (o *OptimizationsConfigV0) SetAverageAggregatedGradients(val bool)

func (*OptimizationsConfigV0) SetAverageTrainingMetrics

func (o *OptimizationsConfigV0) SetAverageTrainingMetrics(val bool)

func (*OptimizationsConfigV0) SetGradUpdateSizeFile

func (o *OptimizationsConfigV0) SetGradUpdateSizeFile(val *string)

func (*OptimizationsConfigV0) SetGradientCompression

func (o *OptimizationsConfigV0) SetGradientCompression(val bool)

func (*OptimizationsConfigV0) SetMixedPrecision

func (o *OptimizationsConfigV0) SetMixedPrecision(val string)

func (*OptimizationsConfigV0) SetTensorFusionCycleTime

func (o *OptimizationsConfigV0) SetTensorFusionCycleTime(val int)

func (*OptimizationsConfigV0) SetTensorFusionThreshold

func (o *OptimizationsConfigV0) SetTensorFusionThreshold(val int)

func (OptimizationsConfigV0) TensorFusionCycleTime

func (o OptimizationsConfigV0) TensorFusionCycleTime() int

func (OptimizationsConfigV0) TensorFusionThreshold

func (o OptimizationsConfigV0) TensorFusionThreshold() int

type PbsConfig

type PbsConfig = PbsConfigV0

type PbsConfigV0

type PbsConfigV0 struct {
	RawSlotsPerNode *int     `json:"slots_per_node,omitempty"`
	RawSbatchArgs   []string `json:"pbsbatch_args,omitempty"`
}

PbsConfigV0 configures experiment resource usage.

func (PbsConfigV0) CompletenessValidator

func (p PbsConfigV0) CompletenessValidator() *jsonschema.Schema

func (PbsConfigV0) ParsedSchema

func (p PbsConfigV0) ParsedSchema() interface{}

func (PbsConfigV0) SanityValidator

func (p PbsConfigV0) SanityValidator() *jsonschema.Schema

func (PbsConfigV0) SbatchArgs

func (p PbsConfigV0) SbatchArgs() []string

func (*PbsConfigV0) SetSbatchArgs

func (p *PbsConfigV0) SetSbatchArgs(val []string)

func (*PbsConfigV0) SetSlotsPerNode

func (p *PbsConfigV0) SetSlotsPerNode(val *int)

func (PbsConfigV0) SlotsPerNode

func (p PbsConfigV0) SlotsPerNode() *int

type PodSpec

type PodSpec k8sV1.Pod

PodSpec is just a k8sV1.Pod with custom methods, since k8sV1.Pod is not reflect-friendly.

func (PodSpec) Copy

func (p PodSpec) Copy() PodSpec

Copy implements the schemas.Copyable psuedointerface.

func (PodSpec) Merge

func (p PodSpec) Merge(other PodSpec) PodSpec

Merge implements the schemas.Mergable psuedointerface using Kubernetes strategic merging. https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md

func (PodSpec) WithDefaults

func (p PodSpec) WithDefaults() PodSpec

WithDefaults implements the schemas.Defaultable psuedointerface.

type ProfilingConfig

type ProfilingConfig = ProfilingConfigV0

type ProfilingConfigV0

type ProfilingConfigV0 struct {
	RawEnabled       *bool `json:"enabled"`
	RawBeginOnBatch  *int  `json:"begin_on_batch"`
	RawEndAfterBatch *int  `json:"end_after_batch"`
	RawSyncTimings   *bool `json:"sync_timings"`
}

ProfilingConfigV0 configures profiling in the harness.

func (ProfilingConfigV0) BeginOnBatch

func (p ProfilingConfigV0) BeginOnBatch() int

func (ProfilingConfigV0) CompletenessValidator

func (p ProfilingConfigV0) CompletenessValidator() *jsonschema.Schema

func (ProfilingConfigV0) Enabled

func (p ProfilingConfigV0) Enabled() bool

func (ProfilingConfigV0) EndAfterBatch

func (p ProfilingConfigV0) EndAfterBatch() *int

func (ProfilingConfigV0) ParsedSchema

func (p ProfilingConfigV0) ParsedSchema() interface{}

func (ProfilingConfigV0) SanityValidator

func (p ProfilingConfigV0) SanityValidator() *jsonschema.Schema

func (*ProfilingConfigV0) SetBeginOnBatch

func (p *ProfilingConfigV0) SetBeginOnBatch(val int)

func (*ProfilingConfigV0) SetEnabled

func (p *ProfilingConfigV0) SetEnabled(val bool)

func (*ProfilingConfigV0) SetEndAfterBatch

func (p *ProfilingConfigV0) SetEndAfterBatch(val *int)

func (*ProfilingConfigV0) SetSyncTimings

func (p *ProfilingConfigV0) SetSyncTimings(val bool)

func (ProfilingConfigV0) SyncTimings

func (p ProfilingConfigV0) SyncTimings() bool

type ProxyPort

type ProxyPort = ProxyPortV0

type ProxyPortV0

type ProxyPortV0 struct {
	RawProxyPort        int   `json:"proxy_port"`
	RawProxyTCP         *bool `json:"proxy_tcp"`
	RawUnauthenticated  *bool `json:"unauthenticated"`
	RawDefaultServiceID *bool `json:"default_service_id"`
}

ProxyPortV0 configures the master-proxied task ports.

func (ProxyPortV0) CompletenessValidator

func (p ProxyPortV0) CompletenessValidator() *jsonschema.Schema

func (ProxyPortV0) DefaultServiceID

func (p ProxyPortV0) DefaultServiceID() bool

func (ProxyPortV0) ParsedSchema

func (p ProxyPortV0) ParsedSchema() interface{}

func (ProxyPortV0) ProxyPort

func (p ProxyPortV0) ProxyPort() int

func (ProxyPortV0) ProxyTCP

func (p ProxyPortV0) ProxyTCP() bool

func (ProxyPortV0) SanityValidator

func (p ProxyPortV0) SanityValidator() *jsonschema.Schema

func (*ProxyPortV0) SetDefaultServiceID

func (p *ProxyPortV0) SetDefaultServiceID(val bool)

func (*ProxyPortV0) SetProxyPort

func (p *ProxyPortV0) SetProxyPort(val int)

func (*ProxyPortV0) SetProxyTCP

func (p *ProxyPortV0) SetProxyTCP(val bool)

func (*ProxyPortV0) SetUnauthenticated

func (p *ProxyPortV0) SetUnauthenticated(val bool)

func (ProxyPortV0) Unauthenticated

func (p ProxyPortV0) Unauthenticated() bool

type ProxyPortsConfig

type ProxyPortsConfig = ProxyPortsConfigV0

type ProxyPortsConfigV0

type ProxyPortsConfigV0 []ProxyPortV0

ProxyPortsConfigV0 is the configuration for proxy ports.

func (ProxyPortsConfigV0) CompletenessValidator

func (p ProxyPortsConfigV0) CompletenessValidator() *jsonschema.Schema

func (ProxyPortsConfigV0) Merge

Merge implemenets the mergable interface.

func (ProxyPortsConfigV0) ParsedSchema

func (p ProxyPortsConfigV0) ParsedSchema() interface{}

func (ProxyPortsConfigV0) SanityValidator

func (p ProxyPortsConfigV0) SanityValidator() *jsonschema.Schema

type RandomConfig

type RandomConfig = RandomConfigV0

type RandomConfigV0

type RandomConfigV0 struct {
	RawMaxLength           *LengthV0 `json:"max_length"`
	RawMaxTrials           *int      `json:"max_trials"`
	RawMaxConcurrentTrials *int      `json:"max_concurrent_trials"`
}

RandomConfigV0 configures a random search.

func (RandomConfigV0) CompletenessValidator

func (r RandomConfigV0) CompletenessValidator() *jsonschema.Schema

func (RandomConfigV0) MaxConcurrentTrials

func (r RandomConfigV0) MaxConcurrentTrials() int

func (RandomConfigV0) MaxLength

func (r RandomConfigV0) MaxLength() LengthV0

func (RandomConfigV0) MaxTrials

func (r RandomConfigV0) MaxTrials() int

func (RandomConfigV0) ParsedSchema

func (r RandomConfigV0) ParsedSchema() interface{}

func (RandomConfigV0) SanityValidator

func (r RandomConfigV0) SanityValidator() *jsonschema.Schema

func (*RandomConfigV0) SetMaxConcurrentTrials

func (r *RandomConfigV0) SetMaxConcurrentTrials(val int)

func (*RandomConfigV0) SetMaxLength

func (r *RandomConfigV0) SetMaxLength(val LengthV0)

func (*RandomConfigV0) SetMaxTrials

func (r *RandomConfigV0) SetMaxTrials(val int)

func (RandomConfigV0) Unit

func (r RandomConfigV0) Unit() Unit

Unit implements the model.InUnits interface.

type ReproducibilityConfig

type ReproducibilityConfig = ReproducibilityConfigV0

type ReproducibilityConfigV0

type ReproducibilityConfigV0 struct {
	RawExperimentSeed *uint32 `json:"experiment_seed"`
}

ReproducibilityConfigV0 configures parameters related to reproducibility.

func (ReproducibilityConfigV0) CompletenessValidator

func (r ReproducibilityConfigV0) CompletenessValidator() *jsonschema.Schema

func (ReproducibilityConfigV0) ExperimentSeed

func (r ReproducibilityConfigV0) ExperimentSeed() uint32

func (ReproducibilityConfigV0) ParsedSchema

func (r ReproducibilityConfigV0) ParsedSchema() interface{}

func (ReproducibilityConfigV0) SanityValidator

func (r ReproducibilityConfigV0) SanityValidator() *jsonschema.Schema

func (*ReproducibilityConfigV0) SetExperimentSeed

func (r *ReproducibilityConfigV0) SetExperimentSeed(val uint32)

func (ReproducibilityConfigV0) WithDefaults

WithDefaults implements the Defaultable psuedointerface.

type ResourcesConfig

type ResourcesConfig = ResourcesConfigV0

type ResourcesConfigV0

type ResourcesConfigV0 struct {
	// Slots is used by commands while trials use SlotsPerTrial.
	RawSlots *int `json:"slots,omitempty"`

	RawMaxSlots       *int     `json:"max_slots"`
	RawSlotsPerTrial  *int     `json:"slots_per_trial"`
	RawWeight         *float64 `json:"weight"`
	RawNativeParallel *bool    `json:"native_parallel,omitempty"`
	RawShmSize        *int     `json:"shm_size"`
	RawResourcePool   *string  `json:"resource_pool"`
	RawPriority       *int     `json:"priority"`

	RawDevices DevicesConfigV0 `json:"devices"`
}

ResourcesConfigV0 configures experiment resource usage.

func (ResourcesConfigV0) CompletenessValidator

func (r ResourcesConfigV0) CompletenessValidator() *jsonschema.Schema

func (ResourcesConfigV0) Devices

func (r ResourcesConfigV0) Devices() DevicesConfigV0

func (ResourcesConfigV0) MaxSlots

func (r ResourcesConfigV0) MaxSlots() *int

func (ResourcesConfigV0) NativeParallel

func (r ResourcesConfigV0) NativeParallel() bool

func (ResourcesConfigV0) ParsedSchema

func (r ResourcesConfigV0) ParsedSchema() interface{}

func (ResourcesConfigV0) Priority

func (r ResourcesConfigV0) Priority() *int

func (ResourcesConfigV0) ResourcePool

func (r ResourcesConfigV0) ResourcePool() string

func (ResourcesConfigV0) SanityValidator

func (r ResourcesConfigV0) SanityValidator() *jsonschema.Schema

func (*ResourcesConfigV0) SetDevices

func (r *ResourcesConfigV0) SetDevices(val DevicesConfigV0)

func (*ResourcesConfigV0) SetMaxSlots

func (r *ResourcesConfigV0) SetMaxSlots(val *int)

func (*ResourcesConfigV0) SetNativeParallel

func (r *ResourcesConfigV0) SetNativeParallel(val bool)

func (*ResourcesConfigV0) SetPriority

func (r *ResourcesConfigV0) SetPriority(val *int)

func (*ResourcesConfigV0) SetResourcePool

func (r *ResourcesConfigV0) SetResourcePool(val string)

func (*ResourcesConfigV0) SetShmSize

func (r *ResourcesConfigV0) SetShmSize(val *int)

func (*ResourcesConfigV0) SetSlots

func (r *ResourcesConfigV0) SetSlots(val *int)

func (*ResourcesConfigV0) SetSlotsPerTrial

func (r *ResourcesConfigV0) SetSlotsPerTrial(val int)

func (*ResourcesConfigV0) SetWeight

func (r *ResourcesConfigV0) SetWeight(val float64)

func (ResourcesConfigV0) ShmSize

func (r ResourcesConfigV0) ShmSize() *int

func (ResourcesConfigV0) Slots

func (r ResourcesConfigV0) Slots() *int

func (ResourcesConfigV0) SlotsPerTrial

func (r ResourcesConfigV0) SlotsPerTrial() int

func (ResourcesConfigV0) Weight

func (r ResourcesConfigV0) Weight() float64

type S3Config

type S3Config = S3ConfigV0

type S3ConfigV0

type S3ConfigV0 struct {
	RawBucket      *string `json:"bucket"`
	RawAccessKey   *string `json:"access_key"`
	RawSecretKey   *string `json:"secret_key"`
	RawEndpointURL *string `json:"endpoint_url"`
	RawPrefix      *string `json:"prefix"`
}

S3ConfigV0 configures storing checkpoints on S3.

func (S3ConfigV0) AccessKey

func (s S3ConfigV0) AccessKey() *string

func (S3ConfigV0) Bucket

func (s S3ConfigV0) Bucket() string

func (S3ConfigV0) CompletenessValidator

func (s S3ConfigV0) CompletenessValidator() *jsonschema.Schema

func (S3ConfigV0) EndpointURL

func (s S3ConfigV0) EndpointURL() *string

func (S3ConfigV0) ParsedSchema

func (s S3ConfigV0) ParsedSchema() interface{}

func (S3ConfigV0) Prefix

func (s S3ConfigV0) Prefix() *string

func (S3ConfigV0) SanityValidator

func (s S3ConfigV0) SanityValidator() *jsonschema.Schema

func (S3ConfigV0) SecretKey

func (s S3ConfigV0) SecretKey() *string

func (*S3ConfigV0) SetAccessKey

func (s *S3ConfigV0) SetAccessKey(val *string)

func (*S3ConfigV0) SetBucket

func (s *S3ConfigV0) SetBucket(val string)

func (*S3ConfigV0) SetEndpointURL

func (s *S3ConfigV0) SetEndpointURL(val *string)

func (*S3ConfigV0) SetPrefix

func (s *S3ConfigV0) SetPrefix(val *string)

func (*S3ConfigV0) SetSecretKey

func (s *S3ConfigV0) SetSecretKey(val *string)

func (S3ConfigV0) Validate

func (c S3ConfigV0) Validate() []error

Validate implements the check.Validatable interface.

type SearcherConfig

type SearcherConfig = SearcherConfigV0

func (SearcherConfig) AssertCurrent

func (s SearcherConfig) AssertCurrent() error

AssertCurrent distinguishes configs which are only parsable from those that are runnable.

type SearcherConfigV0

type SearcherConfigV0 struct {
	RawSingleConfig       *SingleConfigV0       `union:"name,single" json:"-"`
	RawRandomConfig       *RandomConfigV0       `union:"name,random" json:"-"`
	RawGridConfig         *GridConfigV0         `union:"name,grid" json:"-"`
	RawAsyncHalvingConfig *AsyncHalvingConfigV0 `union:"name,async_halving" json:"-"`
	RawAdaptiveASHAConfig *AdaptiveASHAConfigV0 `union:"name,adaptive_asha" json:"-"`
	RawCustomConfig       *CustomConfigV0       `union:"name,custom" json:"-"`

	// TODO(DET-8577): There should not be a need to parse EOL searchers if we get rid of parsing
	//                 active experiment configs unnecessarily.
	// These searchers are allowed only to help parse old experiment configs.
	RawSyncHalvingConfig    *SyncHalvingConfigV0    `union:"name,sync_halving" json:"-"`
	RawAdaptiveConfig       *AdaptiveConfigV0       `union:"name,adaptive" json:"-"`
	RawAdaptiveSimpleConfig *AdaptiveSimpleConfigV0 `union:"name,adaptive_simple" json:"-"`

	RawMetric               *string `json:"metric"`
	RawSmallerIsBetter      *bool   `json:"smaller_is_better"`
	RawSourceTrialID        *int    `json:"source_trial_id"`
	RawSourceCheckpointUUID *string `json:"source_checkpoint_uuid"`
}

SearcherConfigV0 holds the searcher configurations.

func (SearcherConfigV0) AsLegacy

func (s SearcherConfigV0) AsLegacy() LegacySearcher

AsLegacy converts a current ExperimentConfig to a (limited capacity) LegacySearcher.

func (SearcherConfigV0) CompletenessValidator

func (s SearcherConfigV0) CompletenessValidator() *jsonschema.Schema

func (SearcherConfigV0) GetUnionMember

func (s SearcherConfigV0) GetUnionMember() interface{}

func (SearcherConfigV0) MarshalJSON

func (s SearcherConfigV0) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (SearcherConfigV0) Merge

Merge implements schemas.Mergeable.

func (SearcherConfigV0) Metric

func (s SearcherConfigV0) Metric() string

func (SearcherConfigV0) ParsedSchema

func (s SearcherConfigV0) ParsedSchema() interface{}

func (SearcherConfigV0) SanityValidator

func (s SearcherConfigV0) SanityValidator() *jsonschema.Schema

func (*SearcherConfigV0) SetMetric

func (s *SearcherConfigV0) SetMetric(val string)

func (*SearcherConfigV0) SetSmallerIsBetter

func (s *SearcherConfigV0) SetSmallerIsBetter(val bool)

func (*SearcherConfigV0) SetSourceCheckpointUUID

func (s *SearcherConfigV0) SetSourceCheckpointUUID(val *string)

func (*SearcherConfigV0) SetSourceTrialID

func (s *SearcherConfigV0) SetSourceTrialID(val *int)

func (SearcherConfigV0) SmallerIsBetter

func (s SearcherConfigV0) SmallerIsBetter() bool

func (SearcherConfigV0) SourceCheckpointUUID

func (s SearcherConfigV0) SourceCheckpointUUID() *string

func (SearcherConfigV0) SourceTrialID

func (s SearcherConfigV0) SourceTrialID() *int

func (SearcherConfigV0) Unit

func (s SearcherConfigV0) Unit() Unit

Unit implements the model.InUnits interface.

func (*SearcherConfigV0) UnmarshalJSON

func (s *SearcherConfigV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type SecurityConfigV0

type SecurityConfigV0 struct {
	RawKerberos KerberosConfigV0 `json:"kerberos"`
}

SecurityConfigV0 is a legacy config.

func (SecurityConfigV0) CompletenessValidator

func (s SecurityConfigV0) CompletenessValidator() *jsonschema.Schema

func (SecurityConfigV0) Kerberos

func (s SecurityConfigV0) Kerberos() KerberosConfigV0

func (SecurityConfigV0) ParsedSchema

func (s SecurityConfigV0) ParsedSchema() interface{}

func (SecurityConfigV0) SanityValidator

func (s SecurityConfigV0) SanityValidator() *jsonschema.Schema

func (*SecurityConfigV0) SetKerberos

func (s *SecurityConfigV0) SetKerberos(val KerberosConfigV0)

type SharedFSConfig

type SharedFSConfig = SharedFSConfigV0

type SharedFSConfigV0

type SharedFSConfigV0 struct {
	RawHostPath        *string `json:"host_path"`
	RawContainerPath   *string `json:"container_path,omitempty"`
	RawCheckpointPath  *string `json:"checkpoint_path,omitempty"`
	RawTensorboardPath *string `json:"tensorboard_path,omitempty"`
	RawStoragePath     *string `json:"storage_path"`
	RawPropagation     *string `json:"propagation"`
}

SharedFSConfigV0 is a config for shared filesystem storage.

func (SharedFSConfigV0) CheckpointPath

func (s SharedFSConfigV0) CheckpointPath() *string

func (SharedFSConfigV0) CompletenessValidator

func (s SharedFSConfigV0) CompletenessValidator() *jsonschema.Schema

func (SharedFSConfigV0) ContainerPath

func (s SharedFSConfigV0) ContainerPath() *string

func (SharedFSConfigV0) HostPath

func (s SharedFSConfigV0) HostPath() string

func (SharedFSConfigV0) ParsedSchema

func (s SharedFSConfigV0) ParsedSchema() interface{}

func (SharedFSConfigV0) PathInContainer

func (s SharedFSConfigV0) PathInContainer() string

PathInContainer caclulates where the full StoragePath will be inside the container.

func (SharedFSConfigV0) Propagation

func (s SharedFSConfigV0) Propagation() string

func (SharedFSConfigV0) SanityValidator

func (s SharedFSConfigV0) SanityValidator() *jsonschema.Schema

func (*SharedFSConfigV0) SetCheckpointPath

func (s *SharedFSConfigV0) SetCheckpointPath(val *string)

func (*SharedFSConfigV0) SetContainerPath

func (s *SharedFSConfigV0) SetContainerPath(val *string)

func (*SharedFSConfigV0) SetHostPath

func (s *SharedFSConfigV0) SetHostPath(val string)

func (*SharedFSConfigV0) SetPropagation

func (s *SharedFSConfigV0) SetPropagation(val string)

func (*SharedFSConfigV0) SetStoragePath

func (s *SharedFSConfigV0) SetStoragePath(val *string)

func (*SharedFSConfigV0) SetTensorboardPath

func (s *SharedFSConfigV0) SetTensorboardPath(val *string)

func (SharedFSConfigV0) StoragePath

func (s SharedFSConfigV0) StoragePath() *string

func (SharedFSConfigV0) TensorboardPath

func (s SharedFSConfigV0) TensorboardPath() *string

type SingleConfig

type SingleConfig = SingleConfigV0

type SingleConfigV0

type SingleConfigV0 struct {
	RawMaxLength *LengthV0 `json:"max_length"`
}

SingleConfigV0 configures a single trial.

func (SingleConfigV0) CompletenessValidator

func (s SingleConfigV0) CompletenessValidator() *jsonschema.Schema

func (SingleConfigV0) MaxLength

func (s SingleConfigV0) MaxLength() LengthV0

func (SingleConfigV0) ParsedSchema

func (s SingleConfigV0) ParsedSchema() interface{}

func (SingleConfigV0) SanityValidator

func (s SingleConfigV0) SanityValidator() *jsonschema.Schema

func (*SingleConfigV0) SetMaxLength

func (s *SingleConfigV0) SetMaxLength(val LengthV0)

func (SingleConfigV0) Unit

func (s SingleConfigV0) Unit() Unit

Unit implements the model.InUnits interface.

type SlurmConfig

type SlurmConfig = SlurmConfigV0

type SlurmConfigV0

type SlurmConfigV0 struct {
	RawSlotsPerNode *int     `json:"slots_per_node,omitempty"`
	RawGpuType      *string  `json:"gpu_type,omitempty"`
	RawSbatchArgs   []string `json:"sbatch_args,omitempty"`
}

SlurmConfigV0 configures experiment resource usage.

func (SlurmConfigV0) CompletenessValidator

func (s SlurmConfigV0) CompletenessValidator() *jsonschema.Schema

func (SlurmConfigV0) GpuType

func (s SlurmConfigV0) GpuType() *string

func (SlurmConfigV0) ParsedSchema

func (s SlurmConfigV0) ParsedSchema() interface{}

func (SlurmConfigV0) SanityValidator

func (s SlurmConfigV0) SanityValidator() *jsonschema.Schema

func (SlurmConfigV0) SbatchArgs

func (s SlurmConfigV0) SbatchArgs() []string

func (*SlurmConfigV0) SetGpuType

func (s *SlurmConfigV0) SetGpuType(val *string)

func (*SlurmConfigV0) SetSbatchArgs

func (s *SlurmConfigV0) SetSbatchArgs(val []string)

func (*SlurmConfigV0) SetSlotsPerNode

func (s *SlurmConfigV0) SetSlotsPerNode(val *int)

func (SlurmConfigV0) SlotsPerNode

func (s SlurmConfigV0) SlotsPerNode() *int

type SyncHalvingConfig

type SyncHalvingConfig = SyncHalvingConfigV0

type SyncHalvingConfigV0

type SyncHalvingConfigV0 struct {
	RawNumRungs        *int      `json:"num_rungs"`
	RawMaxLength       *LengthV0 `json:"max_length"`
	RawBudget          *LengthV0 `json:"budget"`
	RawDivisor         *float64  `json:"divisor"`
	RawTrainStragglers *bool     `json:"train_stragglers"`
}

SyncHalvingConfigV0 is a legacy config.

func (SyncHalvingConfigV0) Budget

func (s SyncHalvingConfigV0) Budget() LengthV0

func (SyncHalvingConfigV0) CompletenessValidator

func (s SyncHalvingConfigV0) CompletenessValidator() *jsonschema.Schema

func (SyncHalvingConfigV0) Divisor

func (s SyncHalvingConfigV0) Divisor() float64

func (SyncHalvingConfigV0) MaxLength

func (s SyncHalvingConfigV0) MaxLength() LengthV0

func (SyncHalvingConfigV0) NumRungs

func (s SyncHalvingConfigV0) NumRungs() int

func (SyncHalvingConfigV0) ParsedSchema

func (s SyncHalvingConfigV0) ParsedSchema() interface{}

func (SyncHalvingConfigV0) SanityValidator

func (s SyncHalvingConfigV0) SanityValidator() *jsonschema.Schema

func (*SyncHalvingConfigV0) SetBudget

func (s *SyncHalvingConfigV0) SetBudget(val LengthV0)

func (*SyncHalvingConfigV0) SetDivisor

func (s *SyncHalvingConfigV0) SetDivisor(val float64)

func (*SyncHalvingConfigV0) SetMaxLength

func (s *SyncHalvingConfigV0) SetMaxLength(val LengthV0)

func (*SyncHalvingConfigV0) SetNumRungs

func (s *SyncHalvingConfigV0) SetNumRungs(val int)

func (*SyncHalvingConfigV0) SetTrainStragglers

func (s *SyncHalvingConfigV0) SetTrainStragglers(val bool)

func (SyncHalvingConfigV0) TrainStragglers

func (s SyncHalvingConfigV0) TrainStragglers() bool

type TensorboardStorageConfigV0

type TensorboardStorageConfigV0 struct {
	RawSharedFSConfigV0 *SharedFSConfigV0  `union:"type,shared_fs" json:"-"`
	RawS3Config         *S3ConfigV0        `union:"type,s3" json:"-"`
	RawGCSConfig        *GCSConfigV0       `union:"type,gcs" json:"-"`
	RawAzureConfig      *AzureConfigV0     `union:"type,azure" json:"-"`
	RawDirectoryConfig  *DirectoryConfigV0 `union:"type,directory" json:"-"`
}

TensorboardStorageConfigV0 is a legacy config.

func (TensorboardStorageConfigV0) CompletenessValidator

func (t TensorboardStorageConfigV0) CompletenessValidator() *jsonschema.Schema

func (TensorboardStorageConfigV0) GetUnionMember

func (t TensorboardStorageConfigV0) GetUnionMember() interface{}

func (TensorboardStorageConfigV0) MarshalJSON

func (t TensorboardStorageConfigV0) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (TensorboardStorageConfigV0) Merge

Merge implements schemas.Mergeable.

func (TensorboardStorageConfigV0) ParsedSchema

func (t TensorboardStorageConfigV0) ParsedSchema() interface{}

func (TensorboardStorageConfigV0) SanityValidator

func (t TensorboardStorageConfigV0) SanityValidator() *jsonschema.Schema

func (*TensorboardStorageConfigV0) UnmarshalJSON

func (t *TensorboardStorageConfigV0) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type TestRootV0

type TestRootV0 struct {
	// required; non-pointer.
	RawValX int `json:"val_x"`

	// defaultable; pointer.
	RawSubObj         *TestSubV0   `json:"sub_obj"`
	RawSubUnion       *TestUnionV0 `json:"sub_union"`
	RawDefaultedArray []string     `json:"defaulted_array"`
	RawNodefaultArray []string     `json:"nodefault_array"`

	// runtime-defaultable container; non-pointer struct containing a pointer.
	RawRuntimeDefaultable TestRuntimeDefaultable `json:"runtime_defaultable"`
}

TestRootV0 is exported.

func (TestRootV0) CompletenessValidator

func (t TestRootV0) CompletenessValidator() *jsonschema.Schema

func (TestRootV0) DefaultedArray

func (t TestRootV0) DefaultedArray() []string

func (TestRootV0) NodefaultArray

func (t TestRootV0) NodefaultArray() []string

func (TestRootV0) ParsedSchema

func (t TestRootV0) ParsedSchema() interface{}

func (TestRootV0) RuntimeDefaultable

func (t TestRootV0) RuntimeDefaultable() TestRuntimeDefaultable

func (TestRootV0) SanityValidator

func (t TestRootV0) SanityValidator() *jsonschema.Schema

func (*TestRootV0) SetDefaultedArray

func (t *TestRootV0) SetDefaultedArray(val []string)

func (*TestRootV0) SetNodefaultArray

func (t *TestRootV0) SetNodefaultArray(val []string)

func (*TestRootV0) SetRuntimeDefaultable

func (t *TestRootV0) SetRuntimeDefaultable(val TestRuntimeDefaultable)

func (*TestRootV0) SetSubObj

func (t *TestRootV0) SetSubObj(val TestSubV0)

func (*TestRootV0) SetSubUnion

func (t *TestRootV0) SetSubUnion(val *TestUnionV0)

func (*TestRootV0) SetValX

func (t *TestRootV0) SetValX(val int)

func (TestRootV0) SubObj

func (t TestRootV0) SubObj() TestSubV0

func (TestRootV0) SubUnion

func (t TestRootV0) SubUnion() *TestUnionV0

func (TestRootV0) ValX

func (t TestRootV0) ValX() int

type TestRuntimeDefaultable

type TestRuntimeDefaultable struct {
	RawInt *int
}

TestRuntimeDefaultable is container for implementing runtime defaults.

func (*TestRuntimeDefaultable) MarshalJSON

func (t *TestRuntimeDefaultable) MarshalJSON() ([]byte, error)

MarshalJSON makes the container transparent for marshaling.

func (*TestRuntimeDefaultable) UnmarshalJSON

func (t *TestRuntimeDefaultable) UnmarshalJSON(bytes []byte) error

UnmarshalJSON makes the container transparent for unmarshaling.

func (TestRuntimeDefaultable) WithDefaults

WithDefaults implements the Defaultable psuedointerface.

type TestSubV0

type TestSubV0 struct {
	// defaultable; pointer.
	RawValY *string `json:"val_y"`
}

TestSubV0 is exported.

func (TestSubV0) CompletenessValidator

func (t TestSubV0) CompletenessValidator() *jsonschema.Schema

func (TestSubV0) ParsedSchema

func (t TestSubV0) ParsedSchema() interface{}

func (TestSubV0) SanityValidator

func (t TestSubV0) SanityValidator() *jsonschema.Schema

func (*TestSubV0) SetValY

func (t *TestSubV0) SetValY(val string)

func (TestSubV0) ValY

func (t TestSubV0) ValY() string

type TestUnionAV0

type TestUnionAV0 struct {
	RawType string `json:"type"`
	RawValA int    `json:"val_a"`

	RawCommonVal *string `json:"common_val"`
}

TestUnionAV0 is exported.

func (TestUnionAV0) CommonVal

func (t TestUnionAV0) CommonVal() string

func (TestUnionAV0) CompletenessValidator

func (t TestUnionAV0) CompletenessValidator() *jsonschema.Schema

func (TestUnionAV0) ParsedSchema

func (t TestUnionAV0) ParsedSchema() interface{}

func (TestUnionAV0) SanityValidator

func (t TestUnionAV0) SanityValidator() *jsonschema.Schema

func (*TestUnionAV0) SetCommonVal

func (t *TestUnionAV0) SetCommonVal(val string)

func (*TestUnionAV0) SetType

func (t *TestUnionAV0) SetType(val string)

func (*TestUnionAV0) SetValA

func (t *TestUnionAV0) SetValA(val int)

func (TestUnionAV0) Type

func (t TestUnionAV0) Type() string

func (TestUnionAV0) ValA

func (t TestUnionAV0) ValA() int

type TestUnionBV0

type TestUnionBV0 struct {
	RawType string `json:"type"`
	RawValB int    `json:"val_b"`

	RawCommonVal *string `json:"common_val"`
}

TestUnionBV0 is exported.

func (TestUnionBV0) CommonVal

func (t TestUnionBV0) CommonVal() string

func (TestUnionBV0) CompletenessValidator

func (t TestUnionBV0) CompletenessValidator() *jsonschema.Schema

func (TestUnionBV0) ParsedSchema

func (t TestUnionBV0) ParsedSchema() interface{}

func (TestUnionBV0) SanityValidator

func (t TestUnionBV0) SanityValidator() *jsonschema.Schema

func (*TestUnionBV0) SetCommonVal

func (t *TestUnionBV0) SetCommonVal(val string)

func (*TestUnionBV0) SetType

func (t *TestUnionBV0) SetType(val string)

func (*TestUnionBV0) SetValB

func (t *TestUnionBV0) SetValB(val int)

func (TestUnionBV0) Type

func (t TestUnionBV0) Type() string

func (TestUnionBV0) ValB

func (t TestUnionBV0) ValB() int

type TestUnionV0

type TestUnionV0 struct {
	RawA *TestUnionAV0 `union:"type,a" json:"-"`
	RawB *TestUnionBV0 `union:"type,b" json:"-"`
}

TestUnionV0 is exported.

func (TestUnionV0) CompletenessValidator

func (t TestUnionV0) CompletenessValidator() *jsonschema.Schema

func (TestUnionV0) GetUnionMember

func (t TestUnionV0) GetUnionMember() interface{}

func (TestUnionV0) MarshalJSON

func (t TestUnionV0) MarshalJSON() ([]byte, error)

MarshalJSON is exported.

func (TestUnionV0) ParsedSchema

func (t TestUnionV0) ParsedSchema() interface{}

func (TestUnionV0) SanityValidator

func (t TestUnionV0) SanityValidator() *jsonschema.Schema

func (*TestUnionV0) UnmarshalJSON

func (t *TestUnionV0) UnmarshalJSON(data []byte) error

UnmarshalJSON is exported.

type Unit

type Unit string

Unit is the type of unit for specifying lengths.

const (
	Records     Unit = "records"
	Batches     Unit = "batches"
	Epochs      Unit = "epochs"
	Unitless    Unit = "unitless"
	Unspecified Unit = "unspecified"
)

All the units available for lengths.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL