ResNet(4)
-
(예시)ResNet 50 구현
♣ 라이브러리 ♣ 하이퍼파라미터 정의 ♣ Load CIFAR-10 데이터 다운로드, 전처리 및 데이터로더 생성 transform.Compose transforms.Compose를 이용하여 방대한 양의 이미지를 한 번에 변형시킬 수 있음. 입력데이터를 모델에 넣기 전에 전처리 과정을 거칠 때 사용함. transforms.ToTensor(): 이 변환은 입력 데이터(이미지 또는 기타 데이터 유형)를 PyTorch 텐서로 변환합니다. 이미지의 경우, numpy 배열이나 PIL 이미지로 표현된 이미지 데이터를 텐서로 변환합니다. 결과적으로 얻어지는 텐서는 값이 [0, 1] 범위에 있습니다. 이 변환은 픽셀 값을 [0, 1] 범위로 스케일링하기 때문에, 8비트 이미지의 경우 255로 나누는 연산을 수행합니다. t..
2023.07.23 -
(논문)Deep Residual Learning for Image Recognition
♣ Introduction 깊은 합성곱 신경망은 이미지 분류에 대한 연속적인 폭발적인 발전을 이끌었습니다. 최근 연구 결과는 네트워크의 깊이가 중요하다는 것을 밝혀냈습니다. 어려운 ImageNet 데이터셋에서 우수한 결과를 보이는 연구들은 모두 "아주 깊은(very deep)" 모델을 활용하며, 16개에서 30개의 층을 가지고 있습니다. 또 다른 다양한 어려운 시각적 인식 작업들도 아주 깊은 모델에서 크게 이득을 얻고 있습니다. 더 많은 층을 쌓는 것만으로 더 나은 네트워크를 학습하는 것이 쉬울까? 이 질문에 대한 해답을 찾는 것은 증발/폭발 그래디언트(vanishing/exploding gradient) 문제 때문에 어려움이 있었습니다. 이 문제는 SGD(Stochastic Gradient Descen..
2023.07.23 -
(개념)ResNet(잔차신경망)
CNN은 망이 깊어질수록 정확도가 향상된다는 것이 일반적인 견해이지만 Gardient Vanishing Problem, 연산량의 과도한 증가 등의 걸림돌 때문에 오히려 망이 깊어질수록 성능이 떨어지는 모습을 보임. ResNet은 Output에 간단한 수정을 가해 Degradation 문제를 완화하고 100장의 레이어가 넘는 네트워크도 학습이 가능하게 만듦. ♣ 14.1 완전합성곱신경망 splitter = GrandparentSplitter(valid_name='val') 데이터를 학습 세트와 검증 세트로 분할하는 방법을 지정하는 부분. GrandparentSplitter는 주어진 데이터셋의 경로 구조를 기반으로 데이터를 분할하는 방법 중 하나임. valid_name은 검증 세트의 이름을 지정하는 매개변수..
2023.07.18 -
(예시)Fruit Prediction|CNN|Pytorch|ResNet-18
♣ 대회: Kaggle Fruit Classification(https://www.kaggle.com/datasets/sshikamaru/fruit-recognition) ♣ Data set 설명 - Trainig set: 16854 images - Test set: 5641 images - Number of classes: 33(fruits and vegetables) - Image Size: 100*100 pixels ♣ Process from torchvision.datasets import ImageFolder torchvision.datasets 모듈에서 ImageFolder 클래스를 가져옴. ImageFolder 클래스는 이미지 데이터와 함께 작업하기 위해 특별히 설계된 파이토치 데이터셋 클래..
2023.07.17