Skip to page content
SAVRN
Search Plan a project

Open-weight model · Image to text

REVA_PO_Weights

by Li Guo liguo12/REVA_PO_Weights

REVA_PO_Weights is an open-weight model for image to text from Li Guo, released under Creative Commons Attribution 4.0. Its published files total 73.2 GB.

Pretrained checkpoints for REVA-PO: Stabilizing Reinforcement Learning for Chest X-ray Report Generation, accepted to ECCV 2026. REVA-PO is a reinforcement learning framework for chest X-ray report generation.

Parameters—
Context—
Weights73.2 GB
Licensecc-by-4.0
AccessOpen weights
Monthly Downloads—

Model Card

By Li Guo, published under cc-by-4.0, revision a430b9ad7747.

Pretrained checkpoints for REVA-PO: Stabilizing Reinforcement Learning for Chest X-ray Report Generation, accepted to ECCV 2026. REVA-PO is a reinforcement learning framework for chest X-ray report generation. It combines: - Response-Weighted Regularization, which adjusts response-level KL regularization using the response advantage and reference-policy entropy. - Validation-Anchored Policy Reset, which periodically synchronizes the current and reference policies with the best validation checkpoint. - A three-stage training pipeline consisting of warm-up training, classifier-guided supervised fine-tuning, and reinforcement learning. This repository contains the PyTorch and DeepSpeed…

Read Li Guo's full model card

Pretrained checkpoints for REVA-PO: Stabilizing Reinforcement Learning for Chest X-ray Report Generation, accepted to ECCV 2026.

Overview

REVA-PO is a reinforcement learning framework for chest X-ray report generation. It combines:

  • Response-Weighted Regularization, which adjusts response-level KL regularization using the response advantage and reference-policy entropy.
  • Validation-Anchored Policy Reset, which periodically synchronizes the current and reference policies with the best validation checkpoint.
  • A three-stage training pipeline consisting of warm-up training, classifier-guided supervised fine-tuning, and reinforcement learning.

This repository contains the PyTorch and DeepSpeed checkpoints used to reproduce the IU-Xray and MIMIC-CXR experiments.

These files are project-specific .pth checkpoints. They are not standalone Hugging Face Transformers checkpoints and cannot be loaded directly with AutoModel.from_pretrained(). Use them with the released REVA-PO code and configuration files.

Repository Contents

REVA_PO_Weights/
├── Medical_MAE/
│   └── vit-b_CXR_0.5M_mae_CheXpert.pth
├── iuxray/
│   ├── iuxray_cls_ckpt.pth
│   ├── iuxray_stage1_ckpt.pth
│   ├── iuxray_stage2_ckpt.pth
│   ├── iuxray_stage3_ckpt.pth
│   └── mimic_stage1_ckpt.pth
└── mimic/
    ├── chexbert.pth
    ├── mimic_cls_ckpt.pth
    ├── mimic_stage1_ckpt.pth
    ├── mimic_stage2_ckpt.pth
    └── mimic_stage3_ckpt.pth

Checkpoint Guide

Shared and Auxiliary Checkpoints

File Purpose
Medical_MAE/vit-b_CXR_0.5M_mae_CheXpert.pth Medical MAE initialization used when fine-tuning the image classifier.
mimic/chexbert.pth CheXbert checkpoint used by the MIMIC-CXR training and evaluation pipeline.

MIMIC-CXR Checkpoints

File Purpose
mimic/mimic_cls_ckpt.pth Image classifier fine-tuned for MIMIC-CXR.
mimic/mimic_stage1_ckpt.pth Stage 1 warm-up checkpoint.
mimic/mimic_stage2_ckpt.pth Stage 2 classifier-guided supervised fine-tuning checkpoint.
mimic/mimic_stage3_ckpt.pth Final Stage 3 REVA-PO checkpoint used for evaluation.

IU-Xray Checkpoints

