TorchMetrics란?특징설치함수형 사용법모듈형 사용법새로운 Custom Metric 구현 방법Metric 내부 동작 GPU에서의 사용방법MetricCollection 사용방법Memory management참고자료 TorchMetrics란?TorchMetrics는 PyTorch 에서 사용할 수 있는 Metric 구현 라이브러리이다. 구현된 Metric은 100가지가 넘으며, 쉬운 API 구성으로 훈련 및 평가시 사용할 수 있다.특징PyTorch에서 사용 가능한 다양한 메트릭 함수 제공메트릭 컬렉션을 제공하여 여러 메트릭 함수를 한번에 사용 가능GPU를 사용하여 빠른 속도로 메트릭을 계산할 수 있음분산 학습 호환 및 자동 동기화 metrics 계산 시 배치 단위로 누적 연산이 가능함설치터미널에서 아래 ..
Sweepsweep 코랩 링크다양한 하이퍼파라미터를 자동으로 학습하여 시각적인 그래프로 보여준다.하이퍼파라미터를 튜닝하는 모든 알고리즘은 open source로 공개되어있다.Sweep 세팅설치pip3 install wandb wandb loginsweep config 설정yaml 파일로 탐색할 hyperparameters를 지정한다.metric name으로 지정한(아래 예시에서는 validation_loss)는 반드시 학습 코드 내에 wandb.log({’validation_loss’:val_loss}) 형태로 로그되어야 한다.# sweep_sample.yaml program: train.py method: bayes metric: name: validation_loss goal: minimize par..
Weights & Biases란?wandb는 MLOps 플랫폼으로 머신러닝, 딥러닝을 학습하는데 필요한 다양한 기능들을 제공한다. 대표적으로 아래의 기능등을 갖추고 있다.실험관리하이퍼파라미터 튜닝데이터, 모델 버저닝모델 관리데이터 시각화협업 리포트wandb 기초 사용법pytorch를 사용하여 학습하는 환경에서 wandb를 이용해서 필요한 metric의 log를 기록하고, 그래프 형태로 확인하는 것을 먼저 알아본다.코랩 샘플 링크를 통해서 pytorch에서 사용하는 기본적인 wandb 사용법을 익힐 수 있다.W&B 설치wandb.ai 에 접속하여 회원가입하면 API key를 발급받을 수 있다.pip을 통해 wandb를 설치하고 위에서 발급받은 API key로 로그인을 한다.pip3 install wandb..

