Benchmark Prediction with Fewer Data
BenchPred is a Python package that provides a suite of tools to predict benchmark performances with fewer data. It provides all methods that we examined in our paper.
Our results shows that, these methods are most proficient at interpolating scores among similar models. However, except Random-Sampling and AIPW, all methods face significant difficulties when predicting target models that differ substantially from those they have encountered before.
We caution against the indiscriminate use of benchmark prediction techniques and recommend to use AIPW or, alternatively, Random-Sampling with a larger sampling budget.
Installation
Install the package with the following command,
pip install -e .
or only install the requirements,
pip install -r requirement.txt
Example Usage
from benchpred import all_methods
method = all_methods["aipw"]()
method.fit(
source_full_scores, # (n_source_model * n_data) binary matrix
coreset_size=50,
seed=42
)
coreset = method.get_coreset()
target_coreset_scores = ... # (n_target_model * coreset_size) binary matrix based on coreset
pred_acc = method.predict(target_coreset_scores)
Quick Start
python main.py --dataset_name imagenet --coreset_size 50 --no-multi_process --methods aipw --num_run 1 --seed_start 0 --no-use_git
The supported methods are listed as follows,
- Random-Sampling: --methods random_sampling
- AIPW: --methods aipw
- Random-Sampling-Learn: --methods random_sampling_and_learn
- Random-Search-Learn: --methods random_search_and_learn
- PCA: --methods pca
- Lasso: --methods lasso
- Double-Optimize: --methods double_optimize
- Anchor-Points-Weighted: --methods anchor_points_weighted
- Anchor-Points-Predictor: --methods anchor_points_predictor
- PIRT: --methods pirt
- GPIRT: --methods gpirt
Metadata
Release files for benchpred 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| benchpred-1.0.0.tar.gz | 23.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| benchpred-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.8 kB
Release files / benchpred-1.0.0.tar.gz
| Download URL | benchpred-1.0.0.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b91872e0b8e5cbaa0cc04c0860ea60d9c8773d3ed6805d8e781b1e13377eefe
|
|
BLAKE2b-256 checksum How to use checksums |
911b9537427848d1009bbb37d9f0038909be3ce2f76c4890da6925687da1d287
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Release files / benchpred-1.0.0-py3-none-any.whl
| Download URL | benchpred-1.0.0-py3-none-any.whl |
|---|---|
| Size | 34.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c152bcc785f525a3866c2a3546e4db5c3bbceb7b23754a5cbc721c44f38e1a9
|
|
BLAKE2b-256 checksum How to use checksums |
9c184e71d7acdb676e5aaa2a90f306753a1e0f8612fb9cf371881f4a0d96cdc0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|