File size: 3,245 Bytes
18faf97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Export model instances and loading functions
try:
    from .model_loader import (
        # Model instances
        RTDETR_MODEL,
        RTDETR_PROCESSOR,
        HEAD_MODEL,
        HEAD_PROCESSOR,
        RMBG_MODEL,
        YOLOS_MODEL,
        YOLOS_PROCESSOR,
        
        # State variables
        MODELS_LOADED,
        LOAD_ERROR,
        LOAD_LOCK,
        DEVICE,
        
        # Functions
        load_models,
        ensure_models_loaded,
        check_hardware_environment,
        
        # Constants
        RTDETR_REPO,
        HEAD_DETECTION_REPO,
        RMBG_REPO,
        YOLOS_FASHIONPEDIA_REPO,
        
        # Error messages
        ERROR_NO_HF_TOKEN,
        ERROR_ACCESS_DENIED,
        ERROR_AUTH_FAILED,
        
        # Model configuration constants
        RTDETR_FULL_PRECISION,
        HEAD_DETECTION_FULL_PRECISION,
        RMBG_FULL_PRECISION,
        YOLOS_FASHIONPEDIA_FULL_PRECISION,
        
        # Optimization settings
        USE_TORCH_COMPILE,
        TORCH_COMPILE_MODE,
        TORCH_COMPILE_BACKEND,
        ENABLE_CHANNELS_LAST,
        ENABLE_CUDA_GRAPHS,
        USE_MIXED_PRECISION
    )
except ImportError:
    RTDETR_MODEL = None
    RTDETR_PROCESSOR = None
    HEAD_MODEL = None
    HEAD_PROCESSOR = None
    RMBG_MODEL = None
    YOLOS_MODEL = None
    YOLOS_PROCESSOR = None
    MODELS_LOADED = False
    LOAD_ERROR = ""
    LOAD_LOCK = None
    DEVICE = "cpu"
    load_models = lambda: None
    ensure_models_loaded = lambda: None
    check_hardware_environment = lambda: None
    RTDETR_REPO = "PekingU/rtdetr_r50vd"
    HEAD_DETECTION_REPO = "sanali209/DT_face_head_char"
    RMBG_REPO = "briaai/RMBG-2.0"
    YOLOS_FASHIONPEDIA_REPO = "valentinafeve/yolos-fashionpedia"
    ERROR_NO_HF_TOKEN = "HF_TOKEN environment variable not set."
    ERROR_ACCESS_DENIED = "Access denied to RMBG-2.0."
    ERROR_AUTH_FAILED = "Authentication failed."
    
    RTDETR_FULL_PRECISION = True
    HEAD_DETECTION_FULL_PRECISION = True
    RMBG_FULL_PRECISION = True
    YOLOS_FASHIONPEDIA_FULL_PRECISION = True
    
    USE_TORCH_COMPILE = True
    TORCH_COMPILE_MODE = "reduce-overhead"
    TORCH_COMPILE_BACKEND = "inductor"
    ENABLE_CHANNELS_LAST = True
    ENABLE_CUDA_GRAPHS = True
    USE_MIXED_PRECISION = True

__all__ = [
    # Model instances
    'RTDETR_MODEL',
    'RTDETR_PROCESSOR',
    'HEAD_MODEL',
    'HEAD_PROCESSOR',
    'RMBG_MODEL',
    'YOLOS_MODEL',
    'YOLOS_PROCESSOR',
    
    # State variables
    'MODELS_LOADED',
    'LOAD_ERROR',
    'LOAD_LOCK',
    'DEVICE',
    
    # Functions
    'load_models',
    'ensure_models_loaded',
    'check_hardware_environment',
    
    # Constants
    'RTDETR_REPO',
    'HEAD_DETECTION_REPO',
    'RMBG_REPO',
    'YOLOS_FASHIONPEDIA_REPO',
    
    # Error messages
    'ERROR_NO_HF_TOKEN',
    'ERROR_ACCESS_DENIED',
    'ERROR_AUTH_FAILED',
    
    # Model configuration constants
    'RTDETR_FULL_PRECISION',
    'HEAD_DETECTION_FULL_PRECISION',
    'RMBG_FULL_PRECISION',
    'YOLOS_FASHIONPEDIA_FULL_PRECISION',
    
    # Optimization settings
    'USE_TORCH_COMPILE',
    'TORCH_COMPILE_MODE',
    'TORCH_COMPILE_BACKEND',
    'ENABLE_CHANNELS_LAST',
    'ENABLE_CUDA_GRAPHS',
    'USE_MIXED_PRECISION'
]