python - wandb.wandb_agent - 错误 - 连续检测到 5 次失败运行,正在关闭
问题描述
在尝试设置wandb时,我遇到以下错误:
wandb: WARNING Calling wandb.login() after wandb.init() has no effect.
2021-07-23 19:19:32,639 - wandb.wandb_agent - INFO - Running runs: []
2021-07-23 19:19:32,824 - wandb.wandb_agent - INFO - Agent received command: run
2021-07-23 19:19:32,825 - wandb.wandb_agent - INFO - Agent starting run with config:
lr: 0.01
optimizer: Adam
2021-07-23 19:19:32,826 - wandb.wandb_agent - INFO - About to run command: /usr/bin/env python --lr=0.01 --optimizer=Adam
/home/ubuntu/anaconda3/envs/pytorch_latest_p37/bin/python: can't find '__main__' module in ''
2021-07-23 19:19:37,945 - wandb.wandb_agent - INFO - Running runs: ['e8ff7j11']
2021-07-23 19:19:37,946 - wandb.wandb_agent - INFO - Cleaning up finished run: e8ff7j11
------4 more runs for different hyperparamters-------
2021-07-23 19:19:59,139 - wandb.wandb_agent - ERROR - Detected 5 failed runs in a row, shutting down.
2021-07-23 19:19:59,139 - wandb.wandb_agent - INFO - To change this value set WANDB_AGENT_MAX_INITIAL_FAILURES=val
wandb: Terminating and syncing runs. Press ctrl-c to kill.
代码:
base_config.py
class base_config:
def __init__(self):
self.epochs = 10
self.sweep_config = {
'method': 'grid',
'metric': {
'name': 'val_F1@M',
'goal': 'maximize'
},
'parameters': {
'lr': {
'values': [1e-2, 1e-3, 1e-4]
},
'optimizer': {
'values': ['Adam', 'SM3']
},
}
}
self.config_defaults = {
'lr': 1e-2,
'optimizer': 'Adam',
}
train.py
import wandb
def run(args, config):
# wandb.log()
def run_and_collect_results(args, config):
wandb.init(config=config['config_defaults'])
config.update({k: v for k, v in wandb.config.items()})
run(args, config)
if __name__ == '__main__':
# load config from config file
# load args
sweep_id = wandb.sweep(config['sweep_config'], project="Pytorch-sweeps")
wandb.agent(sweep_id, run_and_collect_results(args, config))
我不确定编写agent
for的正确方法是什么wandb
。当前代码以日志结尾,例如python --lr=0.01 --optimizer=Adam
. 文件名似乎不见了。在那种情况下,我需要写wandb.agent
一个单独的文件还是使用 CLI 界面?我期待为不同的超参数wandb.agent
调用函数的行为run_and_collect_results
。
解决方案
问题是wandb.agent()
只建议从 Jupyter 笔记本而不是原始 python 脚本调用。python 脚本的推荐操作是使用.yaml
配置文件并wandb agent script_id
从命令行运行。
这是来自 W&B github 的官方评论:https ://github.com/wandb/client/issues/2282#issuecomment-860906921
推荐阅读
- python - 使用 python 3.4 烧瓶应用程序的天蓝色部署错误
- vba - 在 VBScript 文件中集成 VBA
- java - Listview自定义适配器上的SetBackgroundResource出现错误
- c# - .NET 任务的性能指标/诊断
- data-visualization - 如何在敏锐的 IO 中创建具有多个 y 轴的图形
- python - 源代码是 Python 中的输出
- ms-access - 你如何让选项组单选按钮作为一个组工作(单击一个排除另一个)?
- filter - 过滤后的剑道网格过滤器编号格式
- mongodb - mongo控制台中的地图/过滤器
- javascript - 角度材料数据表导出到excel