[My IT : Codes] X-ray Image Dataset Classification(1) (시작~ 1차 테스트)
·
My IT/Codes
목표 :● 흉부 X-Ray 사진을 바탕으로 폐렴 환자 구분● Transfer Learning을 통해 분류 모델 구축 활용 데이터셋Kaggle의 Chest X-Ray Images (Pneumonia) Chest X-Ray Images (Pneumonia)5,863 images, 2 categorieswww.kaggle.com 파이프라인 : 데이터 분석데이터로더 구축학습/평가함수 구축1차 테스트(사전학습 모델들의 Feature Extraction)2차 테스트(성능지표 상위 2개 모델의 Fine-Tuning)최종 모델 하이퍼파라미터 튜닝모델 학습Test 데이터 예측/평가 1. 데이터 EDA필요 pip / import!pip install kagglehub!pip install torchmetrics!pi..
[My IT : Article] 전이학습 - 사전학습 모델, Feature Extraction, Fine-Tuning, Full-Fine Tuning
·
My IT/Article
1. 전이학습이란 ?딥러닝으로 데이터셋에 대한 학습을 하다보면 신경망을 직접 개발자가 구성하는 경우도 있지만, 직접 아키텍처를 적용하기에는 많은 시간과 자원이 요구되기 때문에, 많은 경우에서는 미리 대형 소스로 사전학습한 모델을 가져와서 데이터에 맞게 조정을 해서 사용하곤 한다. 이를 전이학습(Trasfer Learning)이라고 한다. 이미 학습된 모델들은 일반적인 특성을 학습하고있는데, 초기부터 무작위로 학습하는 것보다 빠르고 안정적으로 수렴하고 과적합을 줄일 수 있다. 이미지분류와 NLP로 나뉘어서 다른 모델들을 사전학습에 많이 사용하는데, 다음과 같은 모델들을 주로 사용한다 : 이미지 분류 :ResNet50 : 잔차 연결(Residual)로 깊은 네트워크 학습이 가능한 표준 모델VGG16 : 구조..
[프로그래머스] 귤 고르기
·
Algorithm
문제 풀이from collections import defaultdictdef solution(k, tangerine): sizes = defaultdict(int) box = 0 res = 0 #귤의 크기를 key, 귤의 수를 value로 가지는 dict 생성 for t in tangerine : sizes[t] += 1 #개수별로 sort sizes = dict(sorted(sizes.items(), key = lambda x: x[1], reverse = True)) #가장 많은 귤부터 box에 추가, k개보다 많아지면 res 반환 for size, value in sizes.items() : box += value ..
[프로그래머스] 짝지어 제거하기
·
Algorithm
문제 틀렸던 풀이(시간 초과)#짝지어진 문자열을 제거하는 함수 정의def rm_pair(s): #중복 방지를 위해 set() 사용 c_set = set() #짝지어 제거하기이므로 문자 * 2 해서 set에 넣음 for c in s : c_set.add(c * 2) for pair in c_set : s = s.replace(pair, '') return sdef solution(s): while True: s_after = rm_pair(s) #짝지어진 문자열 제거 전후가 같으면 : 더이상 제거할 문자 X if s == s_after : #문자열이 모두 제거되었을때 ..
[My IT : Article] 이미지 데이터 전처리 - 표준 전처리, 데이터 증강
·
My IT/Article
이미지 데이터 전처리 ? 딥러닝 학습을 위해서 이미지 데이터를 수집하다 보면, 이미지 각각의 크기도 다르고, 촬영 환경, 밝기, 각도 등 다른 형식의 이미지들이 많이 데이터로 들어오게 되는데, 이를 원시 데이터(Raw Data)라고 한다. 하지만 이미지 데이터에 대한 딥러닝 학습을 수행하게 되면 모델은 정해진 크기와 형식의 입력만 받을 수 있기 때문에, 학습을 시켜주기 전에 원시 데이터들을 정해진 크기/입력으로 변환할 필요가 있는데, 이를 수행하는 과정을 통틀어 데이터 전처리라고 부른다. 그렇다면, 이미지 데이터를 다룰 때 수행해야하는 전처리들은 어떤 것들이 있을까? 이 글에서는 Pytorch의 이미지 관련 라이브러리인 torchvision을 활용하게 되는데, 이미지 전처리를 위해 torchvision...
[프로그래머스] 최댓값과 최솟값
·
Algorithm
문제 풀이- 레벨 2라고 해서 당황했는데, 레벨보다 정답률을 보고 문제를 선택하는게 좋을 것 같다.def solution(s): #int type으로 리스트에 매핑 num_list = list(map(int, s.split())) res = str(min(num_list)) + " " + str(max(num_list)) return res 1. int type으로 문자열에 있는 숫자들 매핑하여 리스트에 추가2. max, min값을 공백과 함께 res 문자열에 할당