o
    Ni                     @   sx   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d	d
ZG dd dejjZdS )z,MIT Scene Parsing Benchmark (SceneParse150).    )absolute_import)division)print_functionNa(  
@inproceedings{zhou2017scene,
title={Scene Parsing through ADE20K Dataset},
author={Zhou, Bolei and Zhao, Hang and Puig, Xavier and Fidler, Sanja and Barriuso, Adela and Torralba, Antonio},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
year={2017}
}
a  
Scene parsing is to segment and parse an image into different image regions
associated with semantic categories, such as sky, road, person, and bed.
MIT Scene Parsing Benchmark (SceneParse150) provides a standard training and
evaluation platform for the algorithms of scene parsing.
zFhttp://placeschallenge.csail.mit.edu/data/ChallengeData2017/images.tarzThttp://placeschallenge.csail.mit.edu/data/ChallengeData2017/annotations_instance.tarimagesannotationsc                   @   s4   e Zd ZdZejdZdd Zdd Z	dd Z
d	S )
SceneParse150z$MIT Scene Parsing Benchmark dataset.z1.0.0c              	   C   s:   t jj| tt jt jjddt jjdddddtdS )Njpeg)encoding_formatpngimage
annotationz"http://sceneparsing.csail.mit.edu/)builderdescriptionfeaturessupervised_keyshomepagecitation)tfdscoreDatasetInfo_DESCRIPTIONr   FeaturesDictImage	_CITATION)self r   ]/home/ubuntu/.local/lib/python3.10/site-packages/tensorflow_datasets/image/scene_parse_150.py_info8   s   zSceneParse150._infoc                 C   s   | td td d}tjjtjjtj	|d dtj	|d dddtjjtjj
tj	|d dtj	|d d	ddgS )
Nr   r   r   zimages/trainingzannotations_instance/training)images_dir_pathannotations_dir_path)name
gen_kwargszimages/validationzannotations_instance/validation)download_and_extract
_TRAIN_URLr   r   SplitGeneratorSplitTRAINospathjoinTEST)r   
dl_managerdl_pathsr   r   r   _split_generatorsF   s*   
zSceneParse150._split_generatorsc              	   c   sd    t jj|D ]'}tj|d dd }|tj|d|tj|d|dfV  qd S )N   .r   z{}.jpgz{}.pngr   )	tfiogfilelistdirr)   r*   splitr+   format)r   r    r!   
image_fileimage_idr   r   r   _generate_examplesc   s   z SceneParse150._generate_examplesN)__name__
__module____qualname____doc__r   r   VersionVERSIONr   r/   r:   r   r   r   r   r   3   s    r   )r>   
__future__r   r   r   r)   tensorflow.compat.v2compatv2r2   tensorflow_datasets.public_api
public_apir   r   r   r%   r   GeneratorBasedBuilderr   r   r   r   r   <module>   s   		