본문 바로가기

Data science104

[pytorch] register_buffer 설명 및 사용 방법 요약register_buffer는 모델의 상태(state)로서 관리하고 싶은 텐서를 등록하는 데 사용됩니다. 즉, 이 메서드는 state_dict에 포함되어서, torch.nn.Module.state_dict()에 함께 저장되어, torch.save을 할 때, 함께 저장됩니다. 또한, register_buffer으로 등록된 텐서는 기본적으로 기울기를 계산하지 않습니다. 기능 1. state_dict을 통해 모델을 저장/로드 할 때, 함께 포함되도록torch.nn.Module로 딥러닝 네트워크를 구성하고, 필요한 텐서(non-trainable)도 함께 저장이 가능합니다.아래의 예시를 살펴보겠습니다.9번줄:  self.register_buffer("running_mean", torch.zeros(10))으로.. 2024. 9. 27.
[MLOps] 디자인 패턴 보호되어 있는 글 입니다. 2024. 8. 26.
극좌표계(Polar coordinates) 및 픽셀유동화 극좌표계(Polar coordinates)는 평면 위의 점을 나타내는 또 다른 방법으로, 직교좌표계(Cartesian coordinates) 대신 사용됩니다. 직교좌표계에서는 xxx와 yyy라는 두 개의 직각 축을 사용해 점의 위치를 나타내지만, 극좌표계에서는 기준점에서의 거리와 기준 방향으로부터의 각도를 사용합니다. 극좌표계 개요기준점 (원점): 극좌표계에서 기준점은 거리를 측정하는 기준이 되는 점입니다. 이 점은 보통 O로 표시되며, 직교좌표계에서의 원점 (0,0)(0, 0)(0,0)에 해당합니다.거리 (r): 극좌표계의 첫 번째 요소인 r은 기준점 O에서 평면상의 점 P(x,y)까지의 거리를 나타냅니다. r은 항상 0 이상의 값을 가지며, 보통 음수는 허용되지 않습니다. 이 때, 점 P의 위치는 직.. 2024. 8. 20.
Pre-commit 패키지 사용 Pre-commit 패키지?pre-commit은 Git 저장소에서 커밋을 수행하기 전에 코드 품질을 보장하고 코드 스타일을 일관되게 유지할 수 있도록 도와주는 도구입니다. 이 패키지는 Git의 훅(hook) 시스템을 활용하여 커밋 전 다양한 자동화 작업을 실행할 수 있게 해줍니다. 이를 통해 코드의 품질을 유지하고, 협업 시 코드 스타일의 일관성을 보장할 수 있습니다.주요 기능은 아래와 같습니다.자동화된 코드 검사 및 포매팅: 코스 스타일을 검사하는 테스트입니다. 협업시 꽤 유용합니다.다양한 훅(hook): hook은 스크립트나 명령어를 의미합니다. 여러가지 검사방법을 적용해볼 수 있습니다.확장성: `pre-commit-config.yaml`을 변경하여 훅을 추가/제거 할 수 있습니다. Pre-commi.. 2024. 8. 9.
[5분 컷 리뷰] Matthew's correlation coefficient loss 요약DICE loss에서 반영하지 못하는 background의 오분류를 패널티로 반영하기위한 손실함수. Confusion matrix의 요소들을 직접 사용하여 손실함수를 만듬. DICE vs MCC(Mattew's correlation coefficient, MCC)DICE loss을 사용하든, IoU(Jaccard loss)을 사용하든 둘 다 TN(True negative)에 대한 정보가 없습니다.  이 True Negative을 반영하기위해서, confusion matrix에서 각 요소를 아래와 같이 만듭니다. 즉, TP와 TN은 많이 맞추고, FP,FN은 적은 confusion matrix을 만들기를 바라며, 이를 정규화하기위한 분모로 만듭니다. 아래를 보면 각 요소들이 분모에 2번씩 사용됩니다. .. 2024. 7. 25.
Segmentation loss (손실함수) 총정리 딥러닝 모델에서 이미지 분할 작업의 성능을 향상시키기 위해 다양한 손실 함수가 사용됩니다. 이번 글에서는 BCE부터 MCCLoss까지 다양한 손실 함수들을 정리해보겠습니다.순서와 간단한 요약 아래와 같습니다.BCE (Binary Cross Entropy): 기본적인 손실 함수 중 하나로, 주로 이진 분류 문제에서 사용되는 함수.DICE: 두 집합간의 유성을 측정하는 지표입니다. $ \text{DICE}= 2|AUB| / (|A|+|B|)$Jaccard loss: 두 유사성을 측정하느 또 다른 방법. $\text{Jaccard}=|A \cap B| / |A \cup B|$ Tversky Loss: Jaccard 손실 함수의 가중치 버전.  $\text{Tversky}=\frac{ |A \cap B| }{ .. 2024. 7. 22.