Web Server

The MLModelScope web server is in MLModelScope.

Software Requirements

Install Software Requirements

Clone the repository

cd $GOPATH/src/github.com/rai-project
git clone https://github.com/rai-project/mlmodelscope

Install the JavaScript dependencies

cd mlmodelscope
npm install

Install the required golang tools

go get github.com/golang/dep/cmd/dep
go get github.com/tcnksm/ghr
go get github.com/jteeuwen/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...

Build Web Server Javascipt (Optional)

You can build the javascript code using

cd $GOPATH/src/github.com/rai-project/mlmodelscope
npm run bundle

This will create a new file called pkg/bindata_assetfs.go which embeds the JS/CSS static files

Building the Golang server

Install the golang dependencies

cd $GOPATH/src/github.com/rai-project/mlmodelscope
dep ensure -v

build the web server

CGO_ENABLED=0 go build -tags=nogpu

Start Web Server

Start the webserver by

cd $GOPATH/src/github.com/rai-project/mlmodelscope
cp carml_config.yml.example ~/.carml_config.yml
go run main.go web

The webserver runs on http://localhost:8088

If you get an error about the PORT being already assigned, then you need to run the webserver with a different port:

PORT=NNNN go run main.go web

where NNNN is a random port number

The web server interacts with the frameworks through the gRPC agent API. The agents can be started/stopped at any point during the runtime of the webserver and the webserver periodically queries the registery for information about the available machines, frameworks, and models.