
    >|h5	                        d dl Z d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
 d dlmZ  e
d      Z ej                         Zedk(  rd d	lmZmZ d d
lmZmZmZ nd d	lmZmZ d d
lmZmZmZ ddgZ G d de      Z	 ddefdZy)    N)VGGFace)package_utilsfolder_utils)Logger)
Demographyzextendedmodels.Gender)module   )Model
Sequential)Convolution2DFlatten
ActivationWomanManc                   N    e Zd ZdZd Zdej                  dej                  fdZy)GenderClientz
    Gender model class
    c                 0    t               | _        d| _        y )NGender)
load_modelmodel
model_name)selfs    ]/var/www/html/test/engine/venv/lib/python3.12/site-packages/deepface/extendedmodels/Gender.py__init__zGenderClient.__init__"   s    \
"    imgreturnc                 J    | j                   j                  |d      dd d f   S )Nr   )verbose)r   predict)r   r   s     r   r    zGenderClient.predict&   s%    zz!!#q!1!Q$77r   N)__name__
__module____qualname____doc__r   npndarrayr     r   r   r   r      s'    #82:: 8"** 8r   r   r   c                 
   t        j                         }d}t               } t        |dd      |j                  d   j
                        } t               |      } t        d      |      }t        |j                  |      }t        j                         }t        j                  j                  |dz         d	k7  r2t        j!                  d
       |dz   }t#        j$                  | |d       |j'                  |dz          |S )zb
    Construct gender model, download its weights and load
    Returns:
        model (Model)
       )r	   r	   predictions)namesoftmax)inputsoutputsz*/.deepface/weights/gender_model_weights.h5Tz-gender_model_weights.h5 will be downloaded...F)quiet)r   
base_modelr   r   layersoutputr   r   r
   inputr   get_deepface_homeospathisfileloggerinfogdowndownloadload_weights)urlr   classesbase_model_outputgender_modelhomer3   s          r   r   r   *   s      E G"JgvMJ5<<XZK[KbKbc!	"34-
9-.?@ 5FGL ))+D	ww~~dIIJdRCDDDsF%0d%QQRr   )zZhttps://github.com/serengil/deepface_models/releases/download/v1.0/gender_model_weights.h5)r6   r;   numpyr%   deepface.basemodelsr   deepface.commonsr   r   deepface.commons.loggerr   deepface.models.Demographyr   r9   get_tf_major_version
tf_versionkeras.modelsr
   r   keras.layersr   r   r   tensorflow.keras.modelstensorflow.keras.layerslabelsr   r   r'   r   r   <module>rO      s{    	   ' 8 * 1	.	/ 0]//1
?.??9JJ 5	
8: 
8 	e%
%r   