import platform MACOS, LINUX, WINDOWS = (platform.system() == x for x in ['Darwin', 'Linux', 'Windows']) # environment booleans YOLOv8 프로젝트에서 활용되어짐. https://github.com/ultralytics/ultralytics/blob/a38f22767254f2c2ee241490bd027987780d83ca/ultralytics/yolo/utils/__init__.py#L41 GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite NEW - YOLOv8 🚀 in PyTorch > ONNX > C..
python pdb를 쓰면서 list comprehension 형태로 코드를 입력해보았는데 특정 변수가 정의 되어있지 않다는 오류(NameError)가 발생했다. 아래는 예제이다. global_scale = 5 def foo(): global global_scale arr = [1, 2, 3, 4] scale = 5 print([x * scale for x in arr]) import pdb pdb.set_trace() print("foo") foo() pdb 커맨드로 list comprehension 형태로 입력할때, expression에 local variable이 오면 pdb에서 이 변수를 인식을 못한다. 해결하는 방법은 pdb 커맨드에 interact를 입력한다음, 원래 입력하려 했던 list c..
eval() 로 variable을 불러오고 싶다면... 아래 처럼 쓸 수 있다. a = 3 eval('a') 근데 지역 변수 값들을 읽어올 수 있는 locals()와 전역 변수 값들을 읽어올 수 있는 globals()를 활용하면 아래처럼 쓸 수도 있다. a = 3 locals()['a'] YOLOv8 Contribution 에 해당 방법이 이용됐다. https://github.com/ultralytics/ultralytics/pull/1273 remove eval in parse_model by developer0hye · Pull Request #1273 · ultralytics/ultralytics I made an effort to minimize the number of calls to the e..
https://stackoverflow.com/a/22156138 How can I replace `eval` in my function? I know very well that it is not good practice using eval in Python. Here is my code: from hashlib import * # added for clarification def get_hash(self): if self.hash_type in ['md5', 'sha1', ' stackoverflow.com eval 기반 구현 from hashlib import * # added for clarification def get_hash(self): if self.hash_type in ['md5', 's..
집 PC의 Anaconda 용량이 심상치 않아졌다. 뭔가 Cache가 쌓인건지... envs 용량 체크해도 저정도는 아니던데 내가 모르는 곳에 뭔가 많이 쌓였나보다. 어디에 뭐가 쌓여서 그런건지 탐색하기 귀찮아서 아예 제거하고 miniconda로 다시 설치했다. https://docs.conda.io/en/latest/miniconda.html Miniconda — conda documentation Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small num..
pre-commit 이란 commit 하기전 user가 정의한 특정한 작업들이 자동으로 실행되게 도와주는 툴로 생각하면된다. commit 하기전에 formatting 잘했는지 정도의 최소한의 검증 과정이 존재하는 것 만으로 프로젝트 관리에 아주 유용할 것이다. 위 같은 검증을 ci/cd 단계에서 특정 Server에서 해준다고하더라도, Local에서 검증 과정을 거치지 않고 push를 하게되면 ci/cd용 Server 에서 장고의 시간을 거친뒤에서야 문제를 찾을 수 있을거다. 그리고 그 문제가 formatting 같이 사소한거라면 상당히 열 받을지도 모른다. Local에서 한 번 검증을 해주고 push 하면 ci/cd용 Server에서 발생하는 ci/cd횟수와 ci/cd 통과 여부를 확인하는 동안의 대기 ..
https://github.com/psf/black GitHub - psf/black: The uncompromising Python code formatter The uncompromising Python code formatter. Contribute to psf/black development by creating an account on GitHub. github.com auto-formatter 로 black을 사용해보려한다. 찾아보니 autopep8 나 yapf 가 있는데, 우선은 star 수가 가장 많은 black을 사용해보려한다. 설치 pip install black 사용법 black *.py black path/ 테스트해볼 코드(1) a = 1+ 3 b = 2 +3 c = a+b def ..
va = 1 vb = 2 n = 3 import pdb pdb.set_trace() 위 코드를 실행고나서 중단점 걸린다음 va 입력하면 1이 출력될거고 vb 입력하면 2가 출력될거다. 그다음 n을 입력하면 사용자 입장에서는 n 이라는 변수값을 확인하고 싶은 의도로 입력했겠지만, pdb 는 n을 입력받으면 다음 라인으로 건너뛰게 된다. 단순히 n의 값을 출력해보는거라면 p n 이라고 입력하면 그 값을 확인할 수 있긴하다. 그런데 n의 값을 수정해주고 싶을때는 어떻게 해야할까? p 는 단순히 출력만을 위해 사용되는 pdb 전용 커맨드이다. n += 3을 해보면 역시나 다음 라인으로 넘어간다. 보다 범용적으로 pdb 디버깅 커맨드를 무시하면서 디버깅을 할 수 있는 방법은 맨 앞에 !를 붙이고 값을 확인하고 싶..
- Total
- Today
- Yesterday
- 단축키
- 파이참
- 백트래킹
- 순열
- 문제집
- Lowest Common Ancestor
- LCA
- 자료구조
- cosine
- 조합
- 백준 11437
- 가장 긴 증가하는 부분 수열
- 백준 11053
- 백준
- ㅂ
- MOT
- 백준 1766
- 이분탐색
- PyCharm
- C++ Deploy
- FairMOT
- 인공지능을 위한 선형대수
- 위상 정렬 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |