Weights & Biases 私有化部署
1. 问题描述
在使用 Weights & Biases (WB) 时,使用 online
模式可能会遇到网络问题,导致无法提交训练;使用 offline
模式无法即使查看损失值的变化情况。于是,考虑Weights & Biases (WB) 私有化部署。
2. Weights & Biases 私有化部署
2.1 先在服务器上安装docker
- 参考文献 1 Ubuntu 22.04下Docker安装(最全指引)
- 参考文献 2 如何彻底解决 Docker 错误:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 的问题
2.2 使用docker部署WB
docker run --rm -d -v wandb:/vol -p 5001:8080 --name wandb-local wandb/local:0.9.41
然后打开你的服务器IP:5001
进行一下初始化设置即可。
注意
- 如果服务器版本有图形化界面,可以直接在浏览器打开
http://你的服务器IP:5001
; - 如果是没有图形化的 ubuntu 版本,通过 PuTTY 连接 Ubuntu 服务器并在本地打开服务器网页,可以使用 SSH 端口转发功能。以下是详细步骤:
1. 配置 PuTTY 端口转发
- 打开 PuTTY
- 在 “Session” 选项卡:
- 输入服务器 IP 地址
- 端口保持默认 22
- 保存会话(可选)
- 配置端口转发:
- 左侧导航:Connection > SSH > Tunnels
- 源端口 (Source port):输入本地端口(如 5001)
- 目标 (Destination):输入 localhost:5001(服务器上网页服务的端口)
- 选择 Local 和 Auto
- 点击 Add
- 返回 “Session” 选项卡保存配置(可选)
2. 连接服务器
- 点击 Open
- 输入用户名和密码登录
3. 在本地浏览器打开网页
在本地电脑浏览器中输入:
http://localhost:5001
第一次浏览器打开后要设置账户密码:
2.3 训练代码添加必要字段
if __name__ == "__main__":
import os
import wandb
os.environ["WANDB_BASE_URL"] = "http://服务器ip:5001"
wandb.login(key="local-xxx") # 在登陆后寻找 key, 这里和直接在官网注册的key不一样
main()