딥러닝 모델: fastai(8)
-
Chapter8. 협업 필터링 깊게 알아보기
♣ 데이터 확인하기 u.data 파일에 기본 테이블이 있음. u.data는 탭 문자로 구분된 문서형식에 기반한 사용자, 영화, 영화평점, 타임스탬프 열로 구성됨. 영화의 정보와 사용자의 정보를 조합하여 사용자가 아직 보지 않은 영화를 보았을 때 어떤 점수를 매길지 예측할 수 있음. 예시) 영화: 스타워즈 시리즈(SF, 액션, 고전 요소 표현) / 사용자(SF, 액션, 고전으로 각 요소별 선호하는 정도) * 노란색 = SF, 파란색 = 액션, 붉은색= 고전 둘 조합에서 유사성 계산하기 두 벡터를 곱한 결과를 모두 더하는 연산을 점곱(dot product)이라고 함. 예시) 영화: 카사블랑카(SF, 액션, 고전 요소 표현) / 사용자(SF, 액션, 고전으로 각 요소별 선호하는 정도) 이렇듯 SF, 액션, 고..
2024.01.22 -
Chapter7. 최신 모델의 학습 방법
♣ 이미지네트 - 이미지넷 범주 1,000개, 픽셀 약 500개로 표현된 다양한 크기의 이미지를 130만 장 제공. - MNIST 5만 장으로 구성된 28*28 픽셀의 흑백 숫자 손글씨 이미지 - CIFAR10 6만 장으로 구성된 32*32 픽셀 크기의 컬러 이미지. 전체 이미지는 10개의 범주로 구분됨. 이미지네트는 전체 이미지넷 데이터 중 매우 다른 범주를 10개만 선택하여 구성한 데이터셋임. 대용량 이미지넷과 달리 저렴하면서도 빠르게 분류 모델을 만들 수 있음. 이미지네트 데이터셋 다운로드하기 5장에서 다룬 '사전 크기 조절' 기법을 적용하여 데이터셋을 DataLoaders 객체로 만들기 - get_y = parent_label 각 이미지 파일의 상위 폴더 이름을 이미지의 레이블로 반환하는 함수 -..
2024.01.17 -
Chapter 6. 그 밖의 영상 처리 문제
♣ 다중 레이블 분류의 정의 다중 레이블 분류: 이미지 내에 포함된 하나 이상의 물체 범주를 식별하는 문제. 물체가 여러 종류 존재할 수도 있지만 찾고 싶은 종류의 물체가 전혀 없는 상황도 모두 포함됨. ♣ 데이터 살피기 이미지마다 분류된 물체가 한 종류 이상인 PASCAL 데이터셋 사용 PASCAL 데이터셋은 각 이미지의 파일명과 레이블 정보를 기록한 csv 파일을 제공함. train.csv 파일 확인하기 파일 이름과 타깃값(labels), is_valid 정보를 제공함. ♣ 데이터를 모델 학습에 적합한 형태로 만들기(데이터 블록 구성하기) 위의 DataFrame 객체를 DataLoaders 객체로 만드는 방법으로 DataBlock API 사용을 권고함. 파이토치와 fastai는 학습용 및 검증용 데이..
2024.01.07 -
Chapter 5. 반려동물의 품종 분류하기
♣ 데이터셋 준비 및 DataLoaders 만들기 딥러닝에서 데이터는 일반적으로 두 가지 방식으로 제공됨. - 개별 파일이 텍스트 문서, 이미지 같은 개별 데이터 요소에 대응함. 그리고 폴더나 파일명에 각 데이터의 추가 정보가 있음 - 테이블 형식의 데이터(csv 같은)로 제공됨. 파일명은 테이블로 표현된 데이터를 실제 텍스트 문서나 이미지 같은 데이터로 연결하는 역할. ls 메서드를 사용해서 데이터셋에 포함된 내용 확인하기 파일명은 품종, 언더바, 숫자로 구성되어 있음. 여기서 품종만 뽑아내어야 한다. 이미지 파일 하나를 뽑아서 정규표현식(regex)를 이용하여 품종 뽑기를 시도해보자. 위의 정규표현식은 마지막 밑줄 문자 다음에 하나 이상의 숫자와 JPEG 확장자가 등장하면 마지막 밑줄 문자 이전의 모..
2023.12.17 -
chapter4. 숫자 분류기 예시(숫자 3과 7의 손글씨 이미지 분류)
♣ 픽셀: 컴퓨터 영상 처리의 기본 토대 MNIST 샘플 데이터셋 다운로드하기 ls 메서드를 사용하여 해당 디렉터리의 내용 확인하기 ls 메서드는 fastai에서 제공하는 L 클래스 객체를 반환함. L 클래스는 목록과, 목록의 개수를 함께 출력하는 유용한 기능을 포함함. MNIST는 학습과 검증(또는 테스트용) 데이터셋을 별도의 폴더로 분리해서 보관하는 일반적인 머신러닝 데이터셋의 구조 학습 데이터셋의 폴더 내용 확인하기 'train' 폴더 안에 3과 7 폴더가 들어있음 3, 7 폴더 안의 내용 확인하기(항상 파일 출력 순서가 같도록 sorted 메서드로 정렬) 폴더 안의 이미지 확인하기 Image 클래스는 파이썬 영상 처리 라이브러이(PIL)이 제공함. PIL은 이미지를 열고, 조작하고, 출력할 때 가..
2023.12.08 -
이미지 분류 연습하기
♣ 이미지 데이터 수집하기 ♣ DataLoaders 만들기 다운로드한 데이터를 DataLoaders 객체로 만들기 DataLoaders: 전달받은 여러 DataLoader 객체를 목적에 맞게 학습용과 검증용으로 나누어 저장하는 클래스 *DataLoaders: fastai가 제공하는 여러 DataLoader를 저장하는 클래스. 개수 제한 없이 원하는만큼 DataLoader를 저장할 수 있지만 보통 학습용과 검증용으로 두 개를 저장함. 다운로드한 데이터로 DataLoaders를 만들려면 적어도 다음과 같은 네 가지 정보 필요함 1. 작업 데이터 유형 2. 데이터 목록을 가져오는 방법 3. 각 데이터에 레이블을 지정하는 방법 4. 검증용 데이터셋을 만드는 방법 DataLoaders 클래스를 만들기 어려울 경우..
2023.12.04