Documentation
¶
Index ¶
- Constants
- type DataSamples
- type DataSource
- type Dataset
- type DatasetManager
- func (dm *DatasetManager) AddWorkerMessage(message WorkerMessage)
- func (dm *DatasetManager) Delete(message *gmclient.Message) error
- func (dm *DatasetManager) GetDataset(name string) (*Dataset, bool)
- func (dm *DatasetManager) GetName() string
- func (dm *DatasetManager) Insert(message *gmclient.Message) error
- func (dm *DatasetManager) Start() error
- type DatasetSpec
- type FeatureManager
- type FederatedLearning
- type FederatedLearningManager
- func (fm *FederatedLearningManager) AddWorkerMessage(message WorkerMessage)
- func (fm *FederatedLearningManager) Delete(message *gmclient.Message) error
- func (fm *FederatedLearningManager) GetName() string
- func (fm *FederatedLearningManager) Insert(message *gmclient.Message) error
- func (fm *FederatedLearningManager) Start() error
- type IncrementalJobManager
- func (im *IncrementalJobManager) AddWorkerMessage(message WorkerMessage)
- func (im *IncrementalJobManager) Delete(message *gmclient.Message) error
- func (im *IncrementalJobManager) GetName() string
- func (im *IncrementalJobManager) Insert(message *gmclient.Message) error
- func (im *IncrementalJobManager) Start() error
- type IncrementalLearningJob
- type JobConfig
- type JointInferenceManager
- func (jm *JointInferenceManager) AddWorkerMessage(message WorkerMessage)
- func (jm *JointInferenceManager) Delete(message *gmclient.Message) error
- func (jm *JointInferenceManager) GetName() string
- func (jm *JointInferenceManager) Insert(message *gmclient.Message) error
- func (jm *JointInferenceManager) Start() error
- type MetaData
- type ModelInfo
- type ModelManager
- func (mm *ModelManager) AddWorkerMessage(message WorkerMessage)
- func (mm *ModelManager) Delete(message *gmclient.Message) error
- func (mm *ModelManager) GetModel(name string) (neptunev1.Model, bool)
- func (mm *ModelManager) GetName() string
- func (mm *ModelManager) Insert(message *gmclient.Message) error
- func (mm *ModelManager) Start() error
- type OutputConfig
- type TrainModel
- type UpstreamMessage
- type WorkerInput
- type WorkerMessage
- type WorkerOutput
Constants ¶
const ( // MonitorDataSourceIntervalSeconds is interval time of monitoring data source MonitorDataSourceIntervalSeconds = 10 // DatasetResourceKind is kind of dataset resource DatasetResourceKind = "dataset" )
const ( // JobIterationIntervalSeconds is interval time of each iteration of job JobIterationIntervalSeconds = 10 // DatasetHandlerIntervalSeconds is interval time of handling dataset DatasetHandlerIntervalSeconds = 10 // ModelHandlerIntervalSeconds is interval time of handling model ModelHandlerIntervalSeconds = 10 // EvalSamplesCapacity is capacity of eval samples EvalSamplesCapacity = 5 //IncrementalLearningJobKind is kind of incremental-learning-job resource IncrementalLearningJobKind = "incrementallearningjob" )
const ( // ModelCacheSize is size of cache ModelCacheSize = 100 // ModelResourceKind is kind of dataset resource ModelResourceKind = "model" )
const ( // WorkerMessageChannelCacheSize is size of channel cache WorkerMessageChannelCacheSize = 100 // TrainPhase is the train phase in incremental-learning-job TrainPhase = "train" // EvalPhase is the eval phase in incremental-learning-job EvalPhase = "eval" // DeployPhase is the deploy phase in incremental-learning-job DeployPhase = "deploy" // WorkerWaitingStatus is the waiting status about worker WorkerWaitingStatus = "waiting" // WorkerReadyStatus is the ready status about worker WorkerReadyStatus = "ready" // WorkerCompletedStatus is the completed status about worker WorkerCompletedStatus = "completed" // WorkerFailedStatus is the failed status about worker WorkerFailedStatus = "failed" // TriggerReadyStatus is the ready status about trigger in incremental-learning-job TriggerReadyStatus = "ready" // TriggerCompletedStatus is the completed status about trigger in incremental-learning-job TriggerCompletedStatus = "completed" )
const (
//FederatedLearningJobKind is kind of federated-learning-job resource
FederatedLearningJobKind = "federatedlearningjob"
)
const (
// JointInferenceServiceKind is kind of joint-inference-service resource
JointInferenceServiceKind = "jointinferenceservice"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DataSamples ¶
type DataSamples struct { Numbers int TrainSamples []string EvalVersionSamples [][]string EvalSamples []string }
DataSamples defines samples information
type DataSource ¶
type DataSource struct { TrainSamples []string `json:"trainSamples"` ValidSamples []string `json:"validSamples"` NumberOfSamples int `json:"numberOfSamples"` }
DataSource defines config for data source
type Dataset ¶
type Dataset struct { *neptunev1.Dataset DataSource *DataSource `json:"dataSource"` Done chan struct{} }
Dataset defines config for dataset
type DatasetManager ¶
type DatasetManager struct { Client gmclient.ClientI DatasetMap map[string]*Dataset VolumeMountPrefix string }
DatasetManager defines dataset manager
func NewDatasetManager ¶
func NewDatasetManager(client gmclient.ClientI, options *options.LocalControllerOptions) *DatasetManager
NewDatasetManager creates a dataset manager
func (*DatasetManager) AddWorkerMessage ¶
func (dm *DatasetManager) AddWorkerMessage(message WorkerMessage)
func (*DatasetManager) Delete ¶
func (dm *DatasetManager) Delete(message *gmclient.Message) error
Delete deletes dataset config in db
func (*DatasetManager) GetDataset ¶
func (dm *DatasetManager) GetDataset(name string) (*Dataset, bool)
GetDatasetChannel gets dataset
func (*DatasetManager) GetName ¶
func (dm *DatasetManager) GetName() string
type DatasetSpec ¶
DatasetSpec defines dataset spec
type FeatureManager ¶
type FeatureManager interface { // Start starts the manager Start() error // GetName returns name of the manager GetName() string // AddWorkerMessage dispatch the worker message to manager AddWorkerMessage(message WorkerMessage) // Insert includes gm message creation/updation Insert(*gmclient.Message) error Delete(*gmclient.Message) error }
FeatureManager defines feature manager
func NewFederatedLearningManager ¶
func NewFederatedLearningManager(client gmclient.ClientI) FeatureManager
NewFederatedLearningManager creates a federated-learning-job manager
func NewJointInferenceManager ¶
func NewJointInferenceManager(client gmclient.ClientI) FeatureManager
NewJointInferenceManager creates a joint inference manager
type FederatedLearning ¶
type FederatedLearning struct {
*neptunev1.FederatedLearningJob
}
FederatedLearning defines config for federated-learning-job
type FederatedLearningManager ¶
type FederatedLearningManager struct { Client gmclient.ClientI WorkerMessageChannel chan WorkerMessage }
FederatedLearningManager defines federated-learning-job manager
func (*FederatedLearningManager) AddWorkerMessage ¶
func (fm *FederatedLearningManager) AddWorkerMessage(message WorkerMessage)
AddWorkerMessage adds worker messages to the channel
func (*FederatedLearningManager) Delete ¶
func (fm *FederatedLearningManager) Delete(message *gmclient.Message) error
Delete deletes federated-learning-job config in db
func (*FederatedLearningManager) GetName ¶
func (fm *FederatedLearningManager) GetName() string
GetName returns the name of the manager
func (*FederatedLearningManager) Insert ¶
func (fm *FederatedLearningManager) Insert(message *gmclient.Message) error
Insert inserts federated-learning-job config in db
func (*FederatedLearningManager) Start ¶
func (fm *FederatedLearningManager) Start() error
Start starts federated-learning-job manager
type IncrementalJobManager ¶
type IncrementalJobManager struct { Client gmclient.ClientI WorkerMessageChannel chan WorkerMessage DatasetManager *DatasetManager ModelManager *ModelManager IncrementalJobMap map[string]*IncrementalLearningJob VolumeMountPrefix string }
IncrementalLearningJob defines incremental-learning-job manager
func NewIncrementalJobManager ¶
func NewIncrementalJobManager(client gmclient.ClientI, datasetManager *DatasetManager, modelManager *ModelManager, options *options.LocalControllerOptions) *IncrementalJobManager
NewIncrementalJobManager creates a incremental-learning-job manager
func (*IncrementalJobManager) AddWorkerMessage ¶
func (im *IncrementalJobManager) AddWorkerMessage(message WorkerMessage)
AddWorkerMessage adds worker messages
func (*IncrementalJobManager) Delete ¶
func (im *IncrementalJobManager) Delete(message *gmclient.Message) error
Delete deletes incremental-learning-job config in db
func (*IncrementalJobManager) GetName ¶
func (im *IncrementalJobManager) GetName() string
GetName returns name of the manager
func (*IncrementalJobManager) Insert ¶
func (im *IncrementalJobManager) Insert(message *gmclient.Message) error
Insert inserts incremental-learning-job config to db
func (*IncrementalJobManager) Start ¶
func (im *IncrementalJobManager) Start() error
Start starts incremental-learning-job manager
type IncrementalLearningJob ¶
type IncrementalLearningJob struct { neptunev1.IncrementalLearningJob JobConfig *JobConfig Dataset *Dataset Done chan struct{} }
IncrementalLearningJob defines config for incremental-learning-job
type JobConfig ¶
type JobConfig struct { UniqueIdentifier string Version int Phase string WorkerStatus string TrainTrigger trigger.Base DeployTrigger trigger.Base TriggerStatus string TriggerTime time.Time TrainDataURL string EvalDataURL string OutputDir string OutputConfig *OutputConfig DataSamples *DataSamples TrainModel *TrainModel DeployModel *ModelInfo EvalResult []*ModelInfo Lock sync.Mutex }
JobConfig defines config for incremental-learning-job
type JointInferenceManager ¶
type JointInferenceManager struct { Client gmclient.ClientI WorkerMessageChannel chan WorkerMessage }
JointInferenceManager defines joint-inference-service manager
func (*JointInferenceManager) AddWorkerMessage ¶
func (jm *JointInferenceManager) AddWorkerMessage(message WorkerMessage)
AddWorkerMessage adds worker messages
func (*JointInferenceManager) Delete ¶
func (jm *JointInferenceManager) Delete(message *gmclient.Message) error
Delete deletes joint-inference-service config in db
func (*JointInferenceManager) GetName ¶
func (jm *JointInferenceManager) GetName() string
GetName gets kind of the manager
func (*JointInferenceManager) Insert ¶
func (jm *JointInferenceManager) Insert(message *gmclient.Message) error
Insert inserts joint-inference-service config in db
func (*JointInferenceManager) Start ¶
func (jm *JointInferenceManager) Start() error
Start starts joint-inference-service manager
type ModelInfo ¶
type ModelInfo struct { Format string `json:"format"` URL string `json:"url"` Metrics map[string][]float64 `json:"metrics,omitempty"` }
ModelInfo defines model
type ModelManager ¶
ModelManager defines model manager
func NewModelManager ¶
func NewModelManager(client gmclient.ClientI) *ModelManager
NewModelManager creates a model manager
func (*ModelManager) AddWorkerMessage ¶
func (mm *ModelManager) AddWorkerMessage(message WorkerMessage)
func (*ModelManager) Delete ¶
func (mm *ModelManager) Delete(message *gmclient.Message) error
Delete deletes model in db
func (*ModelManager) GetModel ¶
func (mm *ModelManager) GetModel(name string) (neptunev1.Model, bool)
GetModel gets model
func (*ModelManager) GetName ¶
func (mm *ModelManager) GetName() string
type OutputConfig ¶
type OutputConfig struct { SamplesOutput map[string]string `json:"trainData"` TrainOutput string `json:"trainOutput"` EvalOutput string `json:"evalOutput"` }
OutputConfig defines config for job output
type TrainModel ¶
type TrainModel struct { Model *ModelInfo `json:"model"` TrainedModel map[string]string `json:"trainedModel"` OutputURL string `json:"outputUrl"` }
TrainModel defines config about training model
type UpstreamMessage ¶
type UpstreamMessage struct { Phase string `json:"phase"` Status string `json:"status"` Input *WorkerInput `json:"input,omitempty"` Output *WorkerOutput `json:"output"` }
UpstreamMessage defines send message to GlobalManager
type WorkerInput ¶
type WorkerMessage ¶
type WorkerMessage struct { Name string `json:"name"` Namespace string `json:"namespace"` OwnerName string `json:"ownerName"` OwnerKind string `json:"ownerKind"` Kind string `json:"kind"` Status string `json:"status"` OwnerInfo map[string]interface{} `json:"ownerInfo"` Results []map[string]interface{} `json:"results"` }
WorkerMessage defines message struct from worker
type WorkerOutput ¶
type WorkerOutput struct { Models []map[string]interface{} `json:"models"` OwnerInfo map[string]interface{} `json:"ownerInfo"` }
WorkerOutput defines output information of worker