💡What’s ClearML
머신러닝 관련 업무들을 생성하고 자동화, 관리해주는 플랫폼 (실험/모델/데이터)
For ML Engineers
- 학습 메트릭, 모델을 추적 및 업로드/다운로드
- 실험 재현
- 데이터 업로드/다운로드, 버전관리
For DevOps Engineers
- Cloud/On-premise 상관없이 원격에 있는 리소스를 누구든지 쉽게 사용할 수 있도록 구성
- clearml-agent
그래서 왜쓰냐? (사수님 왈)
- remote execution 가능 (clearML server 존재할 때)
- ckpt들을 클라우드에 자유롭게 업로드/다운로드 가능
- queue에 넣어두고 자동으로 빈 gpu 사용하도록 할 수 있어서 편함
- hparams를 자동으로 optimize
내가 쓰면서 느낀거
- metric 등을 추가하고 손쉽게 시각화할 수 있음
- 원격 서버들의 도커 내에서 실행시키고 까먹으면 됨 ("딸깍")
- hyperparameter optimization도 해보았지만 제대로 한 진 모르겠음.. 쨌든 지스스로 abort하고 다른 거 시도해가면서 다양한 param 조합을 시도해보는게 신기했음
💡Document
https://clear.ml/docs/latest/docs/clearml_serving/clearml_serving_setup/#initial-setup
https://clear.ml/docs/latest/docs/clearml_serving/clearml_serving_tutorial/
💡간단히 ClearML 사용해보기
pip install clearml
가상환경에 설치
clearml-init
한 후 발급받은 clearml app credentials 입력
from clearml import Task
...
task = Task.init(project_name='great project', task_name='best experiment')
initialize the Task object in your main() function, or the beginning of the script
⇒ 이러면 일단 scalar 이런 거 잘 뜸
from clearml import Logger
logger = Logger.current_logger()
logger.report_text("Start!", level=logging.DEBUG, print_console=False)
logger.report_scalar(title="scalar metrics", series="series", value=scalar_series[iter], iteration=iter)
logger.report_text(f"scalar metric: {scalar_series[iter]}", level=logging.DEBUG, print_console=False)
scalar 탭에 로그를 찍거나 / 콘솔에 로그를 찍거나
TROUBLESHOOT
- scalar 탭에 안 뜨는 문제
- 원래 self.log() 하면 자동으로 로깅되어야 하나
- train.yaml 에서 self 가 맨 위에 있으면 yaml에 지정된 속성들이 기본 속성을 전부 override 하여 안 뜨는 문제가 발생했었음, 아래로 옮겨서 해결함
'AI > DL' 카테고리의 다른 글
ClearML 이모저모 (0) | 2024.08.29 |
---|---|
서버 ClearML agent 설정 + 도커에서 돌아가게 세팅하기 (0) | 2024.08.29 |
lightning-hydra-template CIFAR-10 데이터셋 학습해보기 (1) | 2024.08.29 |
lightning-hydra-template 코드분석 (2) | 2024.08.29 |
[책] PyTorch를 활용한 머신러닝/딥러닝 철저 입문 (1) | 2024.08.29 |