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