이전 블로그를 이어서 진행을 합니다. Evaluation model.train() 모드로 변한 것 처럼 평가할 때는 model.eval() 으로 설정합니다. # Test mode # batch norm이나 dropout 등을 train mode 변환 model.eval() # Out Net( (conv1): Conv2d(1, 20, kernel_size=(5, 5), stride=(1, 1)) (conv2): Conv2d(20, 50, kernel_size=(5, 5), stride=(1, 1)) (fc1): Linear(in_features=800, out_features=500, bias=True) (fc2): Linear(in_features=500, out_features=10, bias=True..
Optimization & Training https://github.com/pytorch/examples/tree/master/mnist Load Packages import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from torchvision import datasets, transforms import numpy as np no_cuda = False # cuda를 사용할지 안할지 use_cuda = not no_cuda and torch.cuda.is_available() device = torch.device("cuda" if use_cuda else "cpu") => devic..
PyTorch Layer 이해하기 Load Packages import torch from torchvision import datasets, transforms import numpy as np import matplotlib.pyplot as plt %matplotlib inline 예제 불러오기 train_loader = torch.utils.data.DataLoader( datasets.MNIST('dataset', train=True, download=True, transform=transforms.Compose([ transforms.ToTensor() ])), batch_size=1) image, label = next(iter(train_loader)) image.shape, label.s..
TensorFlow 2.0 import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras import datasets Hyperparameter batch_size = 64 learning_rate = 0.001 dropout_rate = 0.7 input_shape = (28, 28, 1) num_classes = 10 Preprocess (train_x, train_y), (test_x, test_y) = datasets.mnist.load_data() train_x = train_x[..., tf.newaxis] test_x = test_x[..., tf.newaxis] train_x = train_x / 255. ..
Load Packages import numpy as np import torch Basic PyTorch 기초 사용법 nums = torch.arange(9) nums.shape nums.numpy() nums.reshape(3, 3) randoms = torch.rand((3, 3)) zeros = torch.zeros((3, 3)) ones = torch.ones((3, 3)) torch.zeros_like(ones) Operations PyTorch로 수학연산 하기 nums * 3 nums = nums.reshape((3, 3)) nums + nums result = torch.add(nums, 10) result.numpy() # Out array([[10, 11, 12], [13, 14, 15..
TensorFlow 2.0 1.x에 비해 정말 쉬워졌습니다. Numpy Array와 호환이 쉽습니다. TensorBorad, TFLite, TPU 여전히 많은 사용자들이 사용합니다. 상용 목적으로 주로 사용합니다. PyTorch Dynamic Graph & Define by Run 쉽고 빠르며 코드가 간결합니다. 빠르게 성장하고 있습니다. 커뮤니티가 많이 활성화 되고 있습니다. 연구 목적으로 주로 사용합니다. 둘 다 때에 따라 환경에 맞게 사용하면 될 것 같습니다.
인공지능(AI)을 통해 개발을 하기 위해 개발 도구들을 설치합니다. Anaconda 설치 Anaconda는 여러 가지 수학 및 과학 패키지들을 기본적으로 포함하고 있는 Python 배포판입니다. 그래서 머신러닝, 딥러닝, 데이터 분석에서 사용을 하려고 한다면 Anaconda를 통해 설치하는 것이 좋습니다. Anaconda Download 사이트에 접속하여 아래로 내려가 보면 다운로드 화면이 보입니다. 현재 Windows 운영체제에 맞게 선택하여 다운로드를 합니다. 다운로드가 완료되면 설치를 진행합니다. Next 버튼을 클릭하다가 아래 그림처럼 All Users를 선택합니다. 간혹 Windows에서 사용자의 계정을 한글로 만들었을 경우 설치할 때 또는 개발할 때 에러가 날 수 있기 때문에 선택합니다. 아래..