Reputation
Badges 1
89 × Eureka!I think this is because of the version of xgboost that serving installs. How can I control these?
I passed an env variable to the docker container so I figure this out
git-nbdiffdriver diff: git-nbdiffdriver: command not found fatal: external diff died, stopping at ...
python='python3' ~/anaconda3/envs/.venv/bin/python3
but I am one level lower than top. so:
~/work/repo is the main repo dir
~/work/repo/code/run.py and I am running python run.py
in ~/work/repo/code
git status gives correct information
python run.py param1 param2
I am running a script
nah, it runs about 1 minute of standards SQL->dataframes->xgboost pipeline with some file saving
the current diffs
This was not something I was expecting to break.
If you enable nbdime globally and switch virtual environments, then git diff will fail.
yeah, Friday afternoon
but is it true that I can have multiple models on the same docker instance with different endpoints?
I don't understand the link between service id-s, service tasks and docker containers
everything is weird about this. I put two models in the same endpoint, then only one was running, then I started another docker container having a different port number and then the curls with the new model endpoint (with the new port) started working
also random tasks are popping up in the DevOps project in the UI
yes, I do, I added a auxiliary_cfg
and I saw it immediately both in CLI and in the web ui
and then have a wrapper that gets the model data and selects which way to construct and deserialise the model class.
` def get_model(task_id, model_name):
task = Task.get_task(task_id)
try:
model_data = next(model for model in task.models['output'] if model.name == model_name)
except StopIteration as ex:
raise ValueError(f'Model {model_name} not found in: {[model.name for model in task.models["output"]]}')
filename = model_data.get_local_copy()
model_type =...
I would think having a unique slug is a good idea so the team can communicate purely be that single number. Maybe we will call tasks as slug_yyyymmdd
I was just looking at the model example. How does output model store the binary? For example of an xgboost model
I want the model to be stored in a way that clearml-serving can recognise it as a model
Is there an explicit OutputModel + xgboost example somewhere?
I didn't realise that pickling is what triggers clearml to pick it up. I am actually saving a dictionary that contains the model as a value (+ training datasets)
Why do I need an output_uri for the model saving? The dataset API can figure this out on its own