| """ | |
| Module to load the project models | |
| """ | |
| import os | |
| import tensorflow as tf | |
| import tensorflow_hub as hub | |
| import tensorflow_text | |
| from dotenv import load_dotenv | |
| from huggingface_hub import hf_hub_download | |
| load_dotenv() | |
| CURRENT_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| MODEL_FILENAME = os.getenv("MODEL_FILENAME") | |
| MODEL_REPOSITORY_NAME = os.getenv("MODEL_REPOSITORY_NAME") | |
| def load_sentiments_model(): | |
| """ | |
| Load pretrained model | |
| """ | |
| model_path = os.path.join(CURRENT_DIR, MODEL_FILENAME) | |
| # If model doesnt exist download from huggingface | |
| if not os.path.exists(model_path): | |
| hf_hub_download(MODEL_REPOSITORY_NAME, MODEL_FILENAME, local_dir=CURRENT_DIR) | |
| model = tf.keras.models.load_model( | |
| model_path, custom_objects={"KerasLayer": hub.KerasLayer}, compile=False | |
| ) | |
| return model | |