1,014 Views
error tensorboard add_graph with multiple input – Biasanya untuk visualisasi model menggunakan tensorboard cukup mudah dan rata-rata contohnya hanya menggunakan single input
https://pytorch.org/tutorials/intermediate/tensorboard_tutorial.html dan hasilnya ok2 saja tanpa ada masalah. Namun ada kasus dimana terkadang kita membutuhkan banyak input alias multiple input pada contoh berikut hasilnya error.
# -*- coding: utf-8 -*- """ Created on Sun Mar 10 12:28:54 2024 @author: User """ import torch import torch import torch.nn as nn import torch.nn.functional as F import torchvision from torch.autograd import Variable # from tensorboardX import SummaryWriter from torch.utils.tensorboard import SummaryWriter class RNN(nn.Module): def __init__(self, input_size, hidden_size, output_size): super(RNN, self).__init__() self.hidden_size = hidden_size self.i2h = nn.Linear( input_size, hidden_size) self.i2o = nn.Linear( hidden_size, output_size) self.o2o = nn.Linear(hidden_size + output_size, output_size) self.dropout = nn.Dropout(0.1) self.softmax = nn.LogSoftmax(dim=1) def forward(self, input, hidden): hidden = self.i2h(input) output = self.i2o(hidden) output_combined = torch.cat((hidden, output), 1) output = self.o2o(output_combined) output = self.dropout(output) output = self.softmax(output) return output, hidden def initHidden(self): return torch.zeros(1, self.hidden_size) n_letters = 100 n_hidden = 128 n_categories = 10 rnn = RNN(n_letters, n_hidden, n_categories) cat = torch.Tensor(1, n_categories) dummy_input = torch.Tensor(1, n_letters) hidden = torch.Tensor(1, n_hidden) out, hidden = rnn(dummy_input, hidden) writer = SummaryWriter('runs/fashion_mnist_experiment_2') writer.add_graph(rnn, (dummy_input, hidden), verbose=True)
ntah kenapa, sudah mengujungi forum-forum pun hasilnya nihil, juga sudah menggunakan tensorboardX juga
https://github.com/lanpa/tensorboardX/blob/master/examples/demo_graph.py
pun hasilnya juga sama. Berikut ketika menggunakan tensorboardX, hasilnya error juga
from tensorboardX import SummaryWriter import torch.nn as nn class MultipleInput(nn.Module): def __init__(self): super(MultipleInput, self).__init__() self.Linear_1 = nn.Linear(3, 5) def forward(self, x, y): return self.Linear_1(x+y) with SummaryWriter(comment='MultipleInput') as w: w.add_graph(MultipleInput(), (torch.zeros(1, 3), torch.zeros(1, 3)), True)
hasilnya
w.add_graph(MultipleInput(), (torch.zeros(1, 3), torch.zeros(1, 3)), True) graph(%self.1 : __torch__.MultipleInput, %x : Float(1, 3, strides=[3, 1], requires_grad=0, device=cpu), %y : Float(1, 3, strides=[3, 1], requires_grad=0, device=cpu)): %Linear_1 : __torch__.torch.nn.modules.linear.___torch_mangle_91.Linear = prim::GetAttr[name="Linear_1"](%self.1) %10 : int = prim::Constant[value=1]() # C:\Users\User\AppData\Local\Temp\ipykernel_22440\1404996206.py:8:0 %input : Float(1, 3, strides=[3, 1], requires_grad=0, device=cpu) = aten::add(%x, %y, %10) # C:\Users\User\AppData\Local\Temp\ipykernel_22440\1404996206.py:8:0 %bias : Tensor = prim::GetAttr[name="bias"](%Linear_1) %weight : Tensor = prim::GetAttr[name="weight"](%Linear_1) %21 : Float(1, 5, strides=[5, 1], requires_grad=1, device=cpu) = aten::linear(%input, %weight, %bias), scope: __module.Linear_1 # C:\ProgramData\Anaconda3\Lib\site-packages\torch\nn\modules\linear.py:116:0 return (%21)
error tensorboard add_graph with multiple input belum tahu caranya!