Python (11) 썸네일형 리스트형 [Python] 2줄 만에 API 키 발급하기 파이썬에서는 uuid 모듈을 통해 아주 쉽게 키를 생성할 수 있다. import uuidprint(uuid.uuid4().hex) 이러면 32자리 문자열이 생성되고 API 키로 사용하도록 하면 된다. 조금 더 꼬고 싶다면 hashlib 모듈을 통해 아래와 같이 쓸 수 있다. import uuidimport hashlibsha = hashlib.sha256()sha.update(str(uuid.uuid4()).encode("utf-8"))print(sha.hexdigest()) 이러면 SHA-256으로 암호화된 문자열이 나온다. 원하는 길이만큼 잘라쓰면 된다. ONNX in python - XGBoost 모델을 onnx로 저장해보기 ONNX가 뭔데? ONNX는 Open Neural Network eXchange의 약자로, 다양한 환경에서 ML/DL 모델을 구동할 수 있게 해주는 프레임워크이다. 쉽게 말해 인공지능 모델을 크로스 플랫폼으로 사용할 수 있게 해주는 도구다. 이 포스트에서는 훈련한 XGBoost 모델을 onnx 파일로 export 하는 예제 코드를 보여주도록 한다.이 예제는 XGBoost만 된다.왜 XGBoost라고 한정했냐면, 훈련한 모델에 따라 export 방법이 다르기 때문이다. 이 포스트에서는 onnxmltools라는 것을 사용하지만, scikit-learn에 기반하여 훈련된 모델은 skl2onnx라는 모듈을 써서 export 한다. 혹시 파이썬에서 onnx를 쓸 예정이라면 유의하자.예시 코드와 주의점이 코드는 실.. [Python] opencv로 카메라에서 이미지 프레임을 가져올 때 주의할 점 간혹 opencv로 카메라 스트림에서 1 프레임씩 이미지를 가져오려는 경우가 있을 수 있다. 하지만 실시간으로 비디오를 스트리밍하는 게 아니라 원할 때 1 프레임씩 가져올 때 요청 순간의 프레임이 아닌 이전 시점의 프레임을 가져온다. 이는 opencv에서 카메라를 열 때 이전 프레임을 얼마나 담아둘지 버퍼 사이즈를 지정하기 때문인데 이를 조절하도록 해야 한다. 버퍼의 크기는 아래와 같이 조절할 수 있다.cap = cv2.VideoCapture(0)cap.set(cv2.CAP_PROP_BUFFERSIZE, 1) 그리고 이 상황에서 요청 순간의 프레임을 받아오려면 read()로 버퍼를 비운 뒤에 다시 read()를 호출해 주면 된다.cap.read() # 버퍼 비우기ret, frame = cap.read() [Python] rembg로 배경을 지워보기 이 포스트에서는 딥러닝 모델로 물체 주변의 배경을 지워주는 라이브러리인 rembg를 소개한다.rembg 소개rembg는 2020년 어워드를 받은 U²-net이라는 모델의 pretrained 모델을 사용할 수 있게 만들어진 라이브러리로, 배경을 지우는데 탁월한 성능을 보여준다. 깃허브 공식 리포에서 보여주는 배경 지우기 예시. 단색 배경을 마스킹하여 지우는 기존의 크로마키 기법보다 유연하게 사용할 수 있는 강점이 있다.사용해 보기rembg 공식 리포에서는 cpu 또는 gpu 사용에 따라 필요한 설치를 구분했다. pip install rembg[cpu] orpip install rembg[gpu] gpu 사용을 하려면 onnxruntime-gpu 지원 여부를 확인해야 한다고 한다. https://onnxr.. pyinstaller로 빌드된 파이썬 프로그램에서 리소스 경로 가져오기 파이썬으로 개발을 하는 사람 중 개발한 서비스나 앱을 pyinstaller로 배포하는 경우가 있을 수 있다. 다만 pyinstaller로 빌드한 제품은 스크립트로 실행하는 것과 달리 리소스나 에셋 파일을 가져올 때 경로가 달라지므로 이에 대응하는 함수가 필요하다. pyinstaller로 빌드된 앱에서 리소스를 가져오는 방법은 다음과 같이 작성할 수 있다. from typing import Unionimport sysfrom pathlib import Pathdef get_asset_path(relative_path: Union[str, Path]): if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'): bundle_dir = P.. 이전 1 2 3 다음