> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> Integrate W&B with PaddleOCR to track OCR model training, log recognition metrics, and visualize predictions.

# PaddleOCR

[PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) provides multilingual, practical OCR tools that help users train models and apply them in production, implemented in PaddlePaddle. PaddleOCR supports a range of OCR algorithms and includes industrial solutions. PaddleOCR includes a W\&B integration for logging training and evaluation metrics along with model checkpoints and corresponding metadata.

This page shows you how to enable the W\&B integration in PaddleOCR so that your OCR training runs automatically stream metrics, validation results, and checkpoint metadata to a W\&B dashboard. Use this integration to compare experiments, monitor training in real time, and keep a versioned history of your OCR models.

## Example blog and Colab

See the [PaddleOCR and W\&B training tutorial](https://wandb.ai/manan-goel/text_detection/reports/Train-and-Debug-Your-OCR-Models-with-PaddleOCR-and-W-B--VmlldzoyMDUwMDIw) for how to train a model with PaddleOCR on the ICDAR2015 dataset. This also comes with a [Google Colab](https://colab.research.google.com/drive/1id2VTIQ5-M1TElAkzjzobUCdGeJeW-nV?usp=sharing) and the corresponding live [W\&B dashboard](https://wandb.ai/manan-goel/text_detection). A Chinese version of this blog is also available: [W\&B对您的OCR模型进行训练和调试](https://wandb.ai/wandb_fc/chinese/reports/W-B-OCR---VmlldzoyMDk1NzE4).

## Sign up and create an API key

An API key authenticates your machine to W\&B. You can generate an API key from your user profile.

<Note>
  For a more streamlined approach, go to [User Settings](https://wandb.ai/settings) and create an API key. Copy the API key immediately and save it in a secure location such as a password manager.
</Note>

1. Click your user profile icon in the upper right corner.
2. Select **User Settings**, then scroll to the **API Keys** section.

## Install the `wandb` library and log in

To install the `wandb` library locally and log in:

<Tabs>
  <Tab title="Command line">
    1. Set the `WANDB_API_KEY` [environment variable](/models/track/environment-variables/) to your API key. Replace values enclosed in `<>` with your own:

       ```bash theme={null}
       export WANDB_API_KEY=<your_api_key>
       ```

    2. Install the `wandb` library and log in.

       ```bash theme={null}
       pip install wandb

       wandb login
       ```
  </Tab>

  <Tab title="Python">
    ```bash theme={null}
    pip install wandb
    ```

    ```python theme={null}
    import wandb
    wandb.login()
    ```
  </Tab>

  <Tab title="Python notebook">
    ```python theme={null}
    !pip install wandb

    import wandb
    wandb.login()
    ```
  </Tab>
</Tabs>

## Add `wandb` to your `config.yml` file

PaddleOCR requires you to provide configuration variables using a YAML file. To enable W\&B logging, add the following snippet at the end of the configuration YAML file. This setting configures PaddleOCR to automatically log all training and validation metrics to a W\&B dashboard along with model checkpoints:

```yaml theme={null}
Global:
    use_wandb: True
```

You can also add any additional, optional arguments that you want to pass to [`wandb.init()`](/models/ref/python/functions/init) under the `wandb` header in the YAML file:

```yaml theme={null}
wandb:
    project: CoolOCR  # (optional) this is the wandb project name
    entity: my_team   # (optional) if you're using a wandb team, you can pass the team name here
    name: MyOCRModel  # (optional) this is the name of the wandb run
```

## Pass the `config.yml` file to `train.py`

With W\&B logging configured, start training by passing the YAML file as an argument to the [training script](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.5/tools/train.py) available in the PaddleOCR repository.

```bash theme={null}
python tools/train.py -c config.yml
```

Once you run your `train.py` file with W\&B enabled, PaddleOCR generates a link to your W\&B dashboard, where you can monitor training and validation metrics in real time:

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541/mVjDwbx0mC8gYx-b/images/integrations/paddleocr_wb_dashboard1.png?fit=max&auto=format&n=mVjDwbx0mC8gYx-b&q=85&s=00c6a68da976f3848e65710cb6196997" alt="PaddleOCR training dashboard" width="2880" height="1600" data-path="images/integrations/paddleocr_wb_dashboard1.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541/w-lBKSCruauC3-2f/images/integrations/paddleocr_wb_dashboard2.png?fit=max&auto=format&n=w-lBKSCruauC3-2f&q=85&s=40dd62fb48c52719544ec83317ec502e" alt="PaddleOCR validation dashboard" width="2872" height="1572" data-path="images/integrations/paddleocr_wb_dashboard2.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541/w-lBKSCruauC3-2f/images/integrations/paddleocr_wb_dashboard3.png?fit=max&auto=format&n=w-lBKSCruauC3-2f&q=85&s=307792bd99be6bcd92ac6abc4fd43c12" alt="Text detection model dashboard" width="2880" height="1594" data-path="images/integrations/paddleocr_wb_dashboard3.png" />
</Frame>

## Feedback or issues

If you have any feedback or issues about the W\&B integration, open an issue on the [PaddleOCR GitHub](https://github.com/PaddlePaddle/PaddleOCR) or email <a href="mailto:support@wandb.com">[support@wandb.com](mailto:support@wandb.com)</a>.
