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
, This Is A Great Tool For Visualizing All Your Experiments. I Wanted To Know That When I Am Logging Scalar Plots With Title As Train Loss And Test Loss They Are Getting Diplayed As Train Loss And Test Loss In The Scalar Tab. I Wanted That The Title Shoul

@<1523701205467926528:profile|AgitatedDove14> , this is a great tool for visualizing all your experiments. I wanted to know that when I am logging scalar plots with title as train loss and test loss they are getting diplayed as train loss and test loss in the scalar tab.
I wanted that the title should be loss and under that I should get these two differnet graphs train loss and test loss. Is this possible?
image

  
  
Posted 5 years ago
Votes Newest

Answers 68


and that function creates Task and log them

  
  
Posted 5 years ago

In the side bar you get the title of the graphs, then when you click on them you can see the diff series on the graphs themselves

  
  
Posted 5 years ago

like if u see in above image my project name is abcd18 and under that there are experiments Experiment1, Experiment2 etc.

  
  
Posted 5 years ago

now after 1st iteration is completed then after 5 minutes my script runs automatically and then again it logs into trains server

  
  
Posted 5 years ago

@<1523720500038078464:profile|MotionlessSeagull22> you cannot have two graphs with the same title, the left side panel presents graph titles. That means that you cannot have a title=loss series=train & title=loss series=test on two diff graphs, they will always be displayed on the same graph.
That said, when comparing experiments, all graph pairs (i.e. title+series) will be displayed as a single graph, where the diff series are the experiments.

  
  
Posted 5 years ago

def combined(path,exp_name,project_name):
temp = Task.create(task_name="exp_name")

logger = temp.current_logger()
logger.report_scalar()

def main():
task=Task.init(project_name="test")
[pool.apply_async(combined, args = (row['Path'], row['exp_name'], row['project_name'])) for index,row in temp_df.iterrows()]

scheduler = BlockingScheduler()
scheduler.add_job(main, 'interval', seconds=60, max_instances=3)
scheduler.start()

  
  
Posted 5 years ago

I will share my script u can see it what I am doing

  
  
Posted 5 years ago

so, if I call Task.init() before that line there is no need of calling Task.init() on line number 92

  
  
Posted 5 years ago

then my combined function create a sub task using Task.create(task_name=exp_name)

  
  
Posted 5 years ago

like in the sidebar there should be a title called "loss" and under that two different plots should be there named as "train_loss" and "test_loss"

  
  
Posted 5 years ago

but this gives the results in the same graph

  
  
Posted 5 years ago

@<1523701205467926528:profile|AgitatedDove14> I want to log directly to trains using logger.report_scalar

  
  
Posted 5 years ago

logger.report_scalar("loss", "train", iteration=0, value=100)
logger.report_scalar("loss", "test", iteration=0, value=200)

  
  
Posted 5 years ago

logger.report_scalar("loss-train", "train", iteration=0, value=100)
logger.report_scalar("loss=test", "test", iteration=0, value=200)
notice that the title of the graph is its uniue id, so if you send scalars to with the same "title" they will show on the same graph

  
  
Posted 5 years ago

Sure

  
  
Posted 5 years ago

You can always click on the name of the series and remove it for display.
Why would you need three graphs?

  
  
Posted 5 years ago

Can my request be made as new feature so that we can tag same type of graphs under one main tag

  
  
Posted 5 years ago

and under that there will be three graphs with title as train test and loss

  
  
Posted 5 years ago

but what is happening is it is creating new task under same project with same task name

  
  
Posted 5 years ago

You can do:
task = Task.get_task(task_id='uuid_of_experiment')
task.get_logger().report_scalar(...)

Now the only question is who will create the initial Task, so that the others can report to it. Do you have like a "master" process ?

  
  
Posted 5 years ago

Just call the Task.init before you create the subprocess, that's it 🙂 they will all automatically log to the same Task. You can also call the Task.init again from within the subprocess task, it will not create a new experiment but use the main process experiment.

  
  
Posted 5 years ago

See on line 212 I am calling one function "combined" with some arguments

  
  
Posted 5 years ago

I didn't got it.

  
  
Posted 5 years ago

then if there are 100 experiments how it will create 100 tasks?

  
  
Posted 5 years ago

It will not create another 100 tasks, they will all use the main Task. Think of it as they "inherit" it from the main process. If the main process never created a task (i.e. no call to Tasl.init) then they will create their own tasks (i.e. each one will create its own task and you will end up with 100 tasks)

  
  
Posted 5 years ago

Oh I got it.

  
  
Posted 5 years ago

No. since you are using Pool. there is no need to call task init again. Just call it once before you create the Pool, then when you want to use it, just do task = Task.current_task()

  
  
Posted 5 years ago

image

  
  
Posted 5 years ago

my scheduler will be running every 60 seconds and calling main function

  
  
Posted 5 years ago

no i want all of them in the same experiment

  
  
Posted 5 years ago
123K Views
68 Answers
5 years ago
one year ago
Tags