전체 글(137)
-
밑바닥부터 Learner 클래스 만들기
♣ 전체 순서 1. 데이터 다운로드 및 독립변수와 종속변수 구성 2. 데이터를 이용하여 Dataset 만들기 3. Dataset을 이용하여 DataLoader 만들기 4. 데이터 정규화하기 5. 모듈과 파라미터 정의하기(Module, ConvLayer, LinearLayer, Parameter 등) 6. CNN 만들기(Sequential, AdatpivePool 등을 추가로 사용, 훅 추가하기) 7. 손실함수 정의하기 8. 옵티마이저 구현하기 9. DataLoaders 만들기 10. Learner class 만들기 11. 콜백 함수 정의하기 12. 위에서 만든 CNN, DataLoaders, 손실함수, 콜백함수, 학습률 등을 이용하여 Learner 사용하기(학습) 13. 학습률 스케줄링하기(보다 적절한 ..
2023.09.20 -
ResNet 만들기(stem, body, header)
♣ 기본적인 neural network architecture의 구조 stem 입력 데이터를 처리하는 초기 부분 입력 데이터에 대한 크기 조정, 정규화 및 초기 특성 추출과 같은 기본 작업 담당 CNN에서 stem은 일반적으로 network의 처음 몇 개의 레이어를 포함 합성곱 및 pooling layer와 같은 layer를 포함 입력 데이터를 준비하고 이를 본문(body)로 전달 self.conv1: 이 부분은 2D 합성곱 레이어로, 입력 이미지의 채널 수가 3(RGB 이미지)이며, 64개의 출력 채널을 생성함. kernel_size는 커널(필터) 크기를 나타내며, stride가 2이므로 공간적 차원(가로 및 세로)을 절반으로 줄임 padding은 입력과 출력의 공간적 차원을 동일하게 유지하기 위해 설..
2023.09.18 -
DataBlock와 DataLoader 비교
♣ DataBlock 데이터 블록은 데이터 조립을 위한 파이프라인일 뿐입니다. 데이터 블록을 처음 생성할 때 데이터를 명시할 필요는 없습니다. 그러나 데이터가 흐를 때 어떻게 처리할지에 대한 규칙을 명시해야 합니다. 데이터가 어떻게 수집, 분류 및 분할되어야 하는지에 대해 관심이 있으며, 데이터가 무엇으로 사용될지는 상관하지 않습니다. 데이터 블록을 생성하려면 다음을 명시해야 합니다. 입력(즉, 특성)과 목표 변수(즉, 레이블)에 대한 예상 데이터 유형 데이터를 가져오는 방법 목표 변수로부터 특성을 구분하는 방법 훈련을 위해 데이터를 분할하는 방법(훈련 및 검증 세트) 어떻게 하는지 살펴보겠습니다. 아래는 고양이의 다른 종(즉, 분류 모델)을 인식하기 위해 합성곱 신경망(CNN)을 생성하려면 만들어볼 수..
2023.09.17 -
Human Protein Atlas Image Classification(ResNet34)
♣ 대회 https://www.kaggle.com/polljjaks/human-protein2/edit ♣ GPU 환경 설정 및 데이터 확인 ♣ 이미지 데이터 채널 확인하고 합치기 ♣ DataLoading ♣ 모델 생성(ResNet34를 customizing함) pretrained된 ResNet34 가져오기 ResNet34의 아키텍쳐(하위 모듈과 레이어) 합성곱 레이어: 이것들은 ResNet 아키텍처의 주요 구성 요소로, 다양한 필터 크기를 갖는 여러 합성곱 레이어로 구성됩니다. 풀링 레이어: ResNet은 피처 맵을 다운샘플링하기 위해 최대 풀링 레이어를 사용합니다. 기본 블록: ResNet-34는 여러 개의 잔차 블록을 사용합니다. 각 잔차 블록은 두 개 이상의 합성곱 레이어와 바로가기 연결을 포함하..
2023.09.11 -
ImageDataLoaders vs ImageDataBunch
ImageDataLoaders와 ImageDataBunch는 둘 다 fastai 라이브러리에서 이미지 데이터를 처리하는 데 사용하는 클래스임 그러나 두 클래스는 라이브러리의 다른 버전에서 각각 다른 역할과 사용법을 갖고 있음. ♣ ImageDataBunch fastai 버전 1.x에서 훈련 및 검증용 이미지 데이터를 생성하고 관리하기 위한 클래스 훈련, 검증 및 테스트 데이터 로더를 하나의 객체로 묶는 방법 제공 예시 ds_tfms: batching이나 model training이 일어나기 전에 데이터셋 전체에 적용되는 변환. 주로 데이터 전처리 및 증강을 위해 사용됨. ds_tfms는 ImageDataBunch에서는 사용되지만 ImageDataLoaders에서는 잘 사용하지 않음. ♣ ImageData..
2023.08.15 -
fastai 라이브러리
♣ fastai.vision fastai 라이브러리의 모듈 vision에는 Dataset를 정의하고 컴퓨터 비전 작업을 위한 모델을 교육하는 데 필요한 모든 기능이 포함되어 있음. 해당 목표에 도달하기 위한 네 가지 하위 모듈 1. vision.image: 개체의 기본 정의인 Omage와 이러한 개체에 변환을 적용하기 위해 배후에서 사용되는 모든 기능 포함 2. vision.transform: 데이터 확대에 사용할 수 있는 모든 변환 포함 3. vision.data: ImageDataBunch와 DataBunch의 Computer Vision 문제를 쉽게 빌드할 수 있는 유틸리티 기능 포함 4. vision.learner: 미리 훈련된 CNN 으로 모델 구축 및 미세 조정 등 초기화된 모델을 처음부터 훈..
2023.08.15