日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 

 

 

 

 

人工智能編程:如何可視化神經網絡算法模型的訓練過程?

 

 

人工智能編程:如何可視化神經網絡算法模型的訓練過程?

 

 

本文將介紹一個和pytorch緊密結合的機器學習庫,visdom

Visdom的安裝

Pip install visdom

如果安裝失敗

pip install --upgrade visdom

安裝好之后,我們需要實時開啟

Python -m visdom.server

然后會出現

人工智能編程:如何可視化神經網絡算法模型的訓練過程?

 

在瀏覽輸入這個網址就可以開啟visdom了

當我們使用visdom畫圖的時候,我們需要

from visdom import Visdom

viz=Visdom()

然后就可以使用viz來進行畫圖了

畫線的話可以使用viz.line

畫圖片的話可以使用viz.image

畫文字的話可以使用viz.text

畫線的時候,要先畫一個起始點,然后后面的對它進行覆蓋操作

from visdom import Visdom
import numpy as np
import torch
x=np.arange(0,10)
y=np.arange(0,10)*9
print(x)
viz=Visdom()
viz.line([0.],[0.],win="first",opts=dict(title='first'))
viz.line(y,x,win="first",update='Append')

畫線的時候,可以先畫一個其實的圖,然后后面的對它進行添加操作,當然也可以直接來畫圖

viz.line([0.],[0.],win="first",opts=dict(title='first'))

表示畫起始點

viz.line(y,x,win="first",update='append')

表示添加操作

其中win=""first"表示畫在first的區域,主題名為first

然后

viz.line(y,x,win="first",update='append')

win="first"表示對first區域添加畫圖,append表示添加

 

import torch

import torch.nn as nn

import torch.nn.functional as F

import torch.optim as optim

from torchvision import datasets, transforms

from visdom import Visdom

batch_size=200

learning_rate=0.01

epochs=10

train_loader = torch.utils.data.DataLoader(

datasets.MNIST('./data', train=True, download=True,

transform=transforms.Compose([

transforms.ToTensor(),

])),

batch_size=batch_size, shuffle=True)

test_loader = torch.utils.data.DataLoader(

datasets.MNIST('./data', train=False, transform=transforms.Compose([

transforms.ToTensor(),

])),

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 x

device = torch.device('cpu')

net = MLP().to(device)

optimizer = optim.SGD.NET.parameters(), lr=learning_rate)

criteon = nn.CrossEntropyLoss()

viz = Visdom()

viz.line([0.], [0.], win='train_loss', opts=dict(title='train loss'))

viz.line([[0.0, 0.0]], [0.], win='test', opts=dict(title='test loss&acc.',

legend=['loss', 'acc.']))

global_step = 0

for epoch in range(epochs):

for batch_idx, (data, target) in enumerate(train_loader):

data = data.view(-1, 28*28)

data, target = data.to(device), target.to(device)

logits = net(data)
#print(target)

loss = criteon(logits, target)

optimizer.zero_grad()

loss.backward()

# print(w1.grad.norm(), w2.grad.norm())

optimizer.step()

global_step += 1

viz.line([loss.item()], [global_step], win='train_loss', update='append')

if 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()))

test_loss = 0

correct = 0

for data, target in test_loader:

data = data.view(-1, 28 * 28)

data, target = data.to(device), target.to(device)

logits = net(data)

test_loss += criteon(logits, target).item()

pred = logits.argmax(dim=1)

correct += pred.eq(target).float().sum().item()

viz.line([[test_loss, correct / len(test_loader.dataset)]],

[global_step], win='test', update='append')

viz.images(data.view(-1, 1, 28, 28), win='x')

viz.text(str(pred.detach().cpu().numpy()), win='pred',

opts=dict(title='pred'))

test_loss /= len(test_loader.dataset)

print('nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)n'.format(

test_loss, correct, len(test_loader.dataset),

100. * correct / len(test_loader.dataset)))

分享到:
標簽:編程 智能
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定