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://developer0hye.tistory.com/479 [Open Source Contribution] YOLOv8(ultralytics/ultralytics) 기여 #3 https://github.com/ultralytics/ultralytics/pull/955 eval arguments with `iskeyword` and `locals()` instead of suppressing an exception for better readability by developer0hye · Pu eval arguments with iskeyword and locals() instead of suppressing an except developer0hye.tistory.com 이전 PR 에서 mode..
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..
앞으로 블로그는 생성형 AI가 미리 학습하지 않은 새로운 정보에 대해 작성하거나 경험에서 우러나오는 글들이 아니면 사람들의 유입을 이끌기 어려울 것 같다. 심지어 새로운 정보를 작성해도 생성형 AI의 학습을 위한 크롤러 봇이 돌아다니며 바로 그글을 수집하고 바로 관련 글들을 또 찾고 학습하여 얼마 못가 학습 당해버릴 거 같다. 최신 정보에 대해서 빠르게 학습 못하더라도 최신 정보들을 찾은 후 요약해주는 정도만 되도, 대부분의 사람들은 그 최신 정보가 올라온 블로그를 방문할 필요가 없어질 거 같다. 그럼 사람들은 점점 글을 작성할 필요도 못느낄 거 같다. 대신에 생성형 AI가 결과를 출력함에 있어 해당 게시글을 참고한 경우 마치 사람이 그 글을 조회하고 광고를 누른냥 작성자에게 보상이 공유돼야할 거 같다...
집 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..
이 글의 제목은 "Gihub Actions, black, pre-commit 을 이용해 Python 프로젝트를 체계적으로 관리해보자 " 이다. 여기서 모호한 표현인 체계적은 코드가 일관적인 포맷으로 잘 정렬된 상태를 의미한다. 이미 이전 글에서 관련 주제를 다루었다. 일관적인 포맷으로 포매팅을 해주는 대표적인 툴 black! https://developer0hye.tistory.com/481 commit 전에 black을 실행하여 git commit 전에 코드를 자동으로 포매팅 해줄 수 있는 pre-commit! https://developer0hye.tistory.com/482 이제 여기에 Github Actions 를 끼얹어보자 pre-commit 까지 했으면 어느정도 된 거 아닌가? 싶은데 문제는 ..
음... onnxruntime 1.13 부터인가 정확히는 모르겠는데 onnxruntime을 1.13으로 올리니 GetInputName 과 GetOutputName 이 없다고 오류난다. api가 변경됐다. Name뒤에 Allocated가 붙었다. 찾아보니 기존의 GetInputName 과 GetOutputName 이 메모리 leak 나기 쉬워서 변경됐다는 거 같다. 그래서 기존의 코드에서 GetInputName 과 GetOutputName 을 GetInputNameAllocated 과 GetOutputNameAllocated 로 바꿨는데 빌드 안된다. 반환형도 살짝 바뀌었고 또 이에 맞춰 수정은 해서 빌드는 됐는데 실행해보니 input name이랑 output name을 출력해보니 엉뚱한 값들이 출력됐다...
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 ..
- Total
- Today
- Yesterday
- 순열
- ㅂ
- C++ Deploy
- 문제집
- 백준 1766
- 인공지능을 위한 선형대수
- 이분탐색
- 파이참
- 자료구조
- 위상 정렬 알고리즘
- 조합
- PyCharm
- FairMOT
- 가장 긴 증가하는 부분 수열
- 백준
- 백트래킹
- 백준 11437
- 백준 11053
- MOT
- Lowest Common Ancestor
- 단축키
- cosine
- LCA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |