ccaptchas/src/ccaptchas/config.py

34 lines
1.1 KiB
Python

from pathlib import Path
class CONFIG(object):
__slots__ = ()
PROGRAM_NAME = 'ccaptchas'
EXT_PNG, EXT_JPG = '.png', '.jpg'
DEFAULT_IMG_FILE_EXT = (EXT_PNG, EXT_JPG)
# StringLookup parameters:
DEFAULT_NUM_OOV_INDICES = 0 # assuming no out-of-vocabulary (OOV) characters will be encountered
DEFAULT_MASK_TOKEN = None # assuming there will never be a value missing
# Data splitting:
DEFAULT_VALIDATION_RATIO = 1 / 8
DEFAULT_SHUFFLE_DATA = True
# Image processing:
DEFAULT_IMG_WIDTH, DEFAULT_IMG_HEIGHT = 250, 50 # Desired image dimensions
# Training hyper-parameters:
DEFAULT_BATCH_SIZE = 16
DEFAULT_NUM_EPOCHS = 100
DEFAULT_EARLY_STOPPING_PATIENCE = 10
DEFAULT_SAVE_DIR = Path('.', 'saved_models')
MODEL_NAME = f'{PROGRAM_NAME}_model'
LAYER_NAME_INPUT_IMAGE, LAYER_NAME_INPUT_LABEL = 'image', 'label'
LAYER_NAME_OUTPUT = 'encoded_output'
MAX_STRING_LENGTH = 6 # Maximum number of character in any captcha image in the dataset
VOCABULARY_FILE_NAME = '.vocabulary'
HISTORY_FILE_NAME = '.history.json'