File Purpose
iuxray/mimic_stage1_ckpt.pth MIMIC-CXR Stage 1 initialization used for IU-Xray Stage 1 training.
iuxray/iuxray_cls_ckpt.pth Image classifier fine-tuned for IU-Xray.
iuxray/iuxray_stage1_ckpt.pth Stage 1 warm-up checkpoint.
iuxray/iuxray_stage2_ckpt.pth Stage 2 classifier-guided supervised fine-tuning checkpoint.
iuxray/iuxray_stage3_ckpt.pth Final Stage 3 REVA-PO checkpoint used for evaluation.

Download

Install the Hugging Face Hub client:

pip install -U huggingface_hub

Download all checkpoints:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="liguo12/REVA_PO_Weights",
    local_dir="REVA_PO_Weights",
)

Download only the final checkpoints and required auxiliary weights:

from huggingface_hub import hf_hub_download

files = [
    "iuxray/iuxray_cls_ckpt.pth",
    "iuxray/iuxray_stage2_ckpt.pth",
    "iuxray/iuxray_stage3_ckpt.pth",
    "mimic/chexbert.pth",
    "mimic/mimic_cls_ckpt.pth",
    "mimic/mimic_stage2_ckpt.pth",
    "mimic/mimic_stage3_ckpt.pth",
]

for filename in files:
    hf_hub_download(
        repo_id="liguo12/REVA_PO_Weights",
        filename=filename,
        local_dir="REVA_PO_Weights",
    )

Installation

Clone the code repository and install its requirements:

git clone https://github.com/LiGuo12/REVA_PO.git
cd REVA_PO
pip install -r requirements.txt

Download and prepare the datasets from the REVA-PO dataset repository.

IU-Xray Evaluation

Update train_configs/stage3/iuxray_stage3.yaml with local paths:

use_chexbert: true
chexbert_ckpt: /path/to/REVA_PO_Weights/mimic/chexbert.pth
pretrained_cls_ckp: /path/to/REVA_PO_Weights/iuxray/iuxray_cls_ckpt.pth
pretrained_stage2: /path/to/REVA_PO_Weights/iuxray/iuxray_stage2_ckpt.pth
pretrained_stage3: /path/to/REVA_PO_Weights/iuxray/iuxray_stage3_ckpt.pth
storage: /path/to/iuxray_dataset
ann_file: /path/to/iuxray_dataset/annotation_with_categories.json

Adjust world_size and the DeepSpeed batch size for the available hardware, then run:

deepspeed --num_gpus 8 train.py \
  --cfg-path train_configs/stage3/iuxray_stage3.yaml \
  --use_zero_optimizer \
  --deepspeed_config train_configs/stage3/zero_iuxray_stage3.json

MIMIC-CXR Evaluation

Update train_configs/stage3/mimic_stage3.yaml with local paths:

chexbert_ckpt: /path/to/REVA_PO_Weights/mimic/chexbert.pth
pretrained_cls_ckp: /path/to/REVA_PO_Weights/mimic/mimic_cls_ckpt.pth
pretrained_stage2: /path/to/REVA_PO_Weights/mimic/mimic_stage2_ckpt.pth
pretrained_stage3: /path/to/REVA_PO_Weights/mimic/mimic_stage3_ckpt.pth
storage: /path/to/mimic_dataset
ann_file: /path/to/mimic_dataset/mimic_with_categories_sampled_10k.json

Adjust world_size and the DeepSpeed batch size for the available hardware, then run:

deepspeed --num_gpus 8 train.py \
  --cfg-path train_configs/stage3/mimic_stage3.yaml \
  --use_zero_optimizer \
  --deepspeed_config train_configs/stage3/zero_mimic_stage3.json

See the GitHub README for Stage 1, Stage 2, classifier fine-tuning, and full training instructions.

Training Data

The checkpoints were trained and evaluated using:

MIMIC-CXR images require credentialed access through PhysioNet.

Intended Use

