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.