企业做网站好处,包头焦点网站建设,wordpress 增加收录,静态网站可以做哪些WeightBiases教程-持续更新 简介好处网址测试demopytorch中使用登录建议wandb.init()指定id和name离线使用winda.config基本使用Argparse 配置基于yaml文件的配置基于字典配置wandb.log直方图图像matplotlib递增式记录总结指标summary自建图表pytorch 例子API guide导出文… WeightBiases教程-持续更新 简介好处 网址测试demopytorch中使用登录建议wandb.init()指定id和name离线使用 winda.config基本使用Argparse 配置基于yaml文件的配置基于字典配置 wandb.log直方图图像matplotlib递增式记录总结指标summary自建图表pytorch 例子 API guide导出文件 分组Sweeps自动调参写配置文件启动扫描开始工作-代理方式配置信息指标:metricmethod:扫描策略early_terminate :停止条件 简介
Weights Biases 可以帮助跟踪你的机器学习项目。使用工具记录运行中的超参数和输出指标(Metric),然后对结果进行可视化和比较,并快速与同事分享你的发现。
好处
首先它和tensorboard的功能类似,但是区别在于可以通过真正的网址随时进行访问,同时他人也能看到你的效果,省去了麻烦的步骤,同时还能方便自己随时随地监工自己的网络运行情况,同时它的sweeps能自己调参优化模型
工具 仪表盘:跟踪实验、可视化结果。 报告:保存和分享可复制的成果/结论。 Sweeps:通过调节超参数来优化模型 Artifacts : 数据集和模型版本化,流水线跟踪。
网址
https://wandb.ai/site,注册一个账号,个人是免费的,然后创建一个项目,然后按照官网提示安装pip install wandb
测试demo
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torchvision import datasets, transforms
import wandbbatch_size = 200
learning_rate = 0.01
epochs = 30wandb.init(# Set the project where this run will be loggedproject=" ",#写自己的entity=" ",#写自己的# Track hyperparameters and run metadataconfig={"learning_rate": learning_rate,"architecture": "MLP","dataset": "MNIST","epochs": epochs,})train_loader = torch.utils.data.DataLoader(datasets.MNIST('../data', train=True, download=True,transform=transforms.Compose([transforms.ToTensor(),# transforms.Normalize((0.1307,), (0.3081,))])),batch_size=batch_size, shuffle=True)
test_loader = torch.utils.data.DataLoader(datasets.MNIST('../data', train=False, transform=transforms.Compose([transforms.ToTensor(),# transforms.Normalize((0.1307,), (0.3081,))])),batch_size=batch_size, shuffle=True)class MLP(nn.Module):def __init__(self):super(MLP, self).__init__()self.model = nn.Sequential(nn.Linear(784, 200),nn.LeakyReLU(inplace=True),nn.Linear(200, 200),nn.LeakyReLU(inplace=True),nn.Linear(200, 10),nn.LeakyReLU(inplace=True),)def forward(self, x):x = self.model(x)return xdevice = torch.device('cuda:0')
net = MLP().to(device)
optimizer = optim.SGD(net.parameters(), lr=learning_rate)
criteon = nn.CrossEntropyLoss().to(device)global_step = 0for epoch in range(epochs):net.train()for batch_idx, (data, target) in enumerate(train_loader):data = data.view(-1, 28 * 28)data, target = data.to(device), target.cuda()logits = net(data)loss = criteon(logits, target)optimizer.zero_grad()loss.backward()# print(w1.grad.norm(), w2.grad.norm())optimizer.step()global_step += 1if batch_idx % 100 == 0:print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(epoch, batch_idx * len(data), len(train_loader.dataset),100. * batch_idx / len(train_loader), loss.item()))#展示数据wandb.log({"Train loss": loss.item()})net.eval()test_loss = 0correct = 0for data, target in test_loader:data = data.view(-1, 28 * 28)data, target = data.to(device), target.cuda()logits = net(data)test_loss += criteon(logits, target).item()pred = logits.argmax(dim=1)correct += pred.eq(target).float().sum().item()test_loss /= len(test_loader.dataset)print('\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'