These checkpoints are intended for research on:

  • Chest X-ray report generation
  • Reinforcement learning for clinical language generation
  • Medical vision-language models
  • Evaluation of report quality and clinical accuracy
  • Reproduction and extension of the REVA-PO experiments

They are not intended for direct clinical diagnosis, patient management, or deployment without independent medical and technical validation.

Limitations

The checkpoints inherit limitations from their training datasets, including institution-specific patterns, reporting bias, class imbalance, and annotation noise. Generated reports can contain omissions or incorrect findings. Results on IU-Xray and MIMIC-CXR do not establish performance on other institutions, patient groups, image devices, or clinical workflows.

Checkpoint Safety

The repository stores PyTorch .pth files, which use pickle-based serialization. Only load checkpoint files from sources you trust. The provided checkpoints should be used through the released REVA-PO code and compatible PyTorch and DeepSpeed versions.

License and Access Notes

The REVA-PO checkpoint files and other original materials released in this repository are licensed under the Creative Commons Attribution 4.0 International License. You may use, share, and adapt these materials for research or other purposes, provided that appropriate credit is given to the REVA-PO authors.

This license applies only to materials created and released by the REVA-PO authors. It does not replace the terms of the source datasets or upstream pretrained models:

  • The REVA-PO source code is released under the license stated in the GitHub repository.
  • MIMIC-CXR requires credentialed access and compliance with the PhysioNet data use requirements.
  • Upstream pretrained models and auxiliary checkpoints may be subject to their own licenses.
  • Users are responsible for checking and following all applicable terms before redistribution or deployment.

Citation

If you use these checkpoints or the REVA-PO method, please cite:

@inproceedings{guo2026reva,
  title={REVA-PO: Stabilizing Reinforcement Learning for Chest X-Ray Report Generation},
  author={Guo, Li and Tahir, Anas M and Wang, Z Jane},
  booktitle={European Conference on Computer Vision},
  pages={565--583},
  year={2026},
  organization={Springer}
}

Identity and Version

Repository
liguo12/REVA_PO_Weights
Publisher
Li Guo
Task
Image to text
Modality
Image and text
Library
Not stated by the source
Parameters
Not stated by the source
Languages
en
Revision
a430b9ad77475ced9e148e321b1e917510d83c05
First published
2026-01-09
Last updated
2026-10-01

Files and Weights

13 files, 73.2 GB in total. The weights are 11 files totalling 73.2 GB in pth.

Weights11 files · 73.2 GB
Documentation1 file · 9.2 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
Medical_MAE/vit-b_CXR_0.5M_mae_CheXpert.pthWeights1.0 GB 0f3b744e72bb
iuxray/iuxray_cls_ckpt.pthWeights1.4 GB 57a60a71a262
iuxray/iuxray_stage1_ckpt.pthWeights222.9 MB f322bf1dfe87
iuxray/iuxray_stage2_ckpt.pthWeights17.2 GB 18d7e55f6bff
iuxray/iuxray_stage3_ckpt.pthWeights17.0 GB 6d9882f12274
iuxray/mimic_stage1_ckpt.pthWeights156.1 MB 48b1701f8697
mimic/chexbert.pthWeights1.3 GB 6550703c92d6
mimic/mimic_cls_ckpt.pthWeights472.0 MB c70cf2a4dec1
mimic/mimic_stage1_ckpt.pthWeights156.1 MB 48b1701f8697
mimic/mimic_stage2_ckpt.pthWeights17.2 GB cae653b81133
mimic/mimic_stage3_ckpt.pthWeights17.0 GB 1ca917b62302
README.mdDocumentation9.2 KB —
.gitattributesRepository1.5 KB —

License and Download

License
cc-by-4.0
Access
Open weights, no gate
Download size
73.2 GB
Download from Li Guo

Released by Li Guo through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published73.2 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About REVA_PO_Weights

Can I use REVA_PO_Weights commercially?

