如何配置Wandb Sweep调优的输出目录以统一存储路径?
Wandb Sweep 指定统一输出目录的方法
要让Wandb Sweep和Run的输出都统一到./out/wandb目录,避免脚本目录生成额外的./wandb文件夹,你可以通过**全局环境变量WANDB_DIR**来配置,具体有两种实现方式:
方式一:启动前通过终端设置环境变量
在运行Sweep相关命令前,先指定WANDB_DIR的路径,所有Wandb相关的文件(包括Sweep元数据、Agent日志、Run输出)都会自动存到这个目录下:
# 设置环境变量 export WANDB_DIR="./out/wandb" # 启动Sweep wandb sweep your_sweep_config.yaml # 启动Agent wandb agent <你的Sweep-ID>
方式二:在Python代码中提前设置环境变量
如果需要在代码里统一配置,要在导入wandb或调用任何Wandb相关方法之前设置环境变量:
import os # 全局指定Wandb根目录 os.environ["WANDB_DIR"] = "./out/wandb" import wandb # 这里的dir参数可以省略,因为WANDB_DIR已经指定了根目录 wandb.init()
说明
wandb.init(dir=...)仅负责当前Run的输出子目录,而WANDB_DIR是Wandb的全局根目录,会覆盖默认的脚本目录下的./wandb,让Sweep和Run的所有相关文件都集中到你指定的./out/wandb路径下,最终就只会保留你期望的目录结构。
内容的提问来源于stack exchange,提问作者zdeneklapes
相关产品推荐
相关产品推荐

