Spaces:
Paused
Paused
File size: 917 Bytes
36255e5 |
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 |
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
# Singleton class for TrOCR model and processor
class OCRModelSingleton:
_instance = None
def __init__(self):
if OCRModelSingleton._instance is not None:
raise Exception("This class is a singleton!")
else:
OCRModelSingleton._instance = self
self.processor = TrOCRProcessor.from_pretrained('microsoft/trocr-large-printed')
self.model = VisionEncoderDecoderModel.from_pretrained('microsoft/trocr-large-printed')
@staticmethod
def get_instance():
if OCRModelSingleton._instance is None:
OCRModelSingleton()
return OCRModelSingleton._instance
# Automatically initialize the shared processor and model
ocr_model_instance = OCRModelSingleton.get_instance()
processor_tr_ocr = ocr_model_instance.processor
trocr_model = ocr_model_instance.model
|