Pytorchでのログの取り方
学習しているとエポックごとの誤差やテストデータセットでのF1 scoreなどを継続的に記録したいと思うことがある.
こんなときにはwriter.add_scalarを使うのが良い.
下記にサンプルコードを載せる.
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("./logs")
for epoch in range(EPOCH):
for i, data in enumerate(self.train_loader, 0): inputs = data
# zero the parameter gradients optimizer.zero_grad()
# forward + backward + optimize outputs = temp_net(inputs) loss = criterion(outputs, labels) loss.backward() optimizer.step()
loss = loss.detach().numpy() losses.append(loss)
writer.add_scalar("loss", loss, epoch*len(self.train_loader)+i)学習後,
tensorboard —logdir=./logs
あるいは,AWS EC2やCloud9を使っているときは
tensorboard —bind_all —logdir ./logs
を打ち込み,ブラウザに以下を打ち込むとtensorboardにログが表示される.