Browse Source

perf(model): optimize model initialization

- Add condition to return existing model if already initialized
- Improve efficiency by avoiding redundant model creation
myhloli 11 months ago
parent
commit
ce592f8bcf
1 changed files with 4 additions and 1 deletions
  1. 4 1
      magic_pdf/model/sub_modules/model_init.py

+ 4 - 1
magic_pdf/model/sub_modules/model_init.py

@@ -102,10 +102,13 @@ class AtomModelSingleton:
             with self._lock:
             with self._lock:
                 if key not in self._models:
                 if key not in self._models:
                     self._models[key] = atom_model_init(model_name=atom_model_name, **kwargs)
                     self._models[key] = atom_model_init(model_name=atom_model_name, **kwargs)
+                else:
+                    return self._models[key]
         else:
         else:
             if key not in self._models:
             if key not in self._models:
                 self._models[key] = atom_model_init(model_name=atom_model_name, **kwargs)
                 self._models[key] = atom_model_init(model_name=atom_model_name, **kwargs)
-        return self._models[key]
+            else:
+                return self._models[key]
 
 
 
 
 def atom_model_init(model_name: str, **kwargs):
 def atom_model_init(model_name: str, **kwargs):