본문 바로가기

파이썬 딥러닝 파이토치4

[파이썬 딥러닝 파이토치] PART 4. 컴퓨터 비전 CIFAR-10 데이터에 Augmentation 기법을 이용해 모델의 성능 향상시키기transform 함수를 사용하여 해당 이미지를 50% 확률로 좌우 반전 시킴모델 정확도가 67.26%(기존 CNN 모델 65.98%, 대략 1.28% 상승) CIFAR-10 데이터에 ResNet 모델 적용해 성능 향상시키기고급 CNN 모델인 ResNet 적용한 결과 82.57% 정확도(Augmentation이 적용된 CNN 67.26%, 15.31% 상승)CIFAR-10 데이터에 파이토치에서 제공하고 있는 레퍼런스 모델 불러와 적용ResNet34(pretrained = False) 모델 구조만 불러오고 파라미터는 특정 Initializer에서 랜덤으로 샘플링 값 이용정확도 79.47% (Augmentation이 적용된 .. 2024. 1. 19.
[파이썬 딥러닝 파이토치] Part 4. CNN [예제 4-1] CIFAR-10 데이터를 이용해 MLP 설계하기 #1: PyTorch 모듈 중 인공 신경망 모델을 설계하는데 필요한 함수를 모아둔 모듈#2: 'torch.nn' 모듈 중에서도 자중 이용되는 함수 'F' 지정#3: 컴퓨터 비전 연구 분야에서 자주 이용되는 'torchvision' 모듈 내의 'transforms', 'datasets' 함수 임포트  GPU 사용(계산속도가 빠르기 때문에 딥러닝 모델의 파라미터 값을 빠르게 업데이트 가능) BATCH_SIZE = 32  : Mini-batch 1개 단위에 대해 데이터가 32개로 구성EPOCHS : 존재하고 있는 Mini-batch를 전부 이용하는 횟수 CIFAR10 데이터 다운로드 transformMLP의 Input으로 이용되기 때문에 ToTe.. 2024. 1. 14.
[파이썬 딥러닝 파이토치] Part 3. Deep Learning [예제 3-1] Dropout#1 : 몇 퍼센트의 노드에 대해 가중값을 계산하지 않을 것인지 명시#2 : 2차원 데이터를 1차원 데이터로 변환(MLP 모델은 1차원 벡터 값을 입력 받을 수 있음       #3, #4각 sigmoid() 함수의 결괏값에 대해 Dropout 적용 p = 몇 퍼센트의 노드에 대해 계산하지 않을 것인지 조정 training = self.training -> 학습상태와 검증상태에 따라 다르게 적용하기 위해 존재 model.train()을 명시할 때 self.training = True , model.eval()을 명시할 때 self.training = False 적용 이론상 Dropout을 적용했을 때 일반화가 강해져 Test Accuracy가 높아지는 결과가 기대But, 이는.. 2024. 1. 12.
[파이썬 딥러닝 파이토치] Part 1. Pytorch 기초 텐서 : 데이터를 표현하는 단위4.1.1 Scalar스칼라 = 상숫값torch 모듈에 내장된 메서드 (스칼라 사칙연산) 4.1.2 Vector백터 : 하나의 값을 표현할 때 2개 이상의 수치로 표현한 것torch 모듈에 내장된 메서드(벡터 사칙연산) 4.1.3 Matrix행렬 : 2개 이상의 벡터 값을 통합해 구성된 값벡터 값 간 연산 속도를 빠르게 진행할 수 있는 선형 대수의 기본 단위torch 모듈에 내장된 메서드 (행렬 값 간 사칙연산)A.mul(B) : A행렬과 B행렬 간 원소별 곱A.matmul(B) : A행렬과 B행렬의 행렬곱 4.1.4 텐서텐서 : 2차원 이상의 배열 torch 모듈에 내장된 메서드(텐서)(행렬곱) [ [(1*9) + (2*11)] , [(1*10) + (2*12)], [(5.. 2024. 1. 9.