在pytorch中使用tensorboard的方法也挺簡單,如果要看網路結構和訓練損失的話基本上和在tf中使用是差不多的。
import torch.nn as nn
import torch.nn.functional as f
import torch.optim as optim
import torch.utils.data as data
# 前提要在自己的環境中安裝tensorboard 直接pip安裝就行
from torch.utils.tensorboard import summarywriter
class
net(nn.module)
:def
__init__
(self)
:super
(net,self)
.__init__(
) self.conv1 = nn.conv2d(1,
6,5)
self.pool1 = nn.maxpool2d(2,
2)self.conv2 = nn.conv2d(6,
16,5)
self.pool2 = nn.maxpool2d(2,
2)self.fc1 = nn.linear(16*
4*4,
120)
self.fc2 = nn.linear(
120,84)
self.fc3 = nn.linear(84,
10)defforward
(self, x)
: x = self.pool1(f.relu(self.conv1(x)))
x = self.pool2(f.relu(self.conv2(x)))
x = x.view(-1
,16*4
*4) x = f.relu(self.fc1(x)
) x = f.relu(self.fc2(x)
) x = self.fc3(x)
return x
net = net(
)criterion = nn.crossentropyloss(
)optimizer = optim.sgd(net.parameters(
), lr=
0.001
, momentum=
0.9)
# 生成資料
transform = transforms.compose(
[transforms.totensor(),
transforms.normalize(
(0.5,)
,(0.5,))
])trainset = torchvision.datasets.fashionmnist(
'./data'
, download=
true
, train=
true
,
transform=transform)
trainloader = data.dataloader(trainset,
batch_size=4,
shuffle=
false
, num_workers=2)
dataiter =
iter
(trainloader)
img, label =
next
(dataiter)
# writer = summarywriter(
'檔案儲存路徑'
)# 與tf不太一樣的是要儲存網路結構必須要給定網路的輸入(比如batch)
writer.add_graph(net, trainloader)
writer.close(
)# 在檢視別人的原始碼時 只要使用上面這三行就夠了 找到定義的網路模型net,然後再傳入乙個batch就可以了 檢視loss就用最後一行就可以了
for step, data in
enumerate
(trainloader)
: inputs, label = data
optimizer.zero_grad(
) out = net(inputs)
loss = criterion(out, labels)
loss.backward(
) optimizer.step(
) writer.add_scalar(
'train_loss'
, loss, i)
# 使用方法也和tensorboard一樣
#開啟控制台
tensorboard -
-log=檔案路徑
在PyTorch中使用Visdom視覺化工具
在pytorch中使用visdom視覺化工具 非常詳細 參考鏈結二 1.安裝 pip install visdom conda install visdom 2.linux 伺服器端 啟動 模型訓練前 預設使用埠 8097 to view training results and loss plot...
PyTorch在NLP任務中使用預訓練詞向量
在使用pytorch或tensorflow等神經網路框架進行nlp任務的處理時,可以通過對應的embedding層做詞向量的處理,更多的時候,使用預訓練好的詞向量會帶來更優的效能。下面分別介紹使用gensim和torchtext兩種載入預訓練詞向量的方法。1.使用gensim載入預訓練詞向量 對於如...
Pytorch中使用backward 求導詳解
backward 是pytorch中用來求梯度的方法,可以分為三種情況來使用。此時可以直接使用out.backwark import torch from torch.autograd import variable 生成乙個內容為 2,3 的張量,varibale 預設是不要求梯度的,如果要求梯度...