Visdom 설치
pip install visdom
Visdom 서버 켜기
python -m visdom.server
import visdom
vis = visdom.Visdom()
vis.text('Hello, world!', env='main')
a = torch.randn(3, 200, 200)
vis.image(a)
MNIST 데이터를 그려본다.
MNIST = dsets.MNIST(root='MNIST_data/',
train=True,
transform=torchvision.transforms.ToTensor(),
download=False)
data = MNIST.__getitem__(0)
vis.images(data[0])
DataLoader
를 이용해 여러개의 이미지도 출력할 수 있다.
data_loader = torch.utils.data.DataLoader(dataset = MNIST,
batch_size=32,
shuffle=False)
for num, value in enumerate(data_loader):
value = value[0]
vis.images(value)
break
Line을 그릴 수 있다. X를 지정하지 않으면 0~1이 디폴트이다.
Y_data = torch.randn(5)
plt = vis.line(Y=Y_data)
X_data = torch.Tensor([1, 2, 3, 4, 5])
plt = vis.line(Y=Y_data, X=X_data)
Line update를 진행할 수 있다.
y_append = torch.randn(1)
x_append = torch.Tensor([7])
vis.line(Y=y_append, X=x_append, win=plt, update = 'append')
여러 Line을 그릴 수 있다.
num = torch.Tensor(list(range(0,10)))
num = num.view(-1, 1)
num = torch.cat((num, num), dim=1)
plt = vis.line(Y = torch.randn(10,2), X = num)
라인 정보를 출력할 수 있다.
plt = vis.line(
Y=Y_data,
X = X_data,
opts = dict(title='Test', showlegend=True)
)
plt = vis.line(Y=Y_data,
X=X_data,
opts = dict(title='Test', legend=['1번'], showlegend=True)
)