데이터 내보내기
- 데이터 내보내기: Jupyter Notebook에서 맞춤형 분석을 위해 데이터프레임을 가져옵니다. 데이터를 탐색한 뒤에는 새 분석 run을 만들고 결과를 로깅해 분석 결과를 동기화할 수 있습니다. 예:
wandb.init(job_type="analysis") - 기존 Runs 업데이트: W&B run과 연결되어 로깅된 데이터를 업데이트할 수 있습니다. 예를 들어, 아키텍처나 원래 로깅되지 않았던 하이퍼파라미터 같은 추가 정보를 포함하도록 여러 Runs의 설정을 업데이트할 수 있습니다.
run 데이터 내보내기
과거 run의 데이터도 수정하거나 업데이트할 수 있습니다. 기본적으로 API 객체 인스턴스 하나가 모든 네트워크 요청을 캐시합니다. 실행 중인 스크립트에서 실시간 정보가 필요하다면
api.flush()를 호출해 업데이트된 값을 가져오세요.
여러 run 쿼리하기
- 데이터프레임 및 CSV
- MongoDB 스타일
이 예제 스크립트는 프로젝트를 찾아 name, 설정, summary 통계가 포함된 run CSV를 출력합니다.
<entity>와 <project>를 각각 사용자의 W&B entity와 프로젝트 이름으로 바꾸세요.api.runs를 호출하면 반복 가능한 Runs 객체가 반환되며, 목록처럼 동작합니다. 기본적으로 이 객체는 필요에 따라 한 번에 50개의 run을 순서대로 로드하지만, per_page 키워드 인수로 페이지당 로드할 개수를 변경할 수 있습니다.
api.runs는 order 키워드 인수도 받습니다. 기본 정렬 순서는 -created_at입니다. 결과를 오름차순으로 정렬하려면 +created_at를 지정하세요. 설정이나 summary 값으로도 정렬할 수 있습니다. 예를 들어 summary.val_acc 또는 config.experiment_name입니다.
오류 처리
wandb.CommError가 발생합니다. 원본 예외는 exc 속성을 통해 확인할 수 있습니다.
활성 run 중에 run 이름과 ID 조회하기
wandb.init()를 호출한 후에는 스크립트에서 다음과 같이 무작위 run ID 또는 사람이 읽을 수 있는 run 이름에 액세스할 수 있습니다:
- 고유한 run ID(8자 해시):
run.id - 무작위 run 이름(사람이 읽기 쉬움):
run.name
- Run ID: 생성된 해시를 그대로 두세요. 이 값은 프로젝트의 모든 run에서 고유해야 합니다.
- Run name: 짧고 읽기 쉬우며, 가능하면 고유한 값이어야 합니다. 그래야 차트의 서로 다른 선을 구분할 수 있습니다.
- Run notes: run에서 무엇을 하고 있는지 간단히 설명하기에 아주 좋은 곳입니다.
wandb.init(notes="여기에 노트 입력")로 설정할 수 있습니다. - Run tags: run tags에서 항목을 동적으로 추적하고, UI에서 필터를 사용해 table을 관심 있는 runs만 보이도록 좁혀 보세요. 스크립트에서 tags를 설정한 다음 UI에서 편집할 수 있으며, Runs table과 run 페이지의 Overview 탭 모두에서 가능합니다. 자세한 지침은 여기를 참조하세요.
Public API 예시
run에서 메트릭 조회
"<entity>/<project>/<run_id>"에 저장된 run에서 run.log({"accuracy": acc})로 기록된 타임스탬프와 정확도를 출력합니다.
run에서 특정 메트릭 조회
keys 인수를 사용하세요. run.history()를 사용할 때 기본 샘플 수는 500입니다. 특정 메트릭이 포함되지 않은 로깅된 step은 출력 데이터프레임에서 NaN으로 표시됩니다. keys 인수를 사용하면 API가 나열된 메트릭 키가 포함된 step을 더 자주 샘플링합니다.
두 run 비교하기
run1과 run2의 설정 매개변수 중 서로 다른 항목이 출력됩니다.
run이 완료된 후 해당 run의 메트릭 업데이트
0.9로 설정합니다:
완료된 run의 메트릭 이름 바꾸기
열 이름 변경은 테이블에만 적용됩니다. 차트에서는 여전히 메트릭의 원래 이름이 사용됩니다.
기존 run의 설정 업데이트
시스템 리소스 사용량을 CSV 파일로 내보내기
샘플링되지 않은 메트릭 데이터 조회
run.scan_history()를 사용하면 로깅된 모든 데이터 포인트를 조회할 수 있습니다. 다음은 이력에 로깅된 모든 loss 데이터 포인트를 다운로드하는 예제입니다.
이력에서 페이지 단위로 데이터 조회
run.scan_history()를 사용하세요. 샘플링되지 않은 이력에는 해당 run의 모든 이력 레코드가 포함됩니다. 반면 run.history()의 샘플링된 뷰에서는 일부 개별 레코드가 누락될 수 있습니다.
page_size 매개변수는 API 요청당 가져오는 이력 레코드의 최대 개수를 제어하며, 기본값은 1000입니다. 요청이 느리거나 시간 초과가 발생하면 더 작은 페이지 크기를 사용해 보세요. 페이지 크기를 줄이면 시간 초과 위험을 낮출 수 있지만, 더 많은 API 요청이 필요합니다.
keys 매개변수는 반환할 메트릭을 독립적으로 필터링합니다.
프로젝트의 모든 run에서 메트릭을 CSV 파일로 내보내기
<entity>와 <project>를 각각 W&B entity와 프로젝트 이름으로 바꾸세요.
run의 시작 시간 조회
완료된 run에 파일 업로드
run에서 파일 다운로드
run의 모든 파일 다운로드
특정 sweep의 run 조회
sweep에서 최적의 run 조회
best_run은 sweep 설정의 메트릭 매개변수에서 정의한 가장 좋은 메트릭을 가진 run입니다.
sweep에서 가장 성능이 좋은 모델 파일 다운로드
model.h5에 저장한 run들로 구성된 sweep에서 검증 정확도가 가장 높은 모델 파일을 다운로드합니다.