개요Dice score는 IoU와 같이 두 개의 영역 A, B가 얼마나 겹쳐지는 지를 나타내는 지표이다. Segmentation과 같은 기술을 사용할 때, GT와 예측된 영역 Pred를 비교할 때 사용할 수 있다.Dice Coefficient(Score)공식아래와 같이 A와 B의 겹쳐지는 정도로 계산할 수 있다. Dice 공식이 IoU와 다른 점은 분모에 교집합 부분(TP)이 한 번 더 더해지고, 분자에도 이와 마찬가지로 교집합(TP)이 한 번 더 더해진다. IoU=A∩BA∪BIoU=\dfrac{A\cap B}{A\cup B}IoU=A∪BA∩B Dice=2∗∣A∩B∣∣A∣+∣B∣=2∗TP(TP+FP)+(TP+FN)Dice = \dfrac{2*|A\cap B|}{|A| + |B|}= \dfrac{2*T..
[논문리뷰] SphereFace 설명 (Deep Hypershpere Embedding for Face Recognition)개요안녕하세요. 오늘은 얼굴 인식 관련 논문 중 2017년에 나온 SphereFace 논문에 대해 리뷰하겠습니다.우선 얼굴인식 모델의 목표를 알아야 하는데요, 아래 그림과 같이 Closed-set과 Open-set에 대해 이해해야 합니다.Closed-set은 Training Set과 Test Set의 분류해야 할 Class가 같은 것인데요, 예를 들어 강아지/고양이를 분류하는 Training set으로 학습했다면 Test set도 강아지/고양이로만 되어있습니다.반면에, Open-set은 강아지/고양이로 학습했지만 Test는 호랑이/사자를 분류하게 되는 경우입니다. 즉, 특정 cla..

IoU 설명, python 코드(Intersection over Union, object detection 평가방법)IoU란?Python 코드IoU란?IoU는 Intersection over Union의 약자로 보통 두 가지 물체의 위치(Bounding Box)가 얼마나 일치하는지를 수학적으로 나타내는 지표이다. 객체 인식같은 모델을 사용했을 때 실제 물체의 위치와 예측된 물체의 위치를 평가방법으로 사용할 수 있다.설명보다 아래 그림이 단번에 이해하기 쉽다.왼쪽 위 박스를 A, 오른쪽 아래 박스를 B라고 하면 아래와 같은 식이 된다. IoU=A∩BA∪BIoU=\dfrac{A\cap B}{A\cup B}IoU=A∪BA∩B Python 코드위의 공식처럼 두 개의 박스가 있을 때, iou값을 계산하는 코드..
[딥러닝] Albumentations으로 증강 쉽게하기(Augmentation-python)AlbmentationsAlbumentations는 이미지를 손쉽게 augmentation 해주는 python 라이브러리이다. 코드 몇 줄로 매우 쉽게 구현할 수 있다. 또한 다양한 영상변환 알고리즘을 제공하고 있고, 그 처리속도도 매우 빨라 딥러닝 전처리 용으로 유용하게 사용할 수 있다.1. 이미지샘플 이미지로 Pascal VOC 중 하나의 이미지를 사용했습니다. A.Compose() 안에 augmentation하고 싶은 함수가 들어있는 리스트를 입력하면 됩니다. 각 함수들에는 p라는 파라미터를 입력받게 되어있는데, probability의 약자로 해당 함수가 적용될 확률을 입력하면 됩니다. 1이라면 무조건 적용하..
[Python] cvlib로 얼굴인식(성별, 나이) 예측하기cvlib 란?파이썬에서 얼굴, 객체 인식을 위한 사용하기 쉬운 라이브러리이다. opencv와 tensorflow를 사용하고 있기 때문에, 이 라이브러리를 사용하려면 위 2개를 설치해야 한다.$ pip install opencv-python tensorflow소스코드얼굴인식얼굴인식은 opencv의 dnn 모듈을 사용하여 사전에 학습된 모델로 inference해준다. 별다른 것 없이 cv.detect_face()함수면 쉽게 사용할 수 있다. 이 함수로 반환되는 결과는 얼굴의 좌표들과 예측된 얼굴 각각의 confidence이다. 예측된 얼굴 좌표는 (xmin, ymin, xmax, ymax) 순으로 반환된다. confidence는 0~1사이의 flo..
[Python] opencv로 얼굴인식 하기Haar Featureopencv 에서는 haar feature를 이용한 얼굴인식 코드를 제공한다. haar feature는 영상에서 object detection을 하기 위해 나온 것으로 2001년에 "Rapid Object Detection using a Boosted Cascade of Simple Features"라는 논문에서 제안되었다. 아래와 같은 커널을 convolution 연산을 통해 feature를 구한다.Haar Cascade Classifierhaar cascade classifier는 영상을 windowing 하면서 haar feature들을 순차적으로 여러 stage로 검사하여 face가 아니면 이후는 보지도 않고 버려 버린다. 모든 fe..
[ML] Pycaret으로 ML모델 쉽게 만들기Pycaret이란?pycaret이란 AutoML을 하게 해주는 파이썬 라이브러리입니다. scikit-learn 패키지를 기반으로 하고 있으며 Classification, Regression, Clustering, Anomaly Detection 등등 다양한 모델을 지원합니다. 공식문서에 설명이 매우 잘 되어있고, 몇 줄의 코드로 쉽게 구현이 가능하여 유용하게 사용할 수 있을 것 같습니다.1. 데이터셋 준비, setuppycaret에서 제공하는 get_data 함수로 juice 데이터를 불러오겠습니다. 데이터를 불러오면 자동으로 .head() 를 실행해 5개의 row를 출력합니다.from pycaret.datasets import get_data dataset..
- Total
- Today
- Yesterday