o
    Ni                     @   sr   d Z ddlmZ ddlmZ ddlmZ ddlZddlm  mZ	 ddl
mZ dZdZdZG d	d
 d
ejjZdS )zLabeled faces in wild.    )absolute_import)division)print_functionNz'http://vis-www.cs.umass.edu/lfw/lfw.tgz)   r      aU  @TechReport{LFWTech,
    author = {Gary B. Huang and Manu Ramesh and Tamara Berg and Erik Learned-Miller},
    title = {Labeled Faces in the Wild: A Database for Studying Face Recognition in Unconstrained Environments},
    institution = {University of Massachusetts, Amherst},
    year = 2007,
    number = {07-49},
    month = {October}
}
c                   @   s<   e Zd ZdZejdZdd Zdd Z	dd Z
d	d
 ZdS )LFWz
LFW Class.z0.1.0c              	   C   s6   t jj| dt jt j t jjtddddtdS )NzqLabeled Faces in the Wild:
        A Database for Studying Face Recognition in
        Unconstrained Environments)shapelabelimagezhttp://vis-www.cs.umass.edu/lfw)builderdescriptionfeaturessupervised_keyshomepagecitation)	tfdscoreDatasetInfor   FeaturesDictTextImageLFW_IMAGE_SHAPELFW_CITATION)self r   `/home/ubuntu/.local/lib/python3.10/site-packages/tensorflow_datasets/image_classification/lfw.py_info0   s   z	LFW._infoc                 C   s2   | t}tj|d}tjjtjj	d|idgS )Nlfw	data_path)name
gen_kwargs)
download_and_extract_URLospathjoinr   r   SplitGeneratorSplitTRAIN)r   
dl_managerr%   r   r   r   _split_generators?   s   
zLFW._split_generatorsc                 c   sB    |  |}|D ]\}}d|tj|f }|||dfV  qd S )Nz%s/%sr	   )
path_makerr$   r%   basename)r   r   
image_listr
   r%   keyr   r   r   _generate_examplesL   s   
zLFW._generate_examplesc           	      C   sp   g }t jj|}|D ]*}tj||}t jj|r5t jj|}|D ]}tj||}|||g q$q|S )z7Returns all images within path as tuples (label, path).)	tfiogfilelistdirr$   r%   r&   isdirappend)	r   r%   	path_listdir_list	directoryimg_dir_pathimg_listimgimg_pathr   r   r   r,   U   s   zLFW.path_makerN)__name__
__module____qualname____doc__r   r   VersionVERSIONr   r+   r0   r,   r   r   r   r   r   +   s    	r   )rA   
__future__r   r   r   r$   tensorflow.compat.v2compatv2r1   tensorflow_datasets.public_api
public_apir   r#   r   r   r   GeneratorBasedBuilderr   r   r   r   r   <module>   s   