Yes. REVA_PO_Weights is released under Creative Commons Attribution 4.0. CC BY 4.0 permits sharing and adapting the work, including commercially, provided the creator is credited and changes are indicated.

Similar Models

captioning pretrained on COCO dataset - base architecture (with ViT base backbone). Authors from the paper write in the abstract: Vision-Language Pre-training (VLP) has advanced the performance for many vision-language tasks. However, most existing pre-trained models only excel in either understanding-based tasks or generation-based tasks. Furthermore, performance improvement has been largely achieved by scaling up the dataset with noisy image-text pairs collected from the web, which is a suboptimal source of supervision. In this paper, we propose BLIP, a new VLP framework which transfers flexibly to both vision-language understanding and generation tasks. BLIP effectively utilizes the…

Open weights bsd-3-clause 512 tokens transformers

Model · Image to text

manga-ocr-base

Maciej Budyś

Optical character recognition for Japanese text, with the main focus being Japanese manga. It uses Vision Encoder Decoder framework. Manga OCR can be used as a general purpose printed Japanese OCR, but its main goal was to provide a high quality text recognition, robust against various scenarios specific to manga: - both vertical and horizontal text - text with furigana - text overlaid on images - wide variety of fonts and font styles - low quality images Code is available here.

Open weights apache-2.0 transformers

Model · Image to text

PP-OCRv5_server_det

PaddlePaddle

PP-OCRv5serverdet is one of the PP-OCRv5det series, the latest generation of text detection models developed by the PaddleOCR team. Designed for high-performance applications, it supports the detection of text in diverse scenarios—including handwriting, vertical, rotated, and curved text—across multiple languages such as Simplified Chinese, Traditional Chinese, English, and Japanese. Key features include robust handling of complex layouts, varying text sizes, and challenging backgrounds, making it suitable for practical applications like document analysis, license plate recognition, and scene text detection. The key accuracy metrics are as follow: Please refer to the following commands to…

Open weights apache-2.0 PaddleOCR

Model · Image to text

UVDoc

PaddlePaddle

The main purpose of text image correction is to carry out geometric transformation on the image to correct the document distortion, inclination, perspective deformation and other problems in the image, so that the subsequent text recognition can be more accurate. Please refer to the following commands to install PaddlePaddle using pip: For details about PaddlePaddle installation, please refer to the PaddlePaddle official website. Install the latest version of the PaddleOCR inference package from PyPI: You can quickly experience the functionality with a single command: You can also integrate the model inference of the TextImageUnwarping module into your project. Before running the following…

Open weights apache-2.0 PaddleOCR

Model · Image to text

en_PP-OCRv5_mobile_rec

PaddlePaddle

enPP-OCRv5mobilerec is one of the PP-OCRv5rec that are the latest generation text line recognition models developed by PaddleOCR team. It aims to efficiently and accurately support the recognition of English. The key accuracy metrics are as follow: Note: If any character (including punctuation) in a line was incorrect, the entire line was marked as wrong. This ensures higher accuracy in practical applications. Please refer to the following commands to install PaddlePaddle using pip: For details about PaddlePaddle installation, please refer to the PaddlePaddle official website. Install the latest version of the PaddleOCR inference package from PyPI: You can quickly experience the…

Open weights apache-2.0 PaddleOCR

Model · Image to text

PP-LCNet_x1_0_doc_ori

PaddlePaddle

The Document Image Orientation Classification Module is primarily designed to distinguish the orientation of document images and correct them through post-processing. During processes such as document scanning or ID photo capturing, the device might be rotated to achieve clearer images, resulting in images with various orientations. Standard OCR pipelines may not handle these images effectively. By leveraging image classification techniques, the orientation of documents or IDs containing text regions can be pre-determined and adjusted, thereby improving the accuracy of OCR processing. The key accuracy metrics are as follow: Please refer to the following commands to install PaddlePaddle…

Open weights apache-2.0 PaddleOCR