
    >|h3	                        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 g dZ G d de      Z	 ddefdZy)    N)VGGFace)package_utilsfolder_utils)Logger)
Demographyzextendedmodels.Race)module   )Model
Sequential)Convolution2DFlatten
Activation)asianindianblackwhitezmiddle easternzlatino hispanicc                   N    e Zd ZdZd Zdej                  dej                  fdZy)
RaceClientz
    Race model class
    c                 0    t               | _        d| _        y )NRace)
load_modelmodel
model_name)selfs    [/var/www/html/test/engine/venv/lib/python3.12/site-packages/deepface/extendedmodels/Race.py__init__zRaceClient.__init__!   s    \
     imgreturnc                 J    | j                   j                  |d      dd d f   S )Nr   )verbose)r   predict)r   r   s     r   r"   zRaceClient.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 )z=
    Construct race model, download its weights and load
       )r	   r	   predictions)namesoftmax)inputsoutputsz-/.deepface/weights/race_model_single_batch.h5Tz0race_model_single_batch.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
race_modelhomer5   s          r   r   r   )   s      E G"JgvMJ5<<XZK[KbKbc!	"34-
9-.?@ ekk3DEJ ))+D	ww~~dLLMQUUFGGGsF%0D#RRSr   )z]https://github.com/serengil/deepface_models/releases/download/v1.0/race_model_single_batch.h5)r8   r=   numpyr'   deepface.basemodelsr   deepface.commonsr   r   deepface.commons.loggerr   deepface.models.Demographyr   r;   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>rQ      sw    	   ' 8 * 1	,	- 0]//1
?.??9JJ 
T
8 
8 	h#
#r   