일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- tent paper
- mocov3
- adamatch paper
- cifar100-c
- shrinkmatch
- CGAN
- mme paper
- BYOL
- 최린컴퓨터구조
- conjugate pseudo label paper
- UnderstandingDeepLearning
- SSL
- Pseudo Label
- CycleGAN
- shrinkmatch paper
- ConMatch
- 딥러닝손실함수
- Meta Pseudo Labels
- CoMatch
- semi supervised learnin 가정
- 컴퓨터구조
- Entropy Minimization
- 백준 알고리즘
- GAN
- simclrv2
- WGAN
- remixmatch paper
- dann paper
- dcgan
- Pix2Pix
Archives
- Today
- Total
Hello Computer Vision
[python] logging.getLogger(__name__) 선언 이유 본문
github 오픈된 코드들을 보면은 logging이란 모듈이 상당히 많이 쓰이는 걸 알 수 있다. 이것에 대해 알아보자면 print대신 사용할 수 있으며 에러와 관련하여 다양한 기능들이 있다.
우선 기본적인 이해가 있다하고 내가 본 코드에서는
logger = logging.getLogger(__name__)
이렇게 선언하고 logging. ~~ 이렇게 선언하는게 아니라 logger로 계속 선언되었다. 이 부분은 설명보다는 결과로 비교하는게 제일 빠를 거 같다.
### test.py 파일에 적혀있는 코드
def run_module():
logger = logging.getLogger(__name__)
logger.info('test파일임다')
test.py 파일에는 위와같은 함수에 logger를 따로 선언해주었다.
### test2.py 파일
import test
import logging
logging.basicConfig(level=logging.DEBUG)
test.run_module()
if __name__ == '__main__':
logging.info('test 2 임')
print(__name__)
test2.py 파일에는 위와 같은 코드들이 작성되어있다. 잠깐 비교해보면 test 파일에는 logger를 따로 선언해주었고 test2 파일에는 그대로 logging으로 사용한 것을 알 수 있다. 결과 코드는 다음과 같다.
INFO:test:test파일임다
INFO:root:test 2 임
__main__
이렇게 logger를 선언해준다음에 해당 파일을 수행한다면 어디서 나온 메세지인지 알 수 있다. 이번에는 test파일에서 logger를 따로 선언하지않고 logging으로 출력해보자.
__main__
INFO:root:test파일임다
INFO:root:test 2 임
이렇게 logging으로 출력해보면 어디서 나온 메세지인지 잘 알 수 없다는 단점이 있다. 그러니 각 파일에 logger로 선언한다면 조금 더 가독성있게 결과를 확인할 수 있다.
'딥러닝 > 파이썬' 카테고리의 다른 글
데이터셋 동등하게 분리하기 (1) | 2024.01.28 |
---|---|
파이썬 copy, deepcopy 쓰는 이유 및 사용해보기 (0) | 2024.01.17 |
[python] 튜플을 사용하는 이유 (0) | 2023.12.18 |
파이썬 getattr 알아보기 (0) | 2023.05.05 |
할당과 복사(얕은 복사, 깊은 복사) (0) | 2023.04.01 |