Create an EasyOCR Reader Parameters: lang_list (list): Language codes (ISO 639) for languages to be recognized during analysis. gpu (bool): Enable GPU support (default) model_storage_directory (string): Path to directory for model data. If not specified
(self, lang_list, gpu=True, model_storage_directory=None,
user_network_directory=None, detect_network="craft",
recog_network='standard', download_enabled=True,
detector=True, recognizer=True, verbose=True,
quantize=True, cudnn_benchmark=False)
| 30 | class Reader(object): |
| 31 | |
| 32 | def __init__(self, lang_list, gpu=True, model_storage_directory=None, |
| 33 | user_network_directory=None, detect_network="craft", |
| 34 | recog_network='standard', download_enabled=True, |
| 35 | detector=True, recognizer=True, verbose=True, |
| 36 | quantize=True, cudnn_benchmark=False): |
| 37 | """Create an EasyOCR Reader |
| 38 | |
| 39 | Parameters: |
| 40 | lang_list (list): Language codes (ISO 639) for languages to be recognized during analysis. |
| 41 | |
| 42 | gpu (bool): Enable GPU support (default) |
| 43 | |
| 44 | model_storage_directory (string): Path to directory for model data. If not specified, |
| 45 | models will be read from a directory as defined by the environment variable |
| 46 | EASYOCR_MODULE_PATH (preferred), MODULE_PATH (if defined), or ~/.EasyOCR/. |
| 47 | |
| 48 | user_network_directory (string): Path to directory for custom network architecture. |
| 49 | If not specified, it is as defined by the environment variable |
| 50 | EASYOCR_MODULE_PATH (preferred), MODULE_PATH (if defined), or ~/.EasyOCR/. |
| 51 | |
| 52 | download_enabled (bool): Enabled downloading of model data via HTTP (default). |
| 53 | """ |
| 54 | self.verbose = verbose |
| 55 | self.download_enabled = download_enabled |
| 56 | |
| 57 | self.model_storage_directory = MODULE_PATH + '/model' |
| 58 | if model_storage_directory: |
| 59 | self.model_storage_directory = model_storage_directory |
| 60 | Path(self.model_storage_directory).mkdir(parents=True, exist_ok=True) |
| 61 | |
| 62 | self.user_network_directory = MODULE_PATH + '/user_network' |
| 63 | if user_network_directory: |
| 64 | self.user_network_directory = user_network_directory |
| 65 | Path(self.user_network_directory).mkdir(parents=True, exist_ok=True) |
| 66 | sys.path.append(self.user_network_directory) |
| 67 | |
| 68 | if gpu is False: |
| 69 | self.device = 'cpu' |
| 70 | if verbose: |
| 71 | LOGGER.warning('Using CPU. Note: This module is much faster with a GPU.') |
| 72 | elif gpu is True: |
| 73 | if torch.cuda.is_available(): |
| 74 | self.device = 'cuda' |
| 75 | elif torch.backends.mps.is_available(): |
| 76 | self.device = 'mps' |
| 77 | else: |
| 78 | self.device = 'cpu' |
| 79 | if verbose: |
| 80 | LOGGER.warning('Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU.') |
| 81 | else: |
| 82 | self.device = gpu |
| 83 | |
| 84 | self.detection_models = detection_models |
| 85 | self.recognition_models = recognition_models |
| 86 | |
| 87 | # check and download detection model |
| 88 | self.support_detection_network = ['craft', 'dbnet18'] |
| 89 | self.quantize=quantize, |
nothing calls this directly
no test coverage detected