maintain+bug: fix python version due to deepface, fix deepface memory leak

Этот коммит содержится в:
Inga Ulusoy 2025-09-10 08:39:31 +02:00
родитель f399559e50
Коммит 183dfb1717
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: BDC64F2E85CF8272
3 изменённых файлов: 9 добавлений и 2 удалений

2
.github/workflows/ci.yml поставляемый
Просмотреть файл

@ -16,7 +16,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: [3.9, 3.10, 3.11, 3.12, 3.13]
python-version: ['3.9', '3.11']
steps:
- name: Checkout repository
uses: actions/checkout@v4

Просмотреть файл

@ -6,12 +6,17 @@ import pathlib
from tensorflow.keras.models import load_model
from tensorflow.keras.applications.mobilenet_v2 import preprocess_input
from tensorflow.keras.preprocessing.image import img_to_array
import keras.backend as K
from deepface import DeepFace
from retinaface import RetinaFace
from ammico.utils import DownloadResource, AnalysisMethod
DEEPFACE_PATH = ".deepface"
# alternative solution to the memory leaks
# cfg = K.tf.compat.v1.ConfigProto()
# cfg.gpu_options.allow_growth = True
# K.set_session(K.tf.compat.v1.Session(config=cfg))
def deepface_symlink_processor(name):
@ -305,6 +310,8 @@ class EmotionDetector(AnalysisMethod):
for i, face in enumerate(faces[:3]):
result[f"person{i+1}"] = self.analyze_single_face(face)
self.clean_subdict(result)
# release memory
K.clear_session()
return self.subdict
def clean_subdict(self, result: dict) -> dict:

Просмотреть файл

@ -11,7 +11,7 @@ maintainers = [
{ name = "Inga Ulusoy", email = "ssc@iwr.uni-heidelberg.de" },
{ name = "Dmitrii Kapitan", email = "ssc@iwr.uni-heidelberg.de" },
]
requires-python = ">=3.9"
requires-python = ">=3.9, <3.12"
license = { text = "MIT" }
classifiers = [
"Programming Language :: Python :: 3",