
    Ph	                     R    d dl mZ d dlmZmZ ddlmZ ddlmZm	Z	  G d de      Z
y)	    )Path)CallableOptional   )ImageFolder)download_and_extract_archiveverify_str_argc                   n     e Zd ZdZdZdZ	 	 	 	 ddededee   dee   d	e	d
df fdZ
d
e	fdZddZ xZS )
Country211a  `The Country211 Data Set <https://github.com/openai/CLIP/blob/main/data/country211.md>`_ from OpenAI.

    This dataset was built by filtering the images from the YFCC100m dataset
    that have GPS coordinate corresponding to a ISO-3166 country code. The
    dataset is balanced by sampling 150 train images, 50 validation images, and
    100 test images for each country.

    Args:
        root (string): Root directory of the dataset.
        split (string, optional): The dataset split, supports ``"train"`` (default), ``"valid"`` and ``"test"``.
        transform (callable, optional): A function/transform that  takes in an PIL image and returns a transformed
            version. E.g, ``transforms.RandomCrop``.
        target_transform (callable, optional): A function/transform that takes in the target and transforms it.
        download (bool, optional): If True, downloads the dataset from the internet and puts it into
            ``root/country211/``. If dataset is already downloaded, it is not downloaded again.
    z;https://openaipublic.azureedge.net/clip/data/country211.tgz 84988d7644798601126c29e9877aab6aNrootsplit	transformtarget_transformdownloadreturnc                 n   t        |dd      | _        t        |      j                         }t	        |      | _        |dz  | _        |r| j                          | j                         st        d      t        | -  t	        | j                  | j                  z        ||       t	        |      | _        y )Nr   )trainvalidtest
country211z;Dataset not found. You can use download=True to download it)r   r   )r	   _splitr   
expanduserstrr   _base_folder	_download_check_existsRuntimeErrorsuper__init__)selfr   r   r   r   r   	__class__s         jC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\torchvision/datasets/country211.pyr    zCountry211.__init__   s     %UG5OPDz$$&I	 </NN!!#\]]T..<=euvI	    c                 n    | j                   j                         xr | j                   j                         S )N)r   existsis_dirr!   s    r#   r   zCountry211._check_exists4   s+      '')Hd.?.?.F.F.HHr$   c                 ~    | j                         ry t        | j                  | j                  | j                         y )N)download_rootmd5)r   r   _URLr   _MD5r(   s    r#   r   zCountry211._download7   s)    $TYYdiiTYYWr$   )r   NNF)r   N)__name__
__module____qualname____doc__r,   r-   r   r   r   boolr    r   r   __classcell__)r"   s   @r#   r   r      s    " ID-D
 (,/3  H%	
 #8,  
.It IXr$   r   N)pathlibr   typingr   r   folderr   utilsr   r	   r    r$   r#   <module>r9      s     %  ?2X 2Xr$   