now after 1st iteration is completed then after 5 minutes my script runs automatically and then again it logs into trains server
and it should log it into the same task and same project
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.
no i want all of them in the same experiment
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
Sure @<1523720500038078464:profile|MotionlessSeagull22> DM me 🙂
Are you using tensorboard or do you want to log directly to trains ?
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"
so I want loss should be my main title and I want two different graphs of train and test loss under that loss
@<1523701205467926528:profile|AgitatedDove14> I want to log directly to trains using logger.report_scalar
logger.report_scalar("loss", "train", iteration=0, value=100)
logger.report_scalar("loss", "test", iteration=0, value=200)
but this gives the results in the same graph
Can my request be made as new feature so that we can tag same type of graphs under one main tag
@<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.
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()
So you want these two on two different graphs ?
Like here in the sidebar I am getting three different plots named as loss, train_loss and test_loss
yes But i want two graphs with title as train loss and test loss and they should be under main category "loss"
and under that there will be three graphs with title as train test and loss
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.
And you want all of them to log into the same experiment ? or do you want an experiment per 60sec (i.e. like the scheduler)
and that function creates Task and log them
then my combined function create a sub task using Task.create(task_name=exp_name)