o  f9 @sddlZddlmZddlmZddlZdededeefddZd eed edej fd d Z ded eded e de ej ej ff ddZ   ddedede ej ej ffddZdej dej fddZddlmZddlZddlmZGdddejZdS)N)tqdmglob folder_path max_nb_imagesreturncCs,|d}t|}dd|d|D}|S)Nz/*cSsg|]}|qSr).0 image_pathrr5/home/martin/ppai_team4/client/services/preprocess.py sz%load_image_folder..r)rrr image_pathsimagesrrr load_image_folders rrlabelc Csddlm}g}g}t|D]7}z|j|dd}|dd}||||WqtyE}ztd|d|WYd}~qd}~wwt|t |fS)Nr)DeepFaceFacenet)img_path model_name embeddingzErreur lors du traitement de z: ) deepfacerr representappend Exceptionprintnpvstackarray) rrr embeddingslabelsimage embedding_objrerrr compute_embeddings_and_labelss"     r#cachecCstj|drtj|dr|s2t||}t||\}}t|d|t|d|t|d}t|d}||fS)Nz/embeddings.npyz /labels.npy)ospathexistsrr#rsaveload)rrrr$rrrrrr load_embeddings_and_labels!s r*T./data/deepfake target_folderdeep_fake_folderc CsLt||d|d\}}t||d|d\}}t||g}t||g} || fS)Nr)rrr$)r*rrhstack) r-rr$r.Zdeep_fake_images_embeddingsZdeep_fake_labelsZtarget_images_embeddingsZtarget_images_labelsrrrrr load_dataset2s  r1rcCsLttj|ddd}tj|dd}tj|dd}tj|||gdd}|S)Nr/)axis)rsqrtmeanmedianstack)rrmsr5r6featuresrrr featurisationCs r:)compile_torch_modelcs$eZdZfddZddZZS)RegNetcs$tttd||_dS)Nr/)super__init__nn Parametertorchonesb)selfrC __class__rr r>Qs zRegNet.__init__cCs@|ddddf}|ddddf}||j|jdkS)Nr)TrCfloat)rDxXWrrr forwardUszRegNet.forward)__name__ __module__ __qualname__r>rM __classcell__rrrEr r<Ps r<)r+Tr,)numpyrrrr%strintlistrndarrayr#booltupler*r1r:concrete.ml.torch.compiler;rAZtorch.nnr?Moduler<rrrr s@