StructTableModel.py 927 B

12345678910111213141516171819202122
  1. from struct_eqtable.model import StructTable
  2. from pypandoc import convert_text
  3. class StructTableModel:
  4. def __init__(self, model_path, max_new_tokens=2048, max_time=400, device = 'cpu'):
  5. # init
  6. self.model_path = model_path
  7. self.max_new_tokens = max_new_tokens # maximum output tokens length
  8. self.max_time = max_time # timeout for processing in seconds
  9. if device == 'cpu':
  10. self.model = StructTable(self.model_path, self.max_new_tokens, self.max_time)
  11. else:
  12. self.model = StructTable(self.model_path, self.max_new_tokens, self.max_time).cuda()
  13. def image2latex(self, image) -> str:
  14. #
  15. table_latex = self.model.forward(image)
  16. return table_latex
  17. def image2html(self, image) -> str:
  18. table_latex = self.image2latex(image)
  19. table_html = convert_text(table_latex, 'html', format='latex')
  20. return table_html