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
Hi

Hi AgitatedDove14 , I'd appreciate your thoughts on trains-agent on the following topic.

To run an experiment by a trains-agent , it must have already been run. We create a Draft copy by 'cloning' or 'resetting' the experiment and then enqueue it to one of the queues. Is there an alternative to this process if I want to run the experiment the first time without creating the template ?

Say I have a list of 10 new experiments I want to run on 5 trains-agent s, so each agent runs two experiments. First, I need to run a dummy experiment to create a template (full training takes hours) and then clone that 10 times, enqueue them into their respective queues. I feel like with trains-agent being such a powerful scheduler, it would be nice to be able to run an experiment directly without creating a template or a dummy run. I understand that for reproducibility standpoint, the agent needs to know how the experiment was run and the way the current architecture is setup. But it seems sub-optimal not being able to utilize trains-agent for new experiments. Am I missing something here?

  
  
Posted 4 years ago
Votes Newest

Answers 7


The problem is of course filling in all the configuration details, so that they are viewable.
Other than that, check out:
https://allegro.ai/docs/task.html#trains.task.Task.export_task
https://allegro.ai/docs/task.html#trains.task.Task.import_task
Sounds good ?

  
  
Posted 4 years ago

if I want to run the experiment the first time without creating theĀ 

template

?

You mean without manually executing it once ?

  
  
Posted 4 years ago

Hmm, ok. Yes that would make it easier.

From architectural point of view - say I know I'll be running the experiment on a trains-agent , when I initialize and execute the experiment locally, how hard would it be to instead send all the execution details and env to the trains agent and run it directly there? Can the configuration be packaged when we initialize the Task? Does the question make sense?

  
  
Posted 4 years ago

Oh ok. That's great. I will try it.

  
  
Posted 4 years ago

You mean without manually executing it once ?

Yes. Just as it would be executed in trains

  
  
Posted 4 years ago

Hmm make sense, then I would call the export_task once (kind of the easiest to get the entire Task object description pre-filled for you) with that, you can just create as many as needed by calling import_task.
Would that help?

  
  
Posted 4 years ago

SarcasticSparrow10 sure see "execute_remotely" it does exactly that:
https://allegro.ai/docs/task.html#trains.task.Task.execute_remotely
It will stop the current process (after syncing everything) and launch itself remotely (i.e. enqueue itself)
When the same code is running by the "trains-agent" the execute_remotely call becomes a no-operation and is basically skipped

  
  
Posted 4 years ago
963 Views
7 Answers
4 years ago
one year ago
Tags
Similar posts