Documentation ¶
Overview ¶
Package server IBM Deep Learning as a Service (DLaaS) DLaaS enables deep learning (DL) highly scalable training of models for multiple frameworks on GPUs. The [DLaaS user guide](https://dlaas-guide.stage1.mybluemix.net/) provides more details on how to use the service, including examples.
Schemes: https Host: gateway.watsonplatform.net BasePath: / Version: 1.0.0 Consumes: - application/json - multipart/form-data Produces: - application/json - application/octet-stream
swagger:meta
Index ¶
- Variables
- func GetHealth(w http.ResponseWriter, r *http.Request)
- func WriteManifestV1(t *ManifestV1) ([]byte, error)
- type Any
- type EMExtractionSpec
- type EMGroup
- type EMMeta
- type ManifestV1
- type Server
- func (s *Server) ConfigureAPI()
- func (s *Server) ConfigureFlags()
- func (s *Server) Fatalf(f string, args ...interface{})
- func (s *Server) GetHandler() http.Handler
- func (s *Server) HTTPListener() (net.Listener, error)
- func (s *Server) Listen() error
- func (s *Server) Logf(f string, args ...interface{})
- func (s *Server) Serve() (err error)
- func (s *Server) SetAPI(api *operations.DlaasAPI)
- func (s *Server) SetHandler(handler http.Handler)
- func (s *Server) Shutdown() error
- func (s *Server) TLSListener() (net.Listener, error)
- func (s *Server) UnixListener() (net.Listener, error)
Constants ¶
This section is empty.
Variables ¶
var SwaggerJSON json.RawMessage
SwaggerJSON embedded version of the swagger document used at generation time
Functions ¶
func GetHealth ¶
func GetHealth(w http.ResponseWriter, r *http.Request)
GetHealth returns the health of the service
func WriteManifestV1 ¶
func WriteManifestV1(t *ManifestV1) ([]byte, error)
WriteManifestV1 writes a manifest object to a byte array
Types ¶
type EMExtractionSpec ¶
type EMExtractionSpec struct { Type string `yaml:"type,omitempty"` ImageTag string `yaml:"image_tag,omitempty"` In string `yaml:"in,omitempty"` LineLookahead int32 `yaml:"line_lookahead,omitempty"` EventTypes []string `yaml:"eventTypes,omitempty"` Groups map[string]*EMGroup `yaml:"groups,omitempty"` }
EMExtractionSpec specifies which log-collector is run, and how the evaluation metrics are extracted.
type EMGroup ¶
type EMGroup struct { Regex string `yaml:"regex,omitempty"` Meta *EMMeta `yaml:"meta,omitempty"` Scalars map[string]*Any `yaml:"scalars,omitempty"` Etimes map[string]*Any `yaml:"etimes,omitempty"` }
EMGroup is used by the regex_extractor to specify log line matches, and the corresponding evaluation metrics.
type EMMeta ¶
type EMMeta struct { // Time that the metric occured: representing the number of millisecond since midnight January 1, 1970. // (ref, for instance $timestamp). Value will be extracted from timestamps Time string `yaml:"time,omitempty"` }
EMMeta is used in the EMGroup record to specify the time occurrence of the evaluation metric.
type ManifestV1 ¶
type ManifestV1 struct { Name string `yaml:"name,omitempty"` Description string `yaml:"description,omitempty"` Version string `yaml:"version,omitempty"` Cpus float64 `yaml:"cpus,omitempty"` Gpus float64 `yaml:"gpus,omitempty"` Gpu_type string `yaml:"gpu_type,omitempty"` Learners int32 `yaml:"learners,omitempty"` Memory string `yaml:"memory,omitempty"` Storage string `yaml:"storage,omitempty"` DataStores []*dataStoreRef `yaml:"data_stores,omitempty"` Framework *frameworkV1 `yaml:"framework,omitempty"` EvaluationMetrics *EMExtractionSpec `yaml:"evaluation_metrics,omitempty"` }
ManifestV1 represents a manifest used to define the configurations for a training job
func LoadManifestV1 ¶
func LoadManifestV1(data []byte) (*ManifestV1, error)
LoadManifestV1 constructs a manifest object from a byte array
type Server ¶
type Server struct { EnabledListeners []string `long:"scheme" description:"the listeners to enable, this can be repeated and defaults to the schemes in the swagger spec"` CleanupTimeout time.Duration `long:"cleanup-timeout" description:"grace period for which to wait before shutting down the server" default:"10s"` MaxHeaderSize flagext.ByteSize `` /* 231-byte string literal not displayed */ SocketPath flags.Filename `long:"socket-path" description:"the unix socket to listen on" default:"/var/run/dlaas.sock"` Host string `long:"host" description:"the IP to listen on" default:"localhost" env:"HOST"` Port int `long:"port" description:"the port to listen on for insecure connections, defaults to a random value" env:"PORT"` ListenLimit int `long:"listen-limit" description:"limit the number of outstanding requests"` KeepAlive time.Duration `` /* 169-byte string literal not displayed */ ReadTimeout time.Duration `long:"read-timeout" description:"maximum duration before timing out read of the request" default:"30s"` WriteTimeout time.Duration `long:"write-timeout" description:"maximum duration before timing out write of the response" default:"60s"` TLSHost string `long:"tls-host" description:"the IP to listen on for tls, when not specified it's the same as --host" env:"TLS_HOST"` TLSPort int `long:"tls-port" description:"the port to listen on for secure connections, defaults to a random value" env:"TLS_PORT"` TLSCertificate flags.Filename `long:"tls-certificate" description:"the certificate to use for secure connections" env:"TLS_CERTIFICATE"` TLSCertificateKey flags.Filename `long:"tls-key" description:"the private key to use for secure conections" env:"TLS_PRIVATE_KEY"` TLSCACertificate flags.Filename `long:"tls-ca" description:"the certificate authority file to be used with mutual tls auth" env:"TLS_CA_CERTIFICATE"` TLSListenLimit int `long:"tls-listen-limit" description:"limit the number of outstanding requests"` TLSKeepAlive time.Duration `` /* 160-byte string literal not displayed */ TLSReadTimeout time.Duration `long:"tls-read-timeout" description:"maximum duration before timing out read of the request"` TLSWriteTimeout time.Duration `long:"tls-write-timeout" description:"maximum duration before timing out write of the response"` // contains filtered or unexported fields }
Server for the dlaas API
func NewServer ¶
func NewServer(api *operations.DlaasAPI) *Server
NewServer creates a new api dlaas server but does not configure it
func (*Server) ConfigureAPI ¶
func (s *Server) ConfigureAPI()
ConfigureAPI configures the API and handlers.
func (*Server) ConfigureFlags ¶
func (s *Server) ConfigureFlags()
ConfigureFlags configures the additional flags defined by the handlers. Needs to be called before the parser.Parse
func (*Server) Fatalf ¶
Fatalf logs message either via defined user logger or via system one if no user logger is defined. Exits with non-zero status after printing
func (*Server) GetHandler ¶
GetHandler returns a handler useful for testing
func (*Server) HTTPListener ¶
HTTPListener returns the http listener
func (*Server) Logf ¶
Logf logs message either via defined user logger or via system one if no user logger is defined.
func (*Server) SetAPI ¶
func (s *Server) SetAPI(api *operations.DlaasAPI)
SetAPI configures the server with the specified API. Needs to be called before Serve
func (*Server) SetHandler ¶
SetHandler allows for setting a http handler on this server
func (*Server) TLSListener ¶
TLSListener returns the https listener