> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-2626.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# fastai v1

> fastai v1에서 W&B callback을 사용해 모델 토폴로지, 손실, 메트릭, 가중치, 그라디언트, 예측을 로깅합니다.

<Note>
  이 문서는 fastai v1용입니다.
  현재 버전의 fastai를 사용한다면 [fastai page](../)를 참고하세요.
</Note>

fastai v1 스크립트의 경우, W\&B는 모델 토폴로지, 손실, 메트릭, 가중치, 그라디언트, 샘플 예측, 그리고 가장 잘 트레이닝된 모델을 자동으로 로깅하는 callback를 제공합니다.

```python theme={null}
import wandb
from wandb.fastai import WandbCallback

wandb.init()

learn = cnn_learner(data, model, callback_fns=WandbCallback)
learn.fit(epochs)
```

callback 생성자를 통해 어떤 데이터를 로깅할지 설정할 수 있습니다.

```python theme={null}
from functools import partial

learn = cnn_learner(
    data, model, callback_fns=partial(WandbCallback, input_type="images")
)
```

트레이닝을 시작할 때에만 `WandbCallback`를 사용할 수도 있습니다. 이 경우 인스턴스화해야 합니다.

```python theme={null}
learn.fit(epochs, callbacks=WandbCallback(learn))
```

이 단계에서 맞춤형 매개변수를 전달할 수도 있습니다.

```python theme={null}
learn.fit(epochs, callbacks=WandbCallback(learn, input_type="images"))
```

<div id="example-code">
  ## 예제 코드
</div>

다음 예시는 인테그레이션이 어떻게 작동하는지 보여줍니다:

* [심슨 가족 캐릭터 분류하기](https://github.com/borisdayma/simpsons-fastai): fastai 모델을 추적하고 비교하는 데모입니다. [단계별 가이드](https://app.wandb.ai/jxmorris12/huggingface-demo/reports/A-Step-by-Step-Guide-to-Tracking-Hugging-Face-Model-Performance--VmlldzoxMDE2MTU)를 참조하세요.
* [Fastai를 사용한 시맨틱 세그멘테이션](https://github.com/borisdayma/semantic-segmentation): 자율주행차용 신경망 최적화

<div id="options">
  ## 옵션
</div>

`WandbCallback()` 클래스는 다음과 같은 여러 옵션을 지원합니다:

| 키워드 인수            | 기본값         | 설명                                                                            |
| ----------------- | ----------- | ----------------------------------------------------------------------------- |
| `learn`           | N/A         | 훅을 적용할 fast.ai learner입니다.                                                    |
| `save_model`      | `True`      | 각 step에서 성능이 개선되면 모델을 저장합니다. 또한 트레이닝이 끝나면 최고 성능 모델을 로드합니다.                    |
| `mode`            | `auto`      | `min`, `max` 또는 `auto`입니다. step 간에 `monitor`에 지정된 트레이닝 메트릭을 비교하는 방식입니다.       |
| `monitor`         | `None`      | 최고 성능 모델을 저장하기 위한 성능 측정에 사용하는 트레이닝 메트릭입니다. `None`이면 기본값은 검증 손실입니다.            |
| `log`             | `gradients` | `gradients`, `parameters`, `all` 또는 `None`입니다. 손실과 메트릭은 항상 로깅됩니다.             |
| `input_type`      | `None`      | `images` 또는 `None`입니다. 샘플 예측을 표시하는 데 사용됩니다.                                   |
| `validation_data` | `None`      | `input_type`이 설정된 경우 샘플 예측에 사용하는 데이터입니다.                                      |
| `predictions`     | `36`        | `input_type`이 설정되어 있고 `validation_data`가 `None`인 경우 생성할 예측 개수입니다.             |
| `seed`            | `12345`     | `input_type`이 설정되어 있고 `validation_data`가 `None`인 경우 샘플 예측을 위한 난수 생성기를 초기화합니다. |
