Save and diff code
2 minute read
기본적으로 W&B는 가장 최근의 git 커밋 해시만 저장합니다. 더 많은 코드 기능을 켜면 UI에서 Experiments 간의 코드를 동적으로 비교할 수 있습니다.
wandb
버전 0.8.28부터 W&B는 wandb.init()
을 호출하는 메인 트레이닝 파일의 코드를 저장할 수 있습니다.
라이브러리 코드 저장
코드 저장을 활성화하면 W&B는 wandb.init()
을 호출한 파일의 코드를 저장합니다. 추가 라이브러리 코드를 저장하려면 다음 세 가지 옵션이 있습니다.
wandb.init()
을 호출한 후 wandb.run.log_code(".")
호출
import wandb
wandb.init()
wandb.run.log_code(".")
code_dir
이 설정된 settings 오브젝트를 wandb.init
에 전달
import wandb
wandb.init(settings=wandb.Settings(code_dir="."))
이렇게 하면 현재 디렉토리와 모든 하위 디렉토리의 모든 파이썬 소스 코드 파일이 artifact로 캡처됩니다. 저장되는 소스 코드 파일의 유형 및 위치를 보다 세밀하게 제어하려면 참조 문서를 참조하세요.
UI에서 코드 저장 설정
프로그래밍 방식으로 코드 저장을 설정하는 것 외에도 W&B 계정 설정에서 이 기능을 토글할 수도 있습니다. 이는 계정과 연결된 모든 Teams에 대해 코드 저장을 활성화합니다.
기본적으로 W&B는 모든 Teams에 대해 코드 저장을 비활성화합니다.
- W&B 계정에 로그인합니다.
- Settings > Privacy로 이동합니다.
- Project and content security에서 Disable default code saving을 켭니다.
코드 비교기
서로 다른 W&B Runs에서 사용된 코드를 비교합니다.
- 페이지 오른쪽 상단에서 Add panels 버튼을 선택합니다.
- TEXT AND CODE 드롭다운을 확장하고 Code를 선택합니다.

Jupyter 세션 기록
W&B는 Jupyter 노트북 세션에서 실행된 코드의 기록을 저장합니다. Jupyter 내에서 **wandb.init()**을 호출하면 W&B는 현재 세션에서 실행된 코드의 기록이 포함된 Jupyter 노트북을 자동으로 저장하는 훅을 추가합니다.
- 코드가 포함된 project 워크스페이스로 이동합니다.
- 왼쪽 네비게이션 바에서 Artifacts 탭을 선택합니다.
- code artifact를 확장합니다.
- Files 탭을 선택합니다.

이렇게 하면 iPython의 display 메소드를 호출하여 생성된 모든 출력과 함께 세션에서 실행된 셀이 표시됩니다. 이를 통해 지정된 Run 내에서 Jupyter 내에서 실행된 코드를 정확히 볼 수 있습니다. 가능한 경우 W&B는 코드 디렉토리에서도 찾을 수 있는 노트북의 최신 버전도 저장합니다.

Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.