Downloads · 30 days
5.5K
3% of all-time downloads
StanfordAIMI/CheXagent-2-3b
CheXagent-2-3b is a text generation model from StanfordAIMI. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as mit.
<div align="center" <h1 CheXagent </h1 </div
Downloads · 30 days
5.5K
3% of all-time downloads
All-time downloads
207K
Public
Parameters
3.1B
12.6 GB on disk
Likes
15
Public
Click a slice to open those files.
.safetensors12.6 GB · 100%
From the Hugging Face model README
python=3.10
torch==2.7.1 # may work with more recent version
torchvision==0.22.1
transformers==4.40.0
opencv-python
albumentations
accelerate
Pillow
matplotlib
einops
pyarrow
sentencepiece
protobuf
<!-- markdownlint-disable first-line-h1 -->
<!-- markdownlint-disable html -->
<div align="center">
<h1>
CheXagent
</h1>
</div>
<p align="center">
📝 <a href="https://arxiv.org/abs/2401.12208" target="_blank">Paper</a> • 🤗 <a href="https://huggingface.co/StanfordAIMI/CheXagent-2-3b/" target="_blank">Hugging Face</a> • 🧩 <a href="https://github.com/Stanford-AIMI/CheXagent" target="_blank">Github</a> • 🪄 <a href="https://stanford-aimi.github.io/chexagent.html" target="_blank">Project</a>
</p>
<div align="center">
</div>
import io
import requests
import torch
from PIL import Image
from transformers import AutoModelForCausalLM, AutoTokenizer
# step 1: Setup constant
model_name = "StanfordAIMI/CheXagent-2-3b"
dtype = torch.bfloat16
device = "cuda"
# step 2: Load Processor and Model
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", trust_remote_code=True)
model = model.to(dtype)
model.eval()
# step 3: Inference
query = tokenizer.from_list_format([*[{'image': path} for path in paths], {'text': prompt}])
conv = [{"from": "system", "value": "You are a helpful assistant."}, {"from": "human", "value": query}]
input_ids = tokenizer.apply_chat_template(conv, add_generation_prompt=True, return_tensors="pt")
output = model.generate(
input_ids.to(device), do_sample=False, num_beams=1, temperature=1., top_p=1., use_cache=True,
max_new_tokens=512
)[0]
response = tokenizer.decode(output[input_ids.size(1):-1])
@article{chexagent-2024,
title={CheXagent: Towards a Foundation Model for Chest X-Ray Interpretation},
author={Chen, Zhihong and Varma, Maya and Delbrouck, Jean-Benoit and Paschali, Magdalini and Blankemeier, Louis and Veen, Dave Van and Valanarasu, Jeya Maria Jose and Youssef, Alaa and Cohen, Joseph Paul and Reis, Eduardo Pontes and Tsai, Emily B. and Johnston, Andrew and Olsen, Cameron and Abraham, Tanishq Mathew and Gatidis, Sergios and Chaudhari, Akshay S and Langlotz, Curtis},
journal={arXiv preprint arXiv:2401.12208},
url={https://arxiv.org/abs/2401.12208},
year={2024}
}