LibreHPS — permissively-licensed human preference reward model for text-to-image and text-to-video generation.
Project description
LibreHPS
LibreHPS is a permissively-licensed reward model for text-to-image and text-to-video generation. It looks at a generated image or short video and a text prompt and predicts how a human reviewer would rate the match — useful for picking the best of N samples, training another generator with reinforcement learning from feedback, or running an automated benchmark.
This is the source-code repository. The trained model weights live on
Hugging Face: LibreHPS/LibreHPS-4B-v1.1.
Install
To use the model:
pip install librehps
from librehps import LibreHPS
scorer = LibreHPS.from_pretrained("LibreHPS/LibreHPS-4B-v1.1")
result = scorer.score_image(image="photo.png", prompt="a cat sitting on a windowsill")
print(result.overall.mean)
By default the loader uses Flash Attention 4 on CUDA Blackwell when available, and falls back to stock attention (SDPA / eager) on any other CUDA / CPU / MPS device. See the model card on Hugging Face for the full inference surface, including pair-wise comparison with calibrated probabilities.
Develop from source
Python 3.12 is required.
pyenv local 3.12
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools wheel
pip install torch==2.11.0+cu130 torchvision torchaudio \
--index-url https://download.pytorch.org/whl/cu130
pip install -e '.[dev]'
pytest
Flash Attention 4 is built from source for the fastest training /
inference on Blackwell (sm_100). It is NOT required for inference —
librehps/inference.py falls back to stock
Qwen3.5 attention when FA4 isn't available — but training does require
it. Build instructions are in docs/INSTALL.md.
Repository layout
| Path | Contents |
|---|---|
librehps/ |
The Python package (model, dataset, training, inference, evaluation). |
docs/ |
Architecture and design documents. docs/PLAN.md is the top-level project plan; docs/DATA_PROVENANCE.md is the dataset audit. |
scripts/ |
CLI tools — index builder, dataset downloaders, release bundler, benchmark runners. |
tests/ |
Test suite. Most tests run on CPU; integration tests are gated behind LIBREHPS_INTEGRATION_* env vars. |
reports/ |
Evaluation outputs from past training and benchmark runs. |
release/ |
Per-version release directories. The current production release is release/LibreHPS-4B-v1.1/, which is what gets uploaded to Hugging Face. |
Acknowledgement
LibreHPS is inspired by and architecturally influenced by HPSv3 (Ma, Shui, Wu, Sun, Li — ICCV 2025). LibreHPS is a from-scratch reimplementation with a different backbone, training stack, and permissively-licensed training data mix.
License
- Source code: MIT.
- Model weights: Apache-2.0.
- Training data: permissive union (MIT / Apache-2.0 / BSD-3-Clause / CDLA-Permissive-2.0). See
docs/DATA_PROVENANCE.mdfor the per-dataset audit and the per-image generator-redistribution audit applied to filter the training mix.
Copyright © 2026 Jeff Moe.
Loveland, Colorado, USA
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file librehps-1.1.2.tar.gz.
File metadata
- Download URL: librehps-1.1.2.tar.gz
- Upload date:
- Size: 803.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f5ab7f6540ae3dd0102c2f877650fd1a251b9057a4be516241de77661c03e23
|
|
| MD5 |
d56ceb7dfd38f75b00ba2893d4938935
|
|
| BLAKE2b-256 |
173f2e207a515eebfe953530b6882a580e3024d2e6eb7cd2c5f4f9f994246f47
|
File details
Details for the file librehps-1.1.2-py3-none-any.whl.
File metadata
- Download URL: librehps-1.1.2-py3-none-any.whl
- Upload date:
- Size: 214.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c87e103735cc7ed0d7e447d249d02d1aec95d67eacefff8d7f5e56b04b9822f9
|
|
| MD5 |
6f15a22827de8aa8fcbadcb1e3c0aeaa
|
|
| BLAKE2b-256 |
4c890b70a99d70c913a865600eaec0c75e6f19384da718c78f54f5f611fa2665
|