testbed / ai_api /apps.py
xspinners's picture
initial
090987a
from django.apps import AppConfig
class AiApiConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'ai_api'
def ready(self):
from . import globals
from deepface import DeepFace
from ai_api.library.devlab_image import DevLabImage
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import whisper
import os
from safetensors import safe_open
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
globals.devlab_image = DevLabImage()
# Load HuggingFace tokenizer and model once
save_path = os.path.join(os.path.dirname(__file__), "ddet_classification")
print(f"Model path: {save_path}")
globals.save_path = save_path
# Load tokenizer
try:
globals.tokenizer = AutoTokenizer.from_pretrained(save_path,device=device)
print("Tokenizer loaded ✅")
except Exception as e:
print(f"Failed to load tokenizer: {e}")
globals.tokenizer = None
# Check .safetensors before loading model
try:
safetensor_file = os.path.join(save_path, "model.safetensors")
if os.path.exists(safetensor_file):
with safe_open(safetensor_file, framework="pt") as f:
print("Safetensors file checked ✅")
globals.model = AutoModelForSequenceClassification.from_pretrained(save_path)
globals.model.eval()
print("Classification model loaded ✅")
except Exception as e:
print(f"Failed to load classification model: {e}")
globals.model = None
# Load Whisper model
try:
globals.whisper_model = whisper.load_model("large",device=device)
print("Whisper model loaded ✅")
except Exception as e:
print(f"Failed to load Whisper model: {e}")
globals.whisper_model = None
# Load FaceNet model
try:
globals.facenet_model = DeepFace.build_model("Facenet")
print("Facenet model loaded ✅")
except Exception as e:
print(f"Failed to load FaceNet model: {e}")
globals.facenet_model = None