본문으로 건너뛰기

WandbModelCheckpoint

주기적으로 Keras 모델이나 모델 가중치를 저장하는 체크포인트입니다.

WandbModelCheckpoint(
filepath: StrPath,
monitor: str = "val_loss",
verbose: int = 0,
save_best_only: bool = (False),
save_weights_only: bool = (False),
mode: Mode = "auto",
save_freq: Union[SaveStrategy, int] = "epoch",
options: Optional[str] = None,
initial_value_threshold: Optional[float] = None,
**kwargs
) -> None

저장된 가중치는 W&B에 wandb.Artifact로 업로드됩니다.

이 콜백은 tf.keras.callbacks.ModelCheckpoint에서 서브클래스화되었기 때문에, 체크포인팅 로직은 부모 콜백에 의해 처리됩니다. 여기에서 더 알아볼 수 있습니다: https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/ModelCheckpoint

이 콜백은 model.fit()을 사용한 트레이닝과 함께 사용되며, 일정 간격으로 모델이나 가중치(체크포인트 파일에)를 저장합니다. 모델 체크포인트는 W&B Artifacts로 로그됩니다. 여기에서 더 알아볼 수 있습니다: https://docs.wandb.ai/guides/artifacts

이 콜백은 다음과 같은 기능을 제공합니다:

  • "monitor"를 기반으로 "최고 성능"을 달성한 모델 저장
  • 성능에 상관없이 매 에포크마다 모델 저장
  • 매 에포크 끝이나 일정 수의 트레이닝 배치 후에 모델 저장
  • 모델 가중치만 저장하거나 전체 모델을 저장
  • 모델을 SavedModel 포맷 또는 .h5 포맷으로 저장
인수
filepath(Union[str, os.PathLike]) 모델 파일을 저장할 경로. filepathepochlogs의 키 값( on_epoch_end에 전달됨)으로 채워질 수 있는 명명된 포맷 옵션을 포함할 수 있습니다. 예를 들어, filepathmodel-{epoch:02d}-{val_loss:.2f}인 경우, 모델 체크포인트는 에포크 번호와 검증 손실을 파일명에 포함하여 저장됩니다.
monitor(str) 모니터링할 메트릭 이름. 기본값은 "val_loss".
verbose(int) 출력 모드, 0 또는 1. 모드 0은 조용한 모드이고, 모드 1은 콜백이 작업을 수행할 때 메시지를 표시합니다.
save_best_only(bool) save_best_only=True인 경우, 모델이 "최고"로 간주될 때만 저장합니다. 그리고 최신의 최고 모델은 모니터링되는 수량에 따라 덮어쓰지 않습니다. filepath{epoch} 같은 포맷 옵션을 포함하지 않으면 filepath은 로컬에서 새로운 더 나은 모델마다 덮어쓰게 됩니다. 아티팩트로 로그된 모델은 여전히 올바른 monitor와 연관됩니다. 아티팩트는 지속적으로 업로드되며 새로운 최고 모델이 발견될 때마다 별도로 버전 관리됩니다.
save_weights_only(bool) True인 경우, 모델의 가중치만 저장됩니다.
mode(Mode) {'auto', 'min', 'max'} 중 하나. val_acc의 경우 max, val_loss의 경우 min 등이어야 합니다.
save_freq(Union[SaveStrategy, int]) epoch 또는 정수. 'epoch'를 사용할 때, 콜백은 각 에포크 후에 모델을 저장합니다. 정수를 사용할 때, 콜백은 이 많은 배치의 끝에 모델을 저장합니다. val_accval_loss 같은 검증 메트릭을 모니터링할 때, save_freq는 "epoch"으로 설정되어야 합니다. 그렇지 않으면 해당 메트릭은 에포크 끝에서만 사용할 수 있습니다.
options(Optional[str]) save_weights_only가 참인 경우 선택적 tf.train.CheckpointOptions 오브젝트 또는 save_weights_only가 거짓인 경우 선택적 tf.saved_model.SaveOptions 오브젝트입니다.
initial_value_threshold(Optional[float]) 모니터링되는 메트릭의 초기 "최고" 값의 부동 소수점입니다.
속성

메소드

set_model

set_model(
model
)

set_params

set_params(
params
)
Was this page helpful?👍👎