亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pytorch使用tensorboardX進行loss可視化實例

發布時間:2020-09-06 12:55:25 來源:腳本之家 閱讀:309 作者:YongjieShi 欄目:開發技術

最近pytorch出了visdom,也沒有怎么去研究它,主要是覺得tensorboardX已經夠用,而且用起來也十分的簡單

pip install tensorboardX

然后在代碼里導入

from tensorboardX import SummaryWriter

然后聲明一下自己將loss寫到哪個路徑下面

writer = SummaryWriter('./log')

然后就可以愉快的寫loss到你得這個writer了

niter = epoch * len(train_loader) + i
writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'train_loss': loss.data.item()}, niter)

其中,add_scalars是將不同得變量添加到同一個圖下,圖的名稱是add_scalars得第一個變量

然后為這個圖中不同得曲線添加不同得標題,上面這一行代碼

writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'train_loss': loss.data.item()}, niter)

后面得dict中得key是曲線的名稱,后面的value是對應得append的值,再后面得niter是x坐標,這句話得意思就相當于,對于圖名稱為args.result_path + 'Train_val_loss'的圖,對曲線名稱為args.result_path+'train_loss'添加新的點,這個點為(niter, loss.data.item())

同樣的,我可以畫出val的loss

niter = epoch * len(train_loader) + i
writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'val_loss': mean_loss}, niter)

writer保存到了我們剛剛聲明的路徑'./log‘下面,然后終端啟動tensorboard

tensorboard --logdir ./log --port 8890

不會用得進行tensorboard --help即可

然后進行端口映射就行了

實際上在使用的過程中,我發現了,如果你要保存的結果在各個子文件夾內,然后你在父文件夾運行tensorboard,就可以在瀏覽器看到各種結果,而不必再進行不同的端口映射

pytorch使用tensorboardX進行loss可視化實例

比如上面這個,我的resnet文件夾下有不同的我writer寫入的文件,在父目錄下啟動tensorboard之后,

pytorch使用tensorboardX進行loss可視化實例

沒毛病!

補充拓展:pytorch產生loss的計算圖代碼

廢話不多說,直接上代碼

import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):
  def __init__(self):
    super(Net,self).__init__()
    self.conv1=nn.Conv2d(1,6,5)
    self.conv2=nn.Conv2d(6,16,5)
    self.fc1=nn.Linear(16*5*5,120)
    self.fc2=nn.Linear(120,84)
    self.fc3=nn.Linear(84,10)
  def forward(self,x):
    x=F.max_pool2d(F.relu(self.conv1(x)),(2,2))
    x=F.max_pool2d(F.relu(self.conv2(x)),2)
    x=x.view(x.size()[0],-1)
    print(x)
    x=F.relu(self.fc1(x))
    x=F.relu(self.fc2(x))
    x=self.fc3(x)
    return x
net=Net()
#params=list(net.parameters())
#for name,parameters in net.named_parameters():
#  print(name,':',parameters.size())
#print(len(params))
#print(net)
input=Variable(t.randn(1,1,32,32))
output=net(input)
#out.size()
target=Variable(t.arange(0,10))
criterion=nn.MSELoss()
loss=criterion(output,target)
loss.grad_fn

以上這篇pytorch使用tensorboardX進行loss可視化實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎川县| 阳江市| 元朗区| 民权县| 祁门县| 溆浦县| 定兴县| 新巴尔虎左旗| 集安市| 敦化市| 苏尼特左旗| 建宁县| 措勤县| 汉川市| 张家口市| 沽源县| 九寨沟县| 霍州市| 武汉市| 晋州市| 临江市| 临朐县| 图们市| 海丰县| 陇川县| 舟山市| 澄江县| 普洱| 栾川县| 确山县| 通河县| 定襄县| 望奎县| 宣城市| 泽普县| 祁连县| 武夷山市| 兴城市| 安康市| 中江县| 宝应县|