swh:1:snp:e77894886b450c6109aac4a3cdd519d6ed38b51f
Raw File
Tip revision: 255bf37f5e1470c235f59dcfa2e17c5642fb0f34 authored by jdplatt on 01 April 2019, 11:17:06 UTC
Merge branch 'master' into python_migration
Tip revision: 255bf37
api.swagger.json
{
  "swagger": "2.0",
  "info": {
    "title": "api.proto",
    "version": "version not set"
  },
  "schemes": [
    "http",
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/api/Manager/CreateStudy": {
      "post": {
        "summary": "*\nCreate a Study from Study Config.\nGenerate a unique ID and store the Study to DB.",
        "operationId": "CreateStudy",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiCreateStudyReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiStudyConfig"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/CreateTrial": {
      "post": {
        "summary": "*\nCreate a Trial from Trial Config.\nGenerate a unique ID and store the Trial to DB.",
        "operationId": "CreateTrial",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiCreateTrialReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiTrial"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/DeleteStudy/{study_id}": {
      "get": {
        "summary": "* \nDelete a Study from DB by Study ID.",
        "operationId": "DeleteStudy",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiDeleteStudyReply"
            }
          }
        },
        "parameters": [
          {
            "name": "study_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetEarlyStoppingParameterList/{study_id}": {
      "get": {
        "operationId": "GetEarlyStoppingParameterList",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetEarlyStoppingParameterListReply"
            }
          }
        },
        "parameters": [
          {
            "name": "study_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetEarlyStoppingParameters/{param_id}": {
      "get": {
        "operationId": "GetEarlyStoppingParameters",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetEarlyStoppingParametersReply"
            }
          }
        },
        "parameters": [
          {
            "name": "param_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetMetrics": {
      "post": {
        "summary": "*\nGet metrics of workers.\nYou can get all logs of metrics since start of the worker.",
        "operationId": "GetMetrics",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetMetricsReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiGetMetricsRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetSavedModels": {
      "get": {
        "operationId": "GetSavedModels",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetSavedModelsReply"
            }
          }
        },
        "parameters": [
          {
            "name": "study_name",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetSavedStudies": {
      "get": {
        "operationId": "GetSavedStudies",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetSavedStudiesReply"
            }
          }
        },
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetStudy/{study_id}": {
      "get": {
        "summary": "* \nGet a Study Config from DB by ID of Study.",
        "operationId": "GetStudy",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetStudyReply"
            }
          }
        },
        "parameters": [
          {
            "name": "study_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetStudyList": {
      "get": {
        "summary": "*\nGet all Study Configs from DB.",
        "operationId": "GetStudyList",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetStudyListReply"
            }
          }
        },
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetSuggestionParameterList/{study_id}": {
      "get": {
        "summary": "*\nGet all suggestion parameter sets from DB.",
        "operationId": "GetSuggestionParameterList",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetSuggestionParameterListReply"
            }
          }
        },
        "parameters": [
          {
            "name": "study_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetSuggestionParameters/{param_id}": {
      "get": {
        "summary": "*\nGet suggestion parameter set from DB specified.",
        "operationId": "GetSuggestionParameters",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetSuggestionParametersReply"
            }
          }
        },
        "parameters": [
          {
            "name": "param_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetSuggestions": {
      "post": {
        "summary": "* \nGet Suggestions from a Suggestion service.",
        "operationId": "GetSuggestions",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetSuggestionsReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiGetSuggestionsRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetTrial/{trial_id}": {
      "get": {
        "summary": "*\nGet a Trial Configuration from DB by ID of Trial.",
        "operationId": "GetTrial",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetTrialReply"
            }
          }
        },
        "parameters": [
          {
            "name": "trial_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetTrials/GetShouldStopWorkers": {
      "post": {
        "operationId": "GetShouldStopWorkers",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetShouldStopWorkersReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiGetShouldStopWorkersRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetTrials/{study_id}": {
      "get": {
        "summary": "* \nGet a Trial Configs from DB by ID of Study.",
        "operationId": "GetTrials",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetTrialsReply"
            }
          }
        },
        "parameters": [
          {
            "name": "study_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetWorkerFullInfo": {
      "get": {
        "summary": "* \nGet full information related to specified Workers.\nIt includes Worker Config, HyperParameters and Metrics Logs.",
        "operationId": "GetWorkerFullInfo",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetWorkerFullInfoReply"
            }
          }
        },
        "parameters": [
          {
            "name": "study_id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "trial_id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "worker_id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "only_latest_log",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/GetWorkers": {
      "get": {
        "summary": "* \nGet a Worker Configs and Status from DB by ID of Study, Trial or Worker.",
        "operationId": "GetWorkers",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiGetWorkersReply"
            }
          }
        },
        "parameters": [
          {
            "name": "study_id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "trial_id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "worker_id",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/RegisterWorker": {
      "post": {
        "summary": "*\nCreate a Worker from Worker Config.\nGenerate a unique ID and store the Worker to DB.",
        "operationId": "RegisterWorker",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiRegisterWorkerReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiWorker"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/ReportMetricsLogs": {
      "post": {
        "summary": "*\nReport a logs of metrics for workers.\nThe logs for each worker must have timestamp and must be ordered in time series.\nWhen the log you reported are already reported before, it will be dismissed and get no error.",
        "operationId": "ReportMetricsLogs",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiReportMetricsLogsReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiReportMetricsLogsRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/SaveModel": {
      "post": {
        "operationId": "SaveModel",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiSaveModelReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiSaveModelRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/SaveStudy": {
      "post": {
        "operationId": "SaveStudy",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiSaveStudyReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiSaveStudyRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/SetEarlyStoppingParameters": {
      "post": {
        "operationId": "SetEarlyStoppingParameters",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiSetEarlyStoppingParametersReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiSetEarlyStoppingParametersRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/SetSuggestionParameters": {
      "post": {
        "summary": "*\nCreate or Update parameter set for a suggestion service.\nIf you specify an ID of parameter set, it will update the parameter set by your request.\nIf you don't specify an ID, it will create a new parameter set for corresponding study and suggestion service.\nThe parameters are key-value format.",
        "operationId": "SetSuggestionParameters",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiSetSuggestionParametersReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiSetSuggestionParametersRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/UpdateWorkerState": {
      "put": {
        "summary": "* \nUpdate a Status of Worker.",
        "operationId": "UpdateWorkerState",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiUpdateWorkerStateReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiUpdateWorkerStateRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    },
    "/api/Manager/ValidateSuggestionParameters": {
      "post": {
        "summary": "* \nValidate Suggestion Parameters from Study Job.",
        "operationId": "ValidateSuggestionParameters",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/apiValidateSuggestionParametersReply"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/apiValidateSuggestionParametersRequest"
            }
          }
        ],
        "tags": [
          "Manager"
        ]
      }
    }
  },
  "definitions": {
    "NasConfigOperations": {
      "type": "object",
      "properties": {
        "operation": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiOperation"
          }
        }
      }
    },
    "apiCreateStudyReply": {
      "type": "object",
      "properties": {
        "study_id": {
          "type": "string"
        }
      },
      "description": "*\nReturn generated StudyID."
    },
    "apiCreateTrialReply": {
      "type": "object",
      "properties": {
        "trial_id": {
          "type": "string"
        }
      },
      "description": "*\nReturn generated TrialID."
    },
    "apiDataSetInfo": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "apiDeleteStudyReply": {
      "type": "object",
      "properties": {
        "study_id": {
          "type": "string"
        }
      },
      "description": "*\nReturn deleted Study ID."
    },
    "apiEarlyStoppingParameter": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "description": "*\nParameter for EarlyStopping service. Key-value format."
    },
    "apiEarlyStoppingParameterSet": {
      "type": "object",
      "properties": {
        "param_id": {
          "type": "string"
        },
        "early_stopping_algorithm": {
          "type": "string"
        },
        "early_stopping_parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiEarlyStoppingParameter"
          }
        }
      }
    },
    "apiFeasibleSpace": {
      "type": "object",
      "properties": {
        "max": {
          "type": "string"
        },
        "min": {
          "type": "string"
        },
        "list": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "step": {
          "type": "string"
        }
      },
      "description": "*\nFeasible space for optimization.\nInt and Double type use Max/Min.\nDiscrete and Categorical type use List."
    },
    "apiGetEarlyStoppingParameterListReply": {
      "type": "object",
      "properties": {
        "early_stopping_parameter_sets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiEarlyStoppingParameterSet"
          }
        }
      }
    },
    "apiGetEarlyStoppingParametersReply": {
      "type": "object",
      "properties": {
        "early_stopping_parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiEarlyStoppingParameter"
          }
        }
      }
    },
    "apiGetMetricsReply": {
      "type": "object",
      "properties": {
        "metrics_log_sets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiMetricsLogSet"
          }
        }
      }
    },
    "apiGetMetricsRequest": {
      "type": "object",
      "properties": {
        "study_id": {
          "type": "string"
        },
        "worker_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "metrics_names": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "apiGetSavedModelsReply": {
      "type": "object",
      "properties": {
        "models": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiModelInfo"
          }
        }
      }
    },
    "apiGetSavedStudiesReply": {
      "type": "object",
      "properties": {
        "studies": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiStudyOverview"
          }
        }
      }
    },
    "apiGetShouldStopWorkersReply": {
      "type": "object",
      "properties": {
        "should_stop_worker_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "apiGetShouldStopWorkersRequest": {
      "type": "object",
      "properties": {
        "study_id": {
          "type": "string"
        },
        "early_stopping_algorithm": {
          "type": "string"
        },
        "param_id": {
          "type": "string"
        }
      }
    },
    "apiGetStudyListReply": {
      "type": "object",
      "properties": {
        "study_overviews": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiStudyOverview"
          }
        }
      },
      "description": "* \nReturn a overview list of Studies."
    },
    "apiGetStudyReply": {
      "type": "object",
      "properties": {
        "study_config": {
          "$ref": "#/definitions/apiStudyConfig"
        }
      },
      "description": "*\nReturn a config of specified Study."
    },
    "apiGetSuggestionParameterListReply": {
      "type": "object",
      "properties": {
        "suggestion_parameter_sets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiSuggestionParameterSet"
          }
        }
      }
    },
    "apiGetSuggestionParametersReply": {
      "type": "object",
      "properties": {
        "suggestion_parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiSuggestionParameter"
          }
        }
      }
    },
    "apiGetSuggestionsReply": {
      "type": "object",
      "properties": {
        "trials": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiTrial"
          }
        }
      }
    },
    "apiGetSuggestionsRequest": {
      "type": "object",
      "properties": {
        "study_id": {
          "type": "string"
        },
        "suggestion_algorithm": {
          "type": "string"
        },
        "request_number": {
          "type": "integer",
          "format": "int32"
        },
        "log_worker_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "param_id": {
          "type": "string"
        }
      }
    },
    "apiGetTrialReply": {
      "type": "object",
      "properties": {
        "trial": {
          "$ref": "#/definitions/apiTrial"
        }
      },
      "title": "*\nReturn a trial configuration by specified trial ID"
    },
    "apiGetTrialsReply": {
      "type": "object",
      "properties": {
        "trials": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiTrial"
          }
        }
      },
      "description": "*\nReturn a trial list in specified Study."
    },
    "apiGetWorkerFullInfoReply": {
      "type": "object",
      "properties": {
        "worker_full_infos": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiWorkerFullInfo"
          }
        }
      }
    },
    "apiGetWorkersReply": {
      "type": "object",
      "properties": {
        "workers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiWorker"
          }
        }
      },
      "description": "*\nReturn a Worker list by specified condition."
    },
    "apiGraphConfig": {
      "type": "object",
      "properties": {
        "num_layers": {
          "type": "integer",
          "format": "int32"
        },
        "input_size": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        },
        "output_size": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "title": "*\nGraphConfig contains a config of DAG"
    },
    "apiMetrics": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "title": "*\nMetrics of a worker"
    },
    "apiMetricsLog": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiMetricsValueTime"
          }
        }
      },
      "title": "*\nMetrics logs of a worker"
    },
    "apiMetricsLogSet": {
      "type": "object",
      "properties": {
        "worker_id": {
          "type": "string"
        },
        "metrics_logs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiMetricsLog"
          }
        },
        "worker_status": {
          "$ref": "#/definitions/apiState"
        }
      },
      "description": "*\nLogs of metrics for a worker."
    },
    "apiMetricsValueTime": {
      "type": "object",
      "properties": {
        "time": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "title": "*\nMetrics of a worker with timestamp"
    },
    "apiModelInfo": {
      "type": "object",
      "properties": {
        "study_name": {
          "type": "string"
        },
        "worker_id": {
          "type": "string"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiParameter"
          }
        },
        "metrics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiMetrics"
          }
        },
        "model_path": {
          "type": "string"
        }
      }
    },
    "apiNasConfig": {
      "type": "object",
      "properties": {
        "graph_config": {
          "$ref": "#/definitions/apiGraphConfig"
        },
        "operations": {
          "$ref": "#/definitions/NasConfigOperations"
        }
      },
      "title": "*\nNasConfig contains a config of NAS job"
    },
    "apiOperation": {
      "type": "object",
      "properties": {
        "operationType": {
          "type": "string"
        },
        "parameter_configs": {
          "$ref": "#/definitions/apiOperationParameterConfigs"
        }
      },
      "title": "*\nConfig for operations in DAG"
    },
    "apiOperationParameterConfigs": {
      "type": "object",
      "properties": {
        "configs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiParameterConfig"
          }
        }
      },
      "title": "* \nList of ParameterConfig"
    },
    "apiOptimizationType": {
      "type": "string",
      "enum": [
        "UNKNOWN_OPTIMIZATION",
        "MINIMIZE",
        "MAXIMIZE"
      ],
      "default": "UNKNOWN_OPTIMIZATION",
      "description": "*\nDirection of optimization. Minimize or Maximize."
    },
    "apiParameter": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "parameter_type": {
          "$ref": "#/definitions/apiParameterType"
        },
        "value": {
          "type": "string"
        }
      },
      "description": "*\nValue of a Hyper parameter.\nThis will be created from a correcponding Config."
    },
    "apiParameterConfig": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "parameter_type": {
          "$ref": "#/definitions/apiParameterType"
        },
        "feasible": {
          "$ref": "#/definitions/apiFeasibleSpace"
        }
      },
      "description": "*\nConfig for a Hyper parameter.\nKatib will create each Hyper parameter from this config."
    },
    "apiParameterType": {
      "type": "string",
      "enum": [
        "UNKNOWN_TYPE",
        "DOUBLE",
        "INT",
        "DISCRETE",
        "CATEGORICAL"
      ],
      "default": "UNKNOWN_TYPE",
      "description": "*\nTypes of value for HyperParameter."
    },
    "apiRegisterWorkerReply": {
      "type": "object",
      "properties": {
        "worker_id": {
          "type": "string"
        }
      },
      "description": "*\nReturn generated WorkerID."
    },
    "apiReportMetricsLogsReply": {
      "type": "object"
    },
    "apiReportMetricsLogsRequest": {
      "type": "object",
      "properties": {
        "study_id": {
          "type": "string"
        },
        "metrics_log_sets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiMetricsLogSet"
          }
        }
      }
    },
    "apiSaveModelReply": {
      "type": "object"
    },
    "apiSaveModelRequest": {
      "type": "object",
      "properties": {
        "model": {
          "$ref": "#/definitions/apiModelInfo"
        },
        "data_set": {
          "$ref": "#/definitions/apiDataSetInfo"
        },
        "tensor_board": {
          "type": "boolean",
          "format": "boolean"
        }
      }
    },
    "apiSaveStudyReply": {
      "type": "object"
    },
    "apiSaveStudyRequest": {
      "type": "object",
      "properties": {
        "study_name": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "apiSetEarlyStoppingParametersReply": {
      "type": "object",
      "properties": {
        "param_id": {
          "type": "string"
        }
      }
    },
    "apiSetEarlyStoppingParametersRequest": {
      "type": "object",
      "properties": {
        "study_id": {
          "type": "string"
        },
        "early_stopping_algorithm": {
          "type": "string"
        },
        "param_id": {
          "type": "string"
        },
        "early_stopping_parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiEarlyStoppingParameter"
          }
        }
      }
    },
    "apiSetSuggestionParametersReply": {
      "type": "object",
      "properties": {
        "param_id": {
          "type": "string"
        }
      }
    },
    "apiSetSuggestionParametersRequest": {
      "type": "object",
      "properties": {
        "study_id": {
          "type": "string"
        },
        "suggestion_algorithm": {
          "type": "string"
        },
        "param_id": {
          "type": "string"
        },
        "suggestion_parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiSuggestionParameter"
          }
        }
      }
    },
    "apiState": {
      "type": "string",
      "enum": [
        "PENDING",
        "RUNNING",
        "COMPLETED",
        "KILLED",
        "ERROR"
      ],
      "default": "PENDING",
      "description": "*\nStatus code for worker.\nThis value is stored as TINYINT in MySQL."
    },
    "apiStudyConfig": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "optimization_type": {
          "$ref": "#/definitions/apiOptimizationType"
        },
        "optimization_goal": {
          "type": "number",
          "format": "double"
        },
        "parameter_configs": {
          "$ref": "#/definitions/apiStudyConfigParameterConfigs"
        },
        "access_permissions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiTag"
          }
        },
        "objective_value_name": {
          "type": "string"
        },
        "metrics": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "jobId": {
          "type": "string"
        },
        "nas_config": {
          "$ref": "#/definitions/apiNasConfig"
        },
        "job_type": {
          "type": "string"
        }
      },
      "description": "*\nConfig of a Study. Study represents a single optimization run over a feasible space. \nEach Study contains a configuration describing the feasible space, as well as a set of Trials.\nIt is assumed that objective function f(x) does not change in the course of a Study."
    },
    "apiStudyConfigParameterConfigs": {
      "type": "object",
      "properties": {
        "configs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiParameterConfig"
          }
        }
      },
      "title": "* \nList of ParameterConfig"
    },
    "apiStudyOverview": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "description": "*\nOverview of a study. For UI."
    },
    "apiSuggestionParameter": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "description": "*\nParameter for Suggestion service. Key-value format."
    },
    "apiSuggestionParameterSet": {
      "type": "object",
      "properties": {
        "param_id": {
          "type": "string"
        },
        "suggestion_algorithm": {
          "type": "string"
        },
        "suggestion_parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiSuggestionParameter"
          }
        }
      }
    },
    "apiTag": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "description": "*\nTag for each resource."
    },
    "apiTrial": {
      "type": "object",
      "properties": {
        "trial_id": {
          "type": "string"
        },
        "study_id": {
          "type": "string"
        },
        "parameter_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiParameter"
          }
        },
        "objective_value": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiTag"
          }
        },
        "create_time": {
          "type": "string"
        }
      },
      "title": "*\nA set of Hyperparameter.\nIn a study, multiple trials are evaluated by workers.\nSuggestion service will generate next trials.\nCreate time will be filled in the server automatically side even user set the value"
    },
    "apiUpdateWorkerStateReply": {
      "type": "object"
    },
    "apiUpdateWorkerStateRequest": {
      "type": "object",
      "properties": {
        "worker_id": {
          "type": "string"
        },
        "status": {
          "$ref": "#/definitions/apiState"
        }
      },
      "description": "* \nUpdate a Status of Worker."
    },
    "apiValidateSuggestionParametersReply": {
      "type": "object",
      "title": "*\nReturn 1 if Suggestion Parameters is Valid, 0 if not"
    },
    "apiValidateSuggestionParametersRequest": {
      "type": "object",
      "properties": {
        "study_config": {
          "$ref": "#/definitions/apiStudyConfig"
        },
        "suggestion_algorithm": {
          "type": "string"
        },
        "suggestion_parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiSuggestionParameter"
          }
        }
      }
    },
    "apiWorker": {
      "type": "object",
      "properties": {
        "worker_id": {
          "type": "string"
        },
        "study_id": {
          "type": "string"
        },
        "trial_id": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        },
        "status": {
          "$ref": "#/definitions/apiState"
        },
        "TemplatePath": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiTag"
          }
        }
      },
      "description": "* \nA process of evaluation for a trial.\nTypes of worker supported by Katib are k8s Job, TF-Job, and Pytorch-Job."
    },
    "apiWorkerFullInfo": {
      "type": "object",
      "properties": {
        "Worker": {
          "$ref": "#/definitions/apiWorker"
        },
        "parameter_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiParameter"
          }
        },
        "metrics_logs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiMetricsLog"
          }
        }
      }
    }
  }
}
back to top