Spaces:
Build error
Build error
| import gradio as gr | |
| from transformers import TrOCRProcessor, VisionEncoderDecoderModel | |
| import requests | |
| from PIL import Image | |
| url = 'https://huggingface.co/yhshin/latex-ocr/raw/main/tokenizer-wordlevel.json' | |
| r = requests.get(url) | |
| open('tokenizer-wordlevel.json' , 'wb').write(r.content) | |
| processor = TrOCRProcessor.from_pretrained("microsoft/trocr-small-printed") | |
| model = VisionEncoderDecoderModel.from_pretrained("yhshin/latex-ocr") | |
| from tokenizers import Tokenizer | |
| tokenizer = Tokenizer.from_file("tokenizer-wordlevel.json") | |
| # load image examples | |
| def process_image(image): | |
| # prepare image | |
| pixel_values = processor(image, return_tensors="pt").pixel_values | |
| # generate (no beam search) | |
| generated_ids = model.generate(pixel_values) | |
| # decode | |
| generated_text = tokenizer.decode_batch(generated_ids.tolist(), skip_special_tokens=True)[0] | |
| # Strip spaces | |
| generated_text = generated_text.replace(" ", "") | |
| return generated_text | |
| # !ls examples | grep png | |
| # + | |
| title = "Convert image to LaTeX source code" | |
| with open('article.md',mode='r') as file: | |
| article = file.read() | |
| description = """ | |
| This is a demo of machine learning model trained to reconstruct the LaTeX source code of an equation from an image. | |
| To use it, simply upload an image or use one of the example images below and click 'submit'. | |
| Results will show up in a few seconds. | |
| Try rendering the generated LaTeX [here](https://quicklatex.com/) to compare with the original. | |
| (The model is not perfect yet, so you may need to edit the resulting LaTeX a bit to get it to render a good match.) | |
| """ | |
| examples = [ | |
| [ "examples/1d32874f02.png" ], | |
| [ "examples/1e466b180d.png" ], | |
| [ "examples/2d3503f427.png" ], | |
| [ "examples/2f9d3c4e43.png" ], | |
| [ "examples/51c5cc2ff5.png" ], | |
| [ "examples/545a492388.png" ], | |
| [ "examples/6a51a30502.png" ], | |
| [ "examples/6bf6832adb.png" ], | |
| [ "examples/7afdeff0e6.png" ], | |
| [ "examples/b8f1e64b1f.png" ], | |
| ] | |
| # - | |
| iface = gr.Interface(fn=process_image, | |
| inputs=[gr.inputs.Image(type="pil")], | |
| outputs=gr.outputs.Textbox(), | |
| title=title, | |
| description=description, | |
| article=article, | |
| examples=examples) | |
| iface.launch() | |