카테고리 없음

파이토치

smile KiKi 2022. 11. 30. 11:06
import torch
import torchvision.datasets as dsets
import torchvision.transforms as transforms
import torch.nn.init
device = 'cuda' if torch.cuda.is_available() else 'cpu'
# 랜덤 시드 고정
torch.manual_seed(777)

# GPU 사용 가능일 경우 랜덤 시드 고정
if device == 'cuda':
    torch.cuda.manual_seed_all(777)
#텐서에는 없음
learning_rate = 0.001 #옵티마이저에서 자동으로 제공됨, 변경가능함 
training_epochs = 15 
batch_size = 100 #옵티마이저에서 자동으로 32로 세팅됨. 변경은 가능함. 
# 토치 transform
mnist_train = dsets.MNIST(root='MNIST_data/'# 다운로드 경로 지정
                          train=True# True를 지정하면 훈련 데이터로 다운로드
                          transform=transforms.ToTensor(), # 텐서로 변환
                          download=True)

mnist_test = dsets.MNIST(root='MNIST_data/'# 다운로드 경로 지정
                         train=False# False를 지정하면 테스트 데이터로 다운로드
                         transform=transforms.ToTensor(), # 텐서로 변환
                         download=True)
data_loader = torch.utils.data.DataLoader(dataset=mnist_train,
                                          batch_size=batch_size,
                                          shuffle=True,
                                          drop_last=True)
first_batch=data_loader.__iter__().__next__()
x,y = first_batch[0],first_batch[1
 
cnt=0
plt.figure(figsize=(30,10)) 
for row in range(1,6):
  for col in range(1,21):
    plt.subplot(5,20,cnt+1)
    plt.imshow(x[cnt][0],cmap='gray')
    plt.title(y[cnt].numpy())
    cnt+=