File size: 1,107 Bytes
8836a6d
4c0fb2f
 
 
 
 
 
8836a6d
 
 
 
 
 
 
 
 
7bebf4c
 
 
 
 
 
 
 
8836a6d
 
 
 
 
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
26
27
28
29
30
import os

# Fix HuggingFace's invalid OMP_NUM_THREADS value (e.g., "3500m")
omp_threads = os.environ.get('OMP_NUM_THREADS', '')
if not omp_threads.isdigit():
    os.environ['OMP_NUM_THREADS'] = '4'

from django.apps import AppConfig


class TransparentConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'transparent'

    def ready(self):
        """Preload AI models when the app starts."""
        import sys
        is_runserver = 'runserver' in sys.argv
        is_gunicorn = os.environ.get('GUNICORN_WORKER')
        # With --noreload: RUN_MAIN is not set, load in main process
        # Without --noreload: RUN_MAIN='true' in the reloader child process
        is_reloader_child = os.environ.get('RUN_MAIN') == 'true'

        if is_gunicorn or is_reloader_child or (is_runserver and '--noreload' in sys.argv):
            from transparent.controllers.style_generator import StyleGenerator
            from transparent.controllers.style_recommender import StyleRecommender

            StyleGenerator.preload_models()
            StyleRecommender.preload_models()