TorchMetrics란?특징설치함수형 사용법모듈형 사용법새로운 Custom Metric 구현 방법Metric 내부 동작 GPU에서의 사용방법MetricCollection 사용방법Memory management참고자료 TorchMetrics란?TorchMetrics는 PyTorch 에서 사용할 수 있는 Metric 구현 라이브러리이다. 구현된 Metric은 100가지가 넘으며, 쉬운 API 구성으로 훈련 및 평가시 사용할 수 있다.특징PyTorch에서 사용 가능한 다양한 메트릭 함수 제공메트릭 컬렉션을 제공하여 여러 메트릭 함수를 한번에 사용 가능GPU를 사용하여 빠른 속도로 메트릭을 계산할 수 있음분산 학습 호환 및 자동 동기화 metrics 계산 시 배치 단위로 누적 연산이 가능함설치터미널에서 아래 ..
[논문리뷰] 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..
[딥러닝] Tensorflow에서 데이터로더 병렬처리 방법개요tensorflow에서 sequence 데이터로더를 사용하여 학습할 때, 데이터로더 처리 시간이 길어 gpu 사용률(Volatile GPU-Util)이 낮은 경우가 있다. gpu 사용률이 낮은건 다양한 이유가 있지만, 그 중 cpu 처리 속도가 느려 데이터를 로드하는 시간이 길어 학습 연산하는 gpu가 놀고 있는 경우도 있다. 이런 경우에는 학습 시간이 오래 걸리기 때문에, 데이터를 불러오는 시간을 줄여야 한다. 이 때, tensorflow에서 지원하는 OrderedEnqueuer를 사용하면 sequence를 병렬처리하여 시간을 단축시킬 수 있다.OrderedEnqueuer 사용법Sequence 데이터로더 생성Sequence를 상속받아 Data..
[딥러닝] tensorflow에서 학습된 모델 저장, 불러오기저장하기저장할 때에는 2가지 방법이 있다. 모델 구조와 weight를 한 번에 저장하는 방법과, weight만을 저장하는 방법이다. 상황에 따라 필요한 방법을 사용하면 된다. 모델을 통째로 저장할 때에는 디렉토리 경로를 지정해주면 해당 경로에 모델이 저장된다. weight만을 저장할 때에는 아래와 같이 확장자 지정 없이 경로를 지정해 주면 weigh값만 저장이 된다.# 1. 모델 통째로 저장 model.save('./my_model') # 2. weight만 저장 model.save_weights('./my_model/epoch_001') # 3. callbacks를 사용하여 저장 # 체크포인트 경로 지정({}변수 에 epoch 값이 들어가도록..
Tensorflow에서 커스텀 데이터로더 만들기(Custom Dataloader, Sequence)Sequence를 사용하여 Custom Dataset 만들기초기화 함수(__init__)길이 함수(__len__)index값에 따라 데이터를 반환하는 함수(__getitem__)한 epoch이 끝날 때마다 실행하는 함수(on_epoch_end)전체 소스 코드참고자료Sequence를 사용하여 Custom Dataset 만들기pytorch에서 보통 데이터 로드할때 torch.utils.data.DataSet을 많이 사용하는데요,tensorflow 2.0 이상 버전에서도 비슷하게 custom dataset loader를 만드는 방법이 있습니다.tensorflow.keras.utils.Sequence를 사용하는 건..
- Total
- Today
- Yesterday