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.
This code will give you one graph titled "loss" with two series: (1) trains (2) loss
Can my request be made as new feature so that we can tag same type of graphs under one main tag
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
@<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.
Hi @<1523701205467926528:profile|AgitatedDove14> , I wanted to ask you something. Is it possible that we can talk over voice somewhere so that I can explain my problem better?
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"
and that function creates Task and log them
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.
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
my scheduler will be running every 60 seconds and calling main function
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
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 :)
and under that there will be three graphs with title as train test and loss
now after 1st iteration is completed then after 5 minutes my script runs automatically and then again it logs into trains server
then if there are 100 experiments how it will create 100 tasks?
So you want these two on two different graphs ?
main will initialize parent task and then my multiprocessing occurs which call combined function with parameters as project_name and exp_name
but what is happening is it is creating new task under same project with same task name
I have to create a main task for example named as main
each subprocess logs one experiment as task
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()
@<1523701205467926528:profile|AgitatedDove14> I want to log directly to trains using logger.report_scalar
so, like if validation loss appears then there will be three sub-tags under one main tag loss