zai-org/VisionRewardDB-Image
Viewer • Updated • 40.7k • 1.19k • 6
How to use weathon/qwen_2_5_vision_reward with Transformers:
# Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("weathon/qwen_2_5_vision_reward", dtype="auto")This model is a fine-tuned version of Qwen/Qwen2.5-VL-3B-Instruct. It has been trained using TRL on zai-org/VisionRewardDB-Image. It is aimming for evaluating image's quality similar to VisionReward but with a much smaller and faster model.
To use this model, you can just ask the model on an image using one of the dim in VisionReward.
from datasets import load_dataset
# load dataset, you can also use any images
train_ds = load_dataset("zai-org/VisionRewardDB-Image", split='train[:40000]')
test_ds = load_dataset("zai-org/VisionRewardDB-Image", split='train[40000:]')
from transformers import pipeline
pipe = pipeline("image-text-to-text", model="weathon/qwen_2_5_vision_reward")
from transformers import pipeline
import pandas as pd
df = pd.read_csv("rules.csv")
import pandas as pd
import re
from PIL import Image
df.columns = df.columns.str.strip()
df['Dimension'] = df['Dimension'].ffill()
df['dim_key'] = df['Dimension'].apply(lambda x: re.search(r'\((.*?)\)', x).group(1) if re.search(r'\((.*?)\)', x) else x)
guide = {
dim_key: {
int(row['Score']): str(row['Description']).strip()
for _, row in group.iterrows()
}
for dim_key, group in df.groupby('dim_key')
}
question = f"You need to rate the quality of an image, guideline: {guide}."
import json
def rate(image):
messages = [
{
"role": "system",
"content": [{"type": "text", "text": question}],
},
{
"role": "user",
"content": [
{
"type": "image",
"image": image.resize((512, 512)),
}
],
}]
gen = pipe(text=messages, return_full_text=False)
return sum(json.loads(gen[0]["generated_text"].replace("'", '"')).values())
rate(test_ds[3]["image"])
sum(test_ds[3]["annotation"].values())
This model was trained with SFT.
We are still working on the Paper, please keep an eye on the update.
Base model
Qwen/Qwen2.5-VL-3B-Instruct