AI, Deep Learning Basics/Basic

[Logger] TensorboardX 사용하기

본 글은 필자의 이해를 돕기 위해 작성된 글로 TensorboardX를 Pytorch에서 구동하는데 일련의 과정을 적은 글입니다.
  • TensorboardX: 모델의 파라미터나 accuracy, loss를 기록하는데 유용한 도구
  • Process
    1. Pytorch 모델에 기록한 파라미터 기록하기: 밑의 코드 출처와 같이 writer를 불러서 하는 경우도 있지만 구현된 모델들에서 사용할 때는 Callback으로 간단하게 파라미터를 추가만 해도 처리가 되도록 하는 경우가 대부분이다.
    2. x = torch.arange(-5, 5, 0.1).view(-1, 1)
      y = -5 * x + 0.1 * torch.randn(x.size())
      
      model = torch.nn.Linear(1, 1)
      criterion = torch.nn.MSELoss()
      optimizer = torch.optim.SGD(model.parameters(), lr = 0.1)
      
      def train_model(iter):
          for epoch in range(iter):
              y1 = model(x)
              loss = criterion(y1, y)
              writer.add_scalar("Loss/train", loss, epoch)
              optimizer.zero_grad()
              loss.backward()
              optimizer.step()
      
      train_model(10)
      writer.flush()
    3. Tensorboard 구동하기, Tensorboard 서버로 연결해서 확인하기
tensorboard --logdir ./output
#https://stackoverflow.com/questions/37987839/how-can-i-run-tensorboard-on-a-remote-server
#1. from your local machine, run
ssh -N -f -L localhost:16006:localhost:6006 <user@remote>

#2. on the remote machine, run:
tensorboard --logdir <path> --port 6006

#3. Then, navigate to (in this example) http://localhost:16006 on your local machine.