Weights & Biases的使用

Weights & Biases的介绍

Weights & Biases是一个强大的用于深度学习可视化的工具,可以实现对深度学习各项参数的可视化,以及实现深度学习超参数寻优,详细介绍可参见官网。
https://wandb.ai/site
Weights & Biases在python是以wandb模块实现

Wandb的使用

step1. 进入Weights & Biases 进行账号注册和登录

在这里插入图片描述

step2. 建立project

在这里插入图片描述

step3. 安装wandb

pip install wandb

step4. python程序设置

  1. wandb初始化
wandb.init(project='VGG-LSTM',entity='ljhahaha')
  1. 超参数设置
wandb.config.rnn_unit=64
wandb.config.lstm_layers=3
wandb.config.batch_size=128
wandb.config.lr=0.00001
wandb.config.epochs=30
wandb.config.optimizer='adam'
  1. 代码正文设置(这里展示了优化器的设置)
optimizer = wandb.config.optimizer
   if optimizer == "adam":
       train_op = tf.train.AdamOptimizer(wandb.config.lr).minimize(softmaxs_loss)
   elif optimizer == "sgd":
       train_op = tf.train.GradientDescentOptimizer(wandb.config.lr).minimize(softmaxs_loss)
   elif optimizer == "rmsprop":
       train_op = tf.train.RMSPropOptimizer(wandb.config.lr).minimize(softmaxs_loss)
   else:
       raise ValueError("unexpected optimizer name")
  1. 参数记录(这里展示了训练中训练集和验证集的准确率和损失函数的记录)
#数据展示
wandb.log({
	"Train Accuracy":acc_list,
	"Train Loss":loss_list,
	"Test Accuracy":val_acc,
	"Test Loss":val_loss})
#画图展示
wandb.log({"loss" : wandb.plot.line_series(
    xs=wandb.config.epochs,
    ys=[loss_list, val_loss],
    keys=["Loss of training", "Loss of validation"],
    title="Loss function",
    xname="epochs")})
wandb.log({"acc" : wandb.plot.line_series(
    xs=wandb.config.epochs,
    ys=[acc_list, val_acc],
    keys=["Accuracy of training", "Accuracy of validation"],
    title="Accuracy",
    xname="epochs")})  

step5. Weights & Biases里面的Sweep设置(用于超参数寻优)

  1. 创建一个新的sweep
  2. 设置sweep参数
    设置参数时可以使用列表对所取值罗列,也可以选择数据分布形式
    在这里插入图片描述
    点击下方的 Sweep initializer可以得到如下结果:
    在这里插入图片描述3. 执行操作(所有操作在cmd进行)
代码展示

(1)切换工作路径

cd E:/tensorflow_learning

(2)wandb登录
在这里插入图片描述
(3)输入API key(根据他给定的地址获取key)
在这里插入图片描述
输入key之后系统会自动建立一个.netrc文件
(4)输入代理命令(即launch agent里面的代码),程序便开始执行
在这里插入图片描述

step6. 进入官网查看程序的运行

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/LJ1120142576/article/details/119946090