Data science/MLOps21 [MLOps] 디자인 패턴 보호되어 있는 글 입니다. 2024. 8. 26. Pre-commit 패키지 사용 Pre-commit 패키지?pre-commit은 Git 저장소에서 커밋을 수행하기 전에 코드 품질을 보장하고 코드 스타일을 일관되게 유지할 수 있도록 도와주는 도구입니다. 이 패키지는 Git의 훅(hook) 시스템을 활용하여 커밋 전 다양한 자동화 작업을 실행할 수 있게 해줍니다. 이를 통해 코드의 품질을 유지하고, 협업 시 코드 스타일의 일관성을 보장할 수 있습니다.주요 기능은 아래와 같습니다.자동화된 코드 검사 및 포매팅: 코스 스타일을 검사하는 테스트입니다. 협업시 꽤 유용합니다.다양한 훅(hook): hook은 스크립트나 명령어를 의미합니다. 여러가지 검사방법을 적용해볼 수 있습니다.확장성: `pre-commit-config.yaml`을 변경하여 훅을 추가/제거 할 수 있습니다. Pre-commi.. 2024. 8. 9. nvidia-driver, cuda toolkit update cuda toolkit 12.1 지원pytorch 2버전이상부터는 cuda toolkit 12.1으로 사용하는게 pip 이나 설치가 편하기에, toolkit 12.1을 설치하려고함.sudo ubuntu-drivers autoinstall cuda toolkit 12.1 installubuntu 공식 도큐먼트(URL)을 따라서 설치하려고함. Trouble shooting 1: package has invalid Support PBheader, cannot determine support levelubuntu 그레픽드라이버 유틸리티인 `ubuntu-drivers list`로 현재 설치가능한 드라이버를 찾다보면 위와 같은 경고를 볼 수 있는 습니다. 아래와 같이 해결했습니다 [URL]. $ sudo apt .. 2024. 5. 3. API token bucket: API 요청수 관리 API 요청을 관리하는 데에는 여러 이유가 있습니다. 그 중에서도 토큰 버킷을 사용하는 이유는 다음과 같습니다: 트래픽 제어: 토큰 버킷을 사용하면 API로 들어오는 트래픽을 제어할 수 있습니다. 이를 통해 서버에 과도한 부하가 걸리는 것을 방지하고, 서비스의 안정성을 유지할 수 있습니다. 사용량 제한: 토큰 버킷을 이용하면 API를 사용하는 클라이언트의 요청 수를 제한할 수 있습니다. 이는 과도한 사용량으로 인한 서버 과부하를 방지하고, 공정한 서비스 이용을 보장합니다. TokenBucket 만들기 토큰 버킷 패턴은 고정된 속도로 토큰을 생성하고, 요청이 들어올 때마다 토큰을 소비하여 일정량의 토큰을 가지고 있는지 확인하여 처리하는 방식입니다. 알고리즘은 아래와 같습니다. TokenBucket은 버켓(.. 2024. 4. 8. pip install -e 옵션에 대해 "-e" 옵션은 설치한 경우 파이썬 패키지를 담는 "site-packages" 디렉토리에 설치되는 것은 동일하나, 심볼릭 링크로 설치가되어 원본소스코드가 변경된 후, 별도의 pip install 명령어 없이, import시 바로 변경사항이 반영되는 옵션 pip install -e 옵션 종종 github에서 `pip install -e .`로 "-e"옵션을 함께 전달하여 파이썬 패키지를 설치하라는 리포지토리가 있습니다 예시로 아래와 같은 패키지 디자인의 경로가 있다고 가정합니다. (camelyon) @gpusvr03:~/repositories/camelyon$ tree -L 1 . ├── camelyon ├── data ├── LICENSE ├── logs ├── notebooks ├── README.md.. 2024. 4. 2. [mlflow] child run id 조회하기 import mlflow from setting import parent_run_id mlflow.set_tracking_uri(TRACKING_URI) child_run_ids = list() for run in client.search_runs(experiment_ids=[6]): if "mlflow.parentRunId" not in run.data.tags: continue if run.data.tags["mlflow.parentRunId"] != parent_run_id: continue child_run_ids.append(run.info.run_id) 2023. 9. 25. 이전 1 2 3 4 다음