Skip to content

Make low-level API for using katib flexibly #72

@YujiOshima

Description

@YujiOshima

Discussde #66
This is the APIs I'm going to refactor and add.

API input process output
CreateStudy StudyConfig Save Study conf to DB
CreateStudyID
StudyID
error
GetSuggestions StudyID
SuggestionAlgorithmName
RequestNum
Create Trials from Suggesiton []TrialID
error
RunTrials StudyID
[]TrialID
Worker
Request to run Trial to worker
Set Trial status running
error
StopTrials StudyID
[]TrialID
IsComplete
Stop Trial worker
Set Trial Status Complete
[]TrialID
error
ShouldStopTrial StudyID
EarlyStopAlgorithm
Get ShuoulStop Trials []TrialID
error
SetSuggestionParameter StudyID
SuggestionAlgorithmName
AlgorithmParam
Set Parameters error
SetEarlyStoppingParameter StudyID
EarlyStoppingAlgorithmName
EarlyStoppingParam
Set Parameters error
GetMetrics []TrialID Get Metrics of Trials []Metrics
error
SaveStudy StudyID Save StudyInfo to ModelDB error
SaveModels StudyID
[]TrialID
[]Metrics
Save Trial and Metrics Info to ModelDB error

Typical usage is like below.

	studyId, _ := grpc.CreateStudy(studyConfig)
	grpc.SetSuggestionParameter(studyId, "random", suggestParam)
	grpc.SetEarlyStoppingParameter(studyId, "medianstopping", earlystopParam)
	grpc.SaveStudy(studyId)
	for IsStudyComleted() {
		trials, _ := grpc.GetSuggesitons(studyId, "random", 10)
		grpc.RunTrials(studyId, trials)
		for {
			metrics, workerState, _ := grpc.GetMetrics(studyId, trials)
			if AllWorkerCompleted(workerState) {
				grpc.CompleteTrial(studyId, trials, true)
				grpc.SaveModels(studyId, trials, metrics)
				break
			}
			shouldStops := grpc.ShouldStopTrial(studyId, trials)
			grpc.CompleteTrial(studyId, shouldStops, false)
			deleteShuldStopsFromTrialList(trials, shouldStops)
		}
	}

WDYT? @ddysher @gaocegege @libbyandhelen

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions