server

package
v0.1.1-rc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2018 License: Apache-2.0, CC-BY-4.0, MIT Imports: 44 Imported by: 2

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

Constants

This section is empty.

Variables

View Source
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 Any

type Any struct {
	Type  string `yaml:"type,omitempty"`
	Value string `yaml:"value,omitempty"`
}

Any is used for typed values.

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

func (s *Server) Fatalf(f string, args ...interface{})

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

func (s *Server) GetHandler() http.Handler

GetHandler returns a handler useful for testing

func (*Server) HTTPListener

func (s *Server) HTTPListener() (net.Listener, error)

HTTPListener returns the http listener

func (*Server) Listen

func (s *Server) Listen() error

Listen creates the listeners for the server

func (*Server) Logf

func (s *Server) Logf(f string, args ...interface{})

Logf logs message either via defined user logger or via system one if no user logger is defined.

func (*Server) Serve

func (s *Server) Serve() (err error)

Serve the api

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

func (s *Server) SetHandler(handler http.Handler)

SetHandler allows for setting a http handler on this server

func (*Server) Shutdown

func (s *Server) Shutdown() error

Shutdown server and clean up resources

func (*Server) TLSListener

func (s *Server) TLSListener() (net.Listener, error)

TLSListener returns the https listener

func (*Server) UnixListener

func (s *Server) UnixListener() (net.Listener, error)

UnixListener returns the domain socket listener

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL