Wandb配置

一些关于wandb的配置相关的内容。

wandb 具体使用

from wandb.apis.importers import wandb
import wandb
import os


class WandbLogger:
    def __init__(self, project_name, api_key=None, run_name=None, config=None):
        """
        初始化 WandB Logger
        :param project_name: 项目名称
        :param api_key: WandB 的 API Key(如果已经配置到环境变量中可不传)
        :param run_name: 本次运行的名称
        :param config: 配置字典(超参数等)
        """
        # 设置 API Key
        if api_key:
            os.environ["WANDB_API_KEY"] = api_key

        # 登录 WandB
        wandb.login()

        # 初始化 WandB 项目
        self.run = wandb.init(
            project=project_name,
            name=run_name,
            config=config,
        )

    def log(self, metrics):
        """
        日志记录
        :param metrics: 字典形式的日志数据
        """
        wandb.log(metrics)

    def save_model(self, model_path):
        """
        保存模型文件到 WandB
        :param model_path: 模型文件路径
        """
        wandb.save(model_path)

    def add_text(self, key, text):
        """
        添加文本日志
        :param key: 文本的键名
        :param text: 文本内容
        """
        wandb.log({key: text})

    def add_image(self, key, image, caption=None):
        """
        添加图像日志
        :param key: 图像的键名
        :param image: 图像数组或路径
        :param caption: 图像说明
        """
        wandb.log({key: [wandb.Image(image, caption=caption)]})

    def finish(self):
        """
        结束当前 WandB 运行
        """
        wandb.finish()



# 使用示例
if __name__ == "__main__":

    # 初始化 WandB Logger
    logger = WandbLogger(
        project_name="BERT-Chinese-Classification",

        # api_key= os.environ.get("WANDB_API_KEY"),  # 如果已经设置了环境变量,可以省略
        run_name="experiment_1",
        config={
            "learning_rate": 0.001,
            "epochs": 10,
            "batch_size": 32,
        }
    )

    # 记录训练过程
    for epoch in range(10):
        logger.log({"epoch": epoch, "loss": 0.01 * (10 - epoch), "accuracy": 0.1 * epoch})

    # 保存模型
    logger.save_model("model.h5")

    # 添加文本日志
    logger.add_text("example_text", "This is a sample text log.")

    # 添加图像日志
    # logger.add_image("example_image", "path/to/image.png", caption="Sample Image")

    # 结束运行
    logger.finish()

wandb 其它

wandb 官网

https://wandb.ai/home

wandb 如何找到 api-key

https://docs.wandb.ai/support/find_api_key/

如何将wandb的api-key设置为系统的环境变量

# windows
setx WANDB_API_KEY "your_secret_key_here"
# mac or linux
vim ~/.bash_profile
# or
vim ~/.bashrc
# or
nano ~/.zshrc

# 在文件最后添加
export WANDB_API_KEY="your_secret_api_key_here"
source ~/.bash_profile
# or
source ~/.bashrc

# 然后更新文件
source ~/.bash_profile
# or
source ~/.bashrc

如何获取key

# 获取key
import os
api_key = os.environ.get("WANDB_API_KEY")

if api_key:
    print("Successfully retrieved WANDB_API_KEY:", api_key)
else:
    print("WANDB_API_KEY not found in environment variables.")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值