Spaces:
Runtime error
Runtime error
Maximilian Schuh
Pin huggingface_hub version to <1.0.0 to avoid import errors with Gradio OAuth
b57bea1 A newer version of the Gradio SDK is available:
6.9.0
metadata
title: TwinBooster
emoji: 👁️
colorFrom: gray
colorTo: indigo
sdk: gradio
sdk_version: 4.44.1
app_file: app.py
pinned: false
python_version: 3.1
Local development
Install dependencies (Python 3.9+ recommended):
py -3 -m pip install -r requirements.txt
Run the Gradio demo:
py -3 app.py
Usage:
- Paste SMILES (one per line) and a bioassay description, then click Run prediction.
- Use Download / refresh models if the pretrained weights are not present yet.
- Download predictions as CSV or Excel from the output panel.
Weights:
- All weights are pulled from public Hugging Face repos on first run and cached under
~/.cache/twinbooster:- Text encoder:
mschuh/PubChemDeBERTa-augmented - LightGBM model:
HF_LGBM_REPOenv var (defaults tomschuh/TwinBooster-lgbm) - Barlow Twins model:
HF_BT_REPOenv var (defaults tomschuh/TwinBooster-bt)
- Text encoder:
- If the repos are public on HF LFS, no additional setup is required on Spaces; downloads are automatic and reused on subsequent runs.
ZeroGPU setup (Hugging Face Spaces)
- In the Space settings, choose the ZeroGPU hardware tier and Python 3.10 or 3.12 (both supported on ZeroGPU).
- The GPU workload is isolated in
_gpu_predict, decorated with@spaces.GPU(duration=120), so a GPU is provisioned only for the inference step. - Queueing is enabled with a single worker (
demo.queue(concurrency_count=1)) to match the one-at-a-time ZeroGPU execution model. - To avoid spending GPU time on downloads, click Download / refresh models once after each deployment to prefetch weights on CPU.
- If inference ever needs more time, adjust the
durationparameter inapp.py, but keep it as low as practical to respect ZeroGPU queue fairness. - A lightweight, bundled
twinboostershim (version0.3.1) is shipped in./twinbooster/to avoid PyPI's Python 3.8 restriction on the official wheels. No external install is required; the public API used by the app is preserved. huggingface_hubis pinned to<1.0.0because Gradio OAuth still importsHfFolder, which was removed in 1.x; keep this constraint to avoid startup import errors on ZeroGPU.