no image
3 in pd.Series(3) 이게 왜 False일까?
연산되는 방식 python의 모든 연산자는 특수메서드로 구현되어있다. 따라서 p in z라는 구문을 실행했을 때 __contains__라는 특수메서드가 호출되게 된다. pandas 구현 아래의 특수메서드가 호출된다 이때 key in self._info_axis연산을 하게 되는데 # pandas.core.generic.py > NDFrame > __contains__ @final def __contains__(self, key) -> bool_t: """True if the key is in the info axis""" return key in self._info_axis 따라서 아래와 같은 방식으로 Index의 값과 비교해야지 True를 반환한다. * 추가적으로 @final 데코레이터는 상속 및 재정의..
2023.03.25
no image
Functools(정리중)
Partial 어떤 특정한 함수가 주어졌을 때 특정 인수가 미리 채워진채로 함수를 정의하기 위해서 사용됨 거듭 제곱의 함수가 아래와 같이 주어졌다고 가정하자. def power(base, exponent): return base ** exponent 이 때 지수가 고정 된 함수를 만들기 위해선 아래와 같은 함수를 구현해야 한다. def square(base): return power(base , 2) def cube(base): return power(base, 3) 하지만 이럴 경우 중복 코드가 작성 되기 때문에 아래와 같이 partial 함수를 써 새로운 함수를 간결하게 만들 수 있다. from functools import partial square = partial(power, exponent=2..
2023.03.21
no image
Custom mini-batch Loader
Custom mini batch Loader로 원하는 데이터 mini batch에 강제하기 현재 축관 제조공정 중 결함을 감지하는 Object detection Task에서 데이터 셋 3만장 중 결함이 있는 데이터는 3%에 불과합니다. 하지만 학습환경상 최대 설정 batch size가 8이었고, mini batch 안에 결함이 들어갈 이미지가 들어갈 확률은 극도로 작아 결함데이터에 대해 학습하지 못할 가능성이 높았습니다. 따라서 custom mini batch loader를 만들어 이 문제를 해결하려 했습니다. 1) Pytorch 구현 방식 파이토치에서 기본적으로 데이터로더를 쓸 때 불러와지는 것은 Dataset RandomSampler BatchSampler DataLoader 이 4가지 입니다. py..
2023.03.21