Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Answered
I Have Several Models To Log As Artifact And I Am Using Outputmodel To Do That Model = Outputmodel(Task) Model.Update_Weights(File) Here 'File' Is My Model In The Ui It Is Showing Me The Models As A 'Draft' Now If I Try Again To Log Models One More Time

I have several models to log as artifact and I am using OutputModel to do that
model = OutputModel(task)
model.update_weights(file)
here 'file' is my model
in the UI it is showing me the models as a 'Draft'
now if I try again to log models one more time it will show the same models under the models tab in UI
why it is not replacing the older models?

  
  
Posted 4 years ago
Votes Newest

Answers 31


how to update timestamp

  
  
Posted 4 years ago

what a turn of events 😉 so lets summarize again:
upkeep script - for each task, find out if there are several models created by it with the same name if so, make some log so that devops can erase files DESTRUCTIVELY delete all the models from the trains-server that are in DRAFT mode, except the last one

  
  
Posted 4 years ago

if you want something that could work in either case, then maybe the second option is better

  
  
Posted 4 years ago

can we delete the models and then upload it again?

  
  
Posted 4 years ago

okay yes you are saying right

  
  
Posted 4 years ago

isn't it better if it just updates the timestamp on the old models?

  
  
Posted 4 years ago

I'm sorry, then what?

  
  
Posted 4 years ago

leave the last thing

  
  
Posted 4 years ago

then your devops can delete the data and then delete the models pointing to that data

  
  
Posted 4 years ago

wait, I thought this is without upload

  
  
Posted 4 years ago

in the above image if u see 3rd entry and 7th entry their model and task are the same

  
  
Posted 4 years ago

yes your idea looks good.

  
  
Posted 4 years ago

not in the way I am seeing it.

  
  
Posted 4 years ago

Thanks for your help.

  
  
Posted 4 years ago

script runs, tries to register 4 models, each one of them is exactly found in the path, size/timestamp is different. then it will update the old 4 models with the new details and erase all the other fields

  
  
Posted 4 years ago

same name == same path, assuming no upload is taking place? *just making sure

  
  
Posted 4 years ago

and should it work across your workspace, i.e. does not matter if task id changed? just always keep a single model with the same filename? i'm really worried this could break a lot of the reproducible/repeateable flow for your process.

  
  
Posted 4 years ago

this is ok but in the path if they have changed the model then

  
  
Posted 4 years ago

yes like there will be 4 models each will be with different names and when i run my script second time it should replace those models with new ones

  
  
Posted 4 years ago

so what I am describing is exactly this - once you try to create an output model from the same task, if the name already exists - do not create a new model, just update the timestamp on the old one

  
  
Posted 4 years ago

then you can open feature request

  
  
Posted 4 years ago

https://github.com/allegroai/trains/issues/193 for future reference (I will update later)

  
  
Posted 4 years ago

but there will be duplicate entries in the UI

  
  
Posted 4 years ago

yes, this is the thing.

  
  
Posted 4 years ago

fine. Can I open a feature request on our github for you, refering this conversation?

  
  
Posted 4 years ago

ok

  
  
Posted 4 years ago

I will dig around to see how all of this could be accomplished.
Right now I see it done in two ways:
a function that you must remember to call each time that would do the upkeep a script that you can run once in a while to do cleanupwhich one would you prefer that I will pursue?

  
  
Posted 4 years ago

first option

  
  
Posted 4 years ago

yes

  
  
Posted 4 years ago

image

  
  
Posted 4 years ago