vmtmxmf5 / Pytorch-

pytorch로 머신러닝~딥러닝 구현
3 stars 0 forks source link

DataLoader, with torch.no_grad (test용) #4

Open vmtmxmf5 opened 2 years ago

vmtmxmf5 commented 2 years ago

목차

1. DataLoader shape 구하기
2. DataLoader flatten 하기
3. torchvision.datasets으로 .train_data 확인하기

4. avg_cost 구하기
5. with torch.no_grad() 구현하기
    - .argmax == y (acc 구하기)
    - 1개만 랜덤으로 뽑아서 시각화하기

1.

for x, y in data_loader:
    print(x.shape, y.shape)

2.

# 1번 방법
torch.flatten(x[0], start_dim=2) # 배치 제외 평탄화

# 2번 방법
torch.flatten(mnist_train.train_data, start_dim=1) # 배치 제외 평탄화

# 3번 방법
mnist_train.view(-1, 28 * 28) # 배치 제외 평탄화

3.

mnist_train = torchvision.datasets.MNIST(root= , train=, transform=, download=)
mnist_train.train_data // train_labels

4.

for epoch in range():
    avg_cost = 0
    tot_batch = len(data_loader)

    for X, Y in data_loader:

        avg_cost += cost / tot_batch

5 - (1).

with torch.no_grad():

    acc = (torch.argmax(pred, 1) == y_test).float().mean()

5 - (2).

with torch.no_grad()

    # test시에는 batch가 필요없으므로
    r = random.randint(0, len(mnist_test) - 1)
    X_ran = X_test[r]
    y_ran = y_test[r]