I have to create a main task for example named as main
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()
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)
main will initialize parent task and then my multiprocessing occurs which call combined function with parameters as project_name and exp_name
so I want loss should be my main title and I want two different graphs of train and test loss under that loss
and that function creates Task and log them
but this gives the results in the same graph
Create one experiment (I guess in the scheduler)
task = Task.init('test', 'one big experiment')
Then make sure the the scheduler creates the "main" process as subprocess, basically the default behavior)
Then the sub process can call Task.init and it will get the scheduler Task (i.e. it will not create a new task). Just make sure they all call Task init with the same task name and the same project name.
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
You can always click on the name of the series and remove it for display.
Why would you need three graphs?
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"
my scheduler will be running every 60 seconds and calling main function
Sure @<1523720500038078464:profile|MotionlessSeagull22> DM me 🙂
@<1523701205467926528:profile|AgitatedDove14> I want to log directly to trains using logger.report_scalar
no i want all of them in the same experiment
Can my request be made as new feature so that we can tag same type of graphs under one main tag
Sure, open a Git Issue :)
This code will give you one graph titled "loss" with two series: (1) trains (2) loss
then my combined function create a sub task using Task.create(task_name=exp_name)
logger.report_scalar("loss", "train", iteration=0, value=100)logger.report_scalar("loss", "test", iteration=0, value=200)
but what is happening is it is creating new task under same project with same task name
and under that there will be three graphs with title as train test and loss
so what I have done is rather than reading sequentially I am reading those experiments through multiprocessing and for each experiment I am creating new task with specified project_name and task_name
Just so I understand,
scheduler executes main every 60sec
main spins X sub-processes
Each subprocess needs to report scalars ?
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
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.

