Robustar v0.3 Main Features
Opened this issue · 0 comments
PaulCCCCCCH commented
See design doc here
The most important features we want to support in v0.3 are:
- Switching between different models
- Upload and validate custom models
For this, we will have to implement and make use of the following APIs.
@route(GET, "/model/current")
def GetCurrModel():
""" Get the model that is currently active """
""" return data
{
id: string,
name: string,
details: string,
}
"""
@route(POST, "/model/current/<id>")
def SetCurrModel(id: string):
""" return 200 on success """
@route(DELETE, "/model/<id>")
def DeleteModel():
""" return data
{
id: string,
name: string,
details: string,
}
"""
@route(POST, "/model")
def UploadModel():
""" Should also accept (optionally) a model weight file as argument """
""" After training a model, should do the same"""
""" return data
{
id: string,
name: string,
details: string,
}
"""
@route(GET, "/model/list")
def GetAllModels():
""" return data
[
{
id: string,
name: string,
details: string,
},
...
]
"""
To implement these APIs, we need to make the following changes in the backend:
- Extend RModelWrapper for dynamic model loading
- Redesign database schema
- Model upload and validation
Frontend tasks include:
- Allow user to upload a model and see validation result
- See a list of models, view their details and delete any of them
- Select a model and use it as the current model
We will break down the feature into the tasks below: