TensorBoard in PyTorch

Sunwoo Pi·2023년 5월 4일
0

PyTorch

목록 보기
3/3
post-thumbnail

TensorBoard in PyTorch

python -m pip install tensorboard
import torch
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("./logs") # Default : ./runs

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) # Write Log Data
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

train_model(10)
writer.flush() # Write to Disk

writer.close() # Close Writer
tensorboard --logdir ./logs --port=6006
# './logs'는 예시, '*.tfevnets.*'이 존재하는 Directory를 적으면 됨.
# Port 지정 가능, Default Port : 6006
# 실행 후 http://localhost:6006/ 접속

Remote Server의 Tensorboard를 Local에서 확인

  1. Remote Server에서 위 "tensorboard --logdir ./logs" 명령어 실행
  2. Local에서 "ssh -NfL localhost:[Port]:localhost:[Port] [User]@[HostName]" 명령어 실행
    : SSH Port Forwarding
# Remote Server의 localhost:6009를 Local의 localhost:8898로 연결.
ssh -NfL localhost:8898:localhost:6009 psw@121.134.231.234
# -f : SSH가 명령어 실행 직전 Background로 이동하도록 요청.
# -L : 지정된 Remote Server와 Port에 전송할 Local Port를 지정.

ssh -NfL localhost:8898:localhost:6009 myServer # SSH Config 사용
profile
어려운 게 제일 싫어😝

0개의 댓글