如何退出wandb登录状态?同一台机器多账号使用如何避免串号?
WandB 共享机器账号串流问题的主动登出解决方案
以下是3种可直接落地的方案,可彻底清空当前登录状态,确保下一位用户运行前必须重新登录:
1. 官方CLI命令主动登出
- 直接执行
wandb logout即可清除本地存储的所有API密钥凭证,执行后下一次运行带wandb初始化的代码时,会直接抛出未登录错误,强制要求输入新的账号密钥。 - 可执行
wandb login --show验证登出结果,若返回No logged in user found则说明登出成功。
2. 手动删除本地凭证文件(适合自动化脚本调用)
- WandB的登录凭证默认存储在三个位置:用户根目录下的
.netrc文件、~/.config/wandb目录、~/.wandb目录,直接执行如下命令即可全部清除:rm -f ~/.netrc rm -rf ~/.config/wandb ~/.wandb - 该方案适合封装成实验室公用的一键登出脚本,用户用完机器执行一次即可,无需记忆命令。
3. 运行时强制覆盖凭证(可选预防方案)
- 若担心有人忘记登出,可要求所有用户运行代码时显式指定个人密钥,优先级高于本地存储的凭证,无需依赖登出操作即可避免串号:
- 运行代码前执行环境变量赋值:
export WANDB_API_KEY=你的个人API密钥 - 或者在代码初始化wandb时显式传参:
wandb.init(api_key="你的个人API密钥", 其他参数...)
- 运行代码前执行环境变量赋值:
额外优化建议:如果实验室机器使用频率很高,可以把
wandb logout命令加入shell的退出钩子(比如bash的.bash_logout文件),用户每次关闭终端时自动执行登出操作,从根源避免遗忘问题。
内容的提问来源于stack exchange,提问作者JackHu-bme
相关产品推荐
相关产品推荐

