thanks AgitatedDove14 for the links.. seems like i might try first one if it works out .. before going the route to create a full framework support as in our case team uses multiple different frameworks
AgitatedDove14 Morning... so what should the value of "upload_uri" to set to, fileserver_url
e.g. http://localhost:8081 ?
so i was expecting that uploaded model will be for example LightGBM.1104445eca4749f89962669200481397/models/Model%20object/model.pkl
AgitatedDove14 when using OutputModel(task, name='LightGBM model', framework='LightGBM').update_weights(f"{args.out}/model.pkl")
i am seeing this in the logs No output storage destination defined, registering local model /tmp/model.pkl
when i got to trains UI.. i see the model name and details but when i try to download it point to the path file:///tmp/model.pkl
which is incorrect wondering how to fix it
PompousParrot44
you can always manually store/load models, example: https://github.com/allegroai/trains/blob/65a4aa7aa90fc867993cf0d5e36c214e6c044270/examples/reporting/model_config.py#L35 Sure, you can patch any frame work with something similar to what we do in xgboost, any such PR will be greatly appreciated! https://github.com/allegroai/trains/blob/master/trains/binding/frameworks/xgboost_bind.py
AgitatedDove14 it seems uploading artifact and uploading models are two different things when it comes to treating fileserver... as when i upload artifact it works as expected but when uploading model using outputmodel class, it wants output_uri
path.. wondering how can i as it to store it under the fileserver
like artifacts LightGBM.1104445eca4749f89962669200481397/artifacts/Model%20object/model.pkl
looking at the code https://github.com/allegroai/trains/blob/65a4aa7aa90fc867993cf0d5e36c214e6c044270/trains/model.py#L1146 this happens when storage_uri is not defined where as i have this under trains.conf
so task should have it ?
so what should the value of "upload_uri" to set to,
fileserver_url
e.g.
?
yes, that would work.
so just under models
dir rather than artifact... any way to achieve this or i should just treat it as artifact ?
seems like setting to fileserver_url did the trick
PompousParrot44 the fundamental difference is that artifacts are uploaded manually (i.e. a user will specifically "ask" to upload an artifact), models are logged automatically and a user might not want them uploaded (imagine debugging sessions, or testing).
By adding the 'upload_uri' arguments, you can specify to trains that you want all models to be automatically uploaded (not just logged).
Now here is the nice thing, when running using the trains-agent, you can have:
Always upload the model by configuring the https://github.com/allegroai/trains-agent/blob/699d13bbb34649c7e5337b4187cda59b7fa6fd33/docs/trains.conf#L262 In the Web UI under the execution tab, set the "output destination". It is equivalent to setting the output_uri