코드를 이해하기 위해 필요한 지식 더보기 혼동행렬(Confusion Matrix) 혼동 행렬은 분류 모델의 성능을 설명하는 데 사용되는 표입니다. 이 표는 네 가지 구성 요소로 이루어져 있습니다: 1. 진양성 (True Positive, TP): 모델이 양성 클래스를 정확하게 예측함. 2. 거짓양성 (False Positive, FP): 모델이 양성 클래스를 잘못 예측함 (오류의 한 종류). 3. 진음성 (True Negative, TN): 모델이 음성 클래스를 정확하게 예측함. 4. 거짓음성 (False Negative, FN): 모델이 음성 클래스를 잘못 예측함 (또 다른 오류의 종류). P N P TP FP N FN TN 정밀도(Precision): 공식: TP / (TP + FP) 의미: 모델이 ..
코드를 이해하기 위해 필요한 지식 더보기 __로 시작하고 끝나는 메서드들: 이러한 메서드들은 파이썬에서 '매직 메서드' 또는 '특수 메서드'라고 불립니다. 이 메서드들은 파이썬의 내장 동작과 밀접하게 연관되어 있으며, 특정 연산이나 함수 호출에 자동으로 응답합니다. 예를 들어, __init__() 메서드는 클래스의 인스턴스가 생성될 때 자동으로 호출되며, 객체 초기화에 사용됩니다. __getattr__() 메서드는 속성 조회가 실패했을 때 호출됩니다. 이러한 메서드들은 파이썬의 객체 지향 프로그래밍에서 중요한 역할을 하며, 연산자 오버로딩이나 사용자 정의 동작을 구현하는 데 사용됩니다. Config 클래스에서 파생된 객체가 DEFAULT_CONFIG를 참조하는 방법: DEFAULT_CONFIG는 전역 변..
알아둬야 할 지식 더보기 self.register_buffer 사용 이유: self.register_buffer는 PyTorch의 nn.Module에서 제공하는 메서드로, 모듈의 상태(state)에 텐서를 저장하지만, 이 텐서는 모델 파라미터로 간주되지 않습니다. 즉, 이 텐서는 학습 과정에서 업데이트되지 않습니다. target_real_label을 텐서로 변환하고 register_buffer를 사용하여 저장하는 이유는, 이 값을 모델의 일부로 유지하면서도 역전파(backpropagation)에서는 무시하기 위함입니다. 이렇게 함으로써, 이 값은 모델 저장 및 로딩 과정에서 자동으로 처리되며, GPU 연산에도 사용될 수 있습니다. NSGAN, LSGAN, Hinge Loss의 차이: NSGAN (Non-..
알아둬야 할 지식 더보기 self.apply(init_func)의 역할: self.apply 메서드는 PyTorch의 nn.Module 클래스에 정의된 메서드로, 주어진 함수(init_func)를 현재 모듈(self)의 모든 하위 모듈에 재귀적으로 적용합니다. 즉, init_func 함수는 네트워크의 모든 레이어에 대해 호출되어 가중치 초기화 등의 작업을 수행합니다. init_func(m)에서 m의 의미: m은 현재 모듈의 하위 요소를 나타냅니다. self.apply 메서드가 init_func를 호출할 때, 네트워크의 각 레이어(하위 모듈)가 m으로 전달됩니다. m은 컨볼루션 레이어, 배치 정규화 레이어 등 신경망의 구성 요소를 나타낼 수 있습니다. classname = m.class.__name__의 ..