Instructions to use EdisonScientific/MarkushGlyph with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use EdisonScientific/MarkushGlyph with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-2B-Base") model = PeftModel.from_pretrained(base_model, "EdisonScientific/MarkushGlyph") - Notebooks
- Google Colab
- Kaggle
File size: 1,226 Bytes
87db9f9 f213370 87db9f9 53361e0 d84dd37 53361e0 839e8ea d84dd37 53361e0 87db9f9 f213370 87db9f9 f213370 87db9f9 d84dd37 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | ---
base_model: Qwen/Qwen3.5-2B-Base
library_name: peft
pipeline_tag: image-text-to-text
tags: [chemistry, markush, lora, image-to-cxsmiles]
---
# MarkushGlyph
## Installing the code
The commands below use the **`glyph`** package. Install it from the code repository:
```bash
git clone https://github.com/EdisonScientific/glyph
cd glyph
uv venv && uv sync --extra markush # or: pip install -e ".[markush]"
```
See the repo's `README.md` (quickstart + inference) and `REPRODUCE.md` (frozen eval contract).
Markush chemical structure recognition: image -> CXSMILES. A LoRA adapter (r=128, alpha=128) over
`Qwen/Qwen3.5-2B-Base`.
## Results - IP5-M (n=878, official DS4SD paired scoring contract)
| System | Accuracy |
|---|---|
| MarkushGrapher-2 (baseline) | 467/878 = 53.19% |
| MarkushGlyph - greedy | 511/878 = **58.20%** |
| MarkushGlyph - MV@8 | 532/878 = **60.59%** |
## Usage
```bash
python -m glyph.markush.eval.fast_eval \
--checkpoint EdisonScientific/MarkushGlyph --base-model Qwen/Qwen3.5-2B-Base --eval-data <eval_ip5m.jsonl> ...
```
Scored with the pinned DS4SD `get_scores` (official contract). See the code repository's `REPRODUCE.md`.
**License:** pending. **Citation:** to be added on publication.
|