如何在 for 循环中运行多个 wandb 来调整超参数

问题描述 投票:0回答:1

我正在做超参数调整。我的代码如下所示:

combinations = list(itertools.product(*self.grid_model_configs.values()))

        for combination in combinations:
            param_names = self.grid_model_configs.keys()
            model_config = {key: value for key, value in zip(param_names, combination)}

            wandb.login()
            run = wandb.init(
                name=repr(model_config).replace("'", "").replace('{', '').replace('}', ''),
                project='D2T',
                config={
                    'training_config': self.training_config,
                    'model_config': model_config
                }
            )

            filtered_param = {k: v for k, v in model_config.items() if k in
                              [p.name for p in inspect.signature(PointerGenerator).parameters.values()]}

            pointernet = PointerGenerator(device=self.device, **filtered_param).to(self.device)

            trainer = Trainer(training_arguments=self.training_config,
                              model=pointernet,
                              criterion=Criterion(),
                              tokenizer=self.tokenizer,
                              wandb=run)
            trainer.fit(train_dataloader, dev_dataloader)

但是在wandb中,多种组合只显示一张图表。

它在 Jupyter 笔记本中工作,但是当我通过命令行运行时,它不再工作。

python pytorch wandb
1个回答
0
投票

结果,我需要在运行结束时调用

finish

trainer.fit(train_dataloader, dev_dataloader)
run.finish()
© www.soinside.com 2019 - 2024. All rights reserved.