본문 바로가기

Computer Science/Deep Learning15

CNN(합성곱 신경망) ④ [Digits] CNN을 사용한 이미지 분류 인공지능 분류 문제에 대표적으로 사용되는 MNIST 손글씨 데이터셋을 사용 본 데이터셋은 28x28 형태의 이미지 데이터를 1D로 펼친, 총 784차원의 1D vector 형태로 표현 CNN 학습을 위해서는 1D 형태의 데이터를 2D형태로 변환 0~9, 총 10개 class 중 하나로 분류 Baseline 정보 epochs = 1 batch_size = 128 lr=1e-3 optimizer: Adam 0. 필요한 함수 Import import numpy as np import pandas as pd import torch from tqdm import tqdm import random import os random_seed= 42 random.seed(random_seed).. 2024. 4. 17.
CNN(합성곱 신경망) ③ [CIFAR-10] # 필요한 기본 라이브러리 import import random import torch import numpy as np import os import pandas as pd # 랜덤시드 고정하기 seed = 42 random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) if torch.cuda.is_available(): torch.cuda.manual_seed(seed) torch.cuda.manual_seed_all(seed) torch.backends.cudnn.benchmark = False torch.backends.cudnn.deterministic = True 1. Load CIFAR-10 Dataset from torchvision... 2024. 4. 14.
CNN(합성곱 신경망) ② [MNIST] # 랜덤시드 고정하기 import random import torch import numpy as np import os seed = 42 random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) if torch.cuda.is_available(): torch.cuda.manual_seed(seed) torch.cuda.manual_seed_all(seed) torch.backends.cudnn.benchmark = False torch.backends.cudnn.deterministic = True 1. Load MNIST Dataset # MNIST 데이터 셋 불러오기 from torchvision.datasets import MNIST down.. 2024. 4. 14.
CNN(합성곱 신경망) ① 학습 목표 다층 퍼셉트론을 이용해서 이미지 분류하기 합성곱 신경망 구조를 이용해서 이미지 분류하기 컬러 이미지에 대한 합성곱 이해하기 합성곱 신경망 합성곱 신경망은 이미지를 다루는데 특화해서 진화된 구조 신경망이 학습하고 파라미터를 최적화하는 기본원리는 CNN과 MLP 모두 같음 1. 다층 퍼셉트론을 이용한 이미지 분류 MLP를 이용하여 MNIST 데이터셋을 대상으로 이미지 분류 문제 풀기 이미지 분류 문제의 목표는 손글씨 이미지를 0부터 9까지의 숫자로 분류하는 것 (1) 입력층 신경망으로 2차원 이미지를 다루려면 이미지를 제공하기 전에 MLP 신경망이 이해할 수 있는 형태 변환 필요 (1) 입력층 MLP는 모양이 (1, n)인 1차원 벡터만 입력 받으므로 모양이 (x, y)인 2차원 이미지 행렬은 입.. 2024. 4. 13.