본문 바로가기

의료 AI/[06] - 프로젝트4

Segmentation Models Pytorch 사용법 이번 포스팅에서는 Segmentation Models PyTorch(SMP) 라이브러리를 사용하여 UNet 기반의 모델을 학습하는 방법을 다룬다. SMP는 다양한 세그멘테이션 모델과 사전 학습된 백본(Backbone)을 제공하여 모델 개발을 간편하게 만든다. 이 글에서는 PyTorch와 SMP를 활용해 X-Ray 데이터를 학습하는 코드를 구성하고, 각 단계에서 사용한 기능과 로직을 설명하겠습니다.  SMP란 무엇인가?Segmentation Models PyTorch는 PyTorch를 기반으로 구축된 세그멘테이션 모델 라이브러리이다. UNet, UNet++, DeepLabV3+와 같은 다양한 모델을 지원하며, EfficientNet, ResNet, RegNet 등 여러 백본을 선택할 수 있다. 특히 사전 .. 2024. 11. 25.
Pseudo 라벨링(Pseudo Labeling)이란 무엇인가? Pseudo 라벨링은 반지도 학습(Semi-supervised Learning)의 한 기법이다. 이 방법은 모델이 예측한 결과를 기반으로*라벨이 없는 데이터(unlabeled data)에 임시 라벨을 할당하여 학습에 활용하는 방식이다. Pseudo 라벨링은 특히 라벨링 비용이 높은 상황에서 데이터 효율성을 극대화하는 데 유용하다.왜 Pseudo 라벨링을 사용하는가?라벨링 비용 절감데이터에 라벨을 직접 붙이는 작업은 많은 비용과 시간이 소요된다. Pseudo 라벨링은 모델의 예측 결과를 사용하여 라벨링 작업을 간소화한다.데이터 활용 극대화라벨이 없는 데이터도 학습에 포함할 수 있어, 전체 데이터셋의 크기를 증가시킨다. 이를 통해 모델의 일반화 성능을 높일 수 있다.모델 성능 개선모델이 학습 데이터를 더 많.. 2024. 11. 24.
Semantic Segmentation 대회에서 사용하는 방법들 K-Fold 구분 1. K-Fold 교차 검증K-Fold 교차 검증은 데이터를*K개의 동일한 크기의 부분집합(Fold*으로 나누어 모델을 평가하는 방법이다. 이 방법은 데이터의 불균형을 방지하고, 모델의 일반화 성능을 향상시키기 위해 사용된다. 과정데이터를 K개의 Fold로 나눈다.각 Fold를 한 번씩 검증 데이터로 사용하며, 나머지 Fold는 훈련 데이터로 사용한다.이 과정을 K번 반복하여, K개의 모델을 학습하고 각각의 성능을 측정한다.최종적으로 K개의 결과를 평균 내어 모델의 일반화 성능을 평가한다.장점모든 데이터가 훈련 및 검증에 사용되므로 데이터 낭비가 없다.데이터가 고르게 검증되기 때문에 일반화 성능 평가에 효과적이다.단점반복적으로 모델을 학습해야 하므로 계산 비용이 높다. 2. Strati.. 2024. 11. 23.
[꼬꼬무] - PyTorch 에서 메모리 부족할때 해결하는 방법! (Autocast, GradScaler) Autocast와 GradScaler딥러닝 모델을 학습할 때, 특히 GPU를 사용할 경우 메모리 효율성과 연산 속도를 개선하는 것이 매우 중요하다. 이때 PyTorch에서 제공하는 Autocast와 GradScaler는 메모리 사용량을 줄이고 학습 성능을 최적화하는 데 효과적이다. 이 글에서는 Autocast와 GradScaler의 원리를 설명하고, 이를 활용한 코드와 적용 사례를 알아보자. Autocast의 원리Autocast는 PyTorch에서 제공하는 기능으로, Mixed Precision Training(혼합 정밀도 학습)을 구현한다. 그러면 Mixed Precision Training 이게 무엇인가??딥러닝 연산에서 일부를 FP32(32-bit floating point) 대신 FP16(16-b.. 2024. 11. 21.