|
--- |
|
license: llama2 |
|
datasets: |
|
- nllg/datikz-v2 |
|
--- |
|
|
|
# Model Card for DeTi*k*Zify-CL<sub>7b</sub> |
|
DeTi*k*Zify-CL<sub>7b</sub> is a language model that automatically converts |
|
sketches and existing scientific figures into editable, semantics-preserving |
|
Ti*k*Z graphics programs. It is based on [CodeLlama |
|
7b](https://huggingface.co/meta-llama/CodeLlama-7b-hf) and was fine-tuned on |
|
[DaTi*k*Z<sub>v2</sub>](https://huggingface.co/datasets/nllg/datikz-v2). Check |
|
out the [DeTi*k*Zify](https://github.com/potamides/DeTikZify) project for more |
|
information and tips on how to best run the model. |
|
|
|
## Usage |
|
```python |
|
from operator import itemgetter |
|
|
|
from detikzify.model import load |
|
from detikzify.infer import DetikzifyPipeline |
|
import torch |
|
|
|
image = "https://w.wiki/A7Cc" |
|
pipeline = DetikzifyPipeline(*load( |
|
base_model="nllg/detikzify-cl-7b", |
|
device_map="auto", |
|
torch_dtype=torch.bfloat16, |
|
)) |
|
|
|
# generate a single TikZ program |
|
fig = pipeline.sample(image=image) |
|
|
|
# if it compiles, rasterize it and show it |
|
if fig.is_rasterizable: |
|
fig.rasterize().show() |
|
|
|
# run MCTS for 10 minutes and generate multiple TikZ programs |
|
figs = set() |
|
for score, fig in pipeline.simulate(image=image, timeout=600): |
|
figs.add((score, fig)) |
|
|
|
# save the best TikZ program |
|
best = sorted(figs, key=itemgetter(0))[-1][1] |
|
best.save("fig.tex") |
|
``` |