Releases: harbor-ml/modelzoo
ModelZoo.Live v1.0
This release is not production ready. As such, there may be bugs in it. Please help us out by submitting issues for any bugs you may find.
Attached here are two binaries of ModelZoo.Live. To run ModelZoo.Live simply run the binary and pass in the necessary flags:
./modelzoo_server_<os>_<arch> serve --seed --seedPath tests/seed_generated.json \
--staticPort 3000 --grpcWebPort 10000
You can run help to understand the full range of flags, but the necessary ones are:
seed
: This specifies the path to the json containing the information about which models to run/connect to. Instructions on how to generate this file can be found here as well.staticPort
: This specifies which port to have the static file server be listening on. When a user submits a URL for an image query, the static file server is used to fetch the file.grpcWebPort
: This specifies which port to have the gRPC frontend server listen to. If you do not run the grpcWebPort on port 10000, you will need to rebuild the javascript to point to the new address.
Seeding the Service
To seed the ModelZoo service, please refer to this file, which provides an example of the format of the file. The first step is to create a yaml file with similar info for your models. The example above includes additional metadata about each model (like metrics about its performance, and the research paper it was introduced in), but the necessary key/value pairs are:
'@type'
: This specifies what type this object is. It should always be/modelzoo.Model
modelname
: The name to display on the UIcategory
: What type of model it is. The types are:vision classification
: For image inputs and tabular outputstext generation
: For text inputs and outputsimage_segmentation
: For image inputs and outputsimage_captioning
: For image inputs and text outputs
input
andoutput
: What it's inputs and outputs are. If you do not specify this, the model will not know what types of inputs and outputs to accept. The types areimage
for images,text
for text, andtable
for tabular outputs.service_type
: What backend service is being used to serve the model. The only type supported so far isclipper
but more will be added!clipper_url
: What URL to use to query the model.
After making this yaml file, runyq r -j <$yaml_file> > <$json_file>
to generate the json file to provide to the service.
The binaries below are for macOS (modelzoo_server_osx_amd64) and linux (modelzoo_server_linux_amd64) please let us know if there are any other architectures you'd like us to support, and we can either build it ourselves or provide instructions on how to build it locally!