o
    Ni                     @   sz   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	ZG d
d dejjZdS )z?Cassava leaf dataset with images of health and diseased leaves.    )absolute_import)division)print_functionNa(  @misc{mwebaze2019icassava,
    title={iCassava 2019Fine-Grained Visual Categorization Challenge},
    author={Ernest Mwebaze and Timnit Gebru and Andrea Frome and Solomon Nsumba and Jeremy Tusubira},
    year={2019},
    eprint={1908.02900},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}
a  Cassava consists of leaf images for the cassava plant depicting healthy and
four (4) disease conditions; Cassava Mosaic Disease (CMD), Cassava Bacterial
Blight (CBB), Cassava Greem Mite (CGM) and Cassava Brown Streak Disease (CBSD).
Dataset consists of a total of 9430 labelled images.
The 9430 labelled images are split into a training set (5656), a test set(1885)
and a validation set (1889). The number of images per class are unbalanced with
the two disease classes CMD and CBSD having 72% of the images.
z@https://storage.googleapis.com/emcassavadata/cassavaleafdata.zip)cbbcbsdcgmcmdhealthyc                   @   s4   e Zd ZdZejdZdd Zdd Z	dd Z
d	S )
CassavazCassava leaf image dataset.z0.1.0c              
   C   s>   t jj| tt jt j t j t jjt	ddddt
dS )N)namesimagezimage/filenamelabel)r   r   z1https://www.kaggle.com/c/cassava-disease/overview)builderdescriptionfeaturessupervised_keyshomepagecitation)tfdscoreDatasetInfo_DESCRIPTIONr   FeaturesDictImageText
ClassLabel_LABELS	_CITATION)self r    d/home/ubuntu/.local/lib/python3.10/site-packages/tensorflow_datasets/image_classification/cassava.py_info:   s   zCassava._infoc                 C   sz   | t}tj|d}tj|d}tj|d}tjjtjj	d|idtjjtjj
d|idtjjtjjd|idgS )zReturns SplitGenerators.zcassavaleafdata/trainzcassavaleafdata/testzcassavaleafdata/validationdatapath)name
gen_kwargs)download_and_extract	_BASE_URLospathjoinr   r   SplitGeneratorSplitTRAINTEST
VALIDATION)r   
dl_managerr)   
train_path	test_pathvalidation_pathr    r    r!   _split_generatorsH   s(   
zCassava._split_generatorsc                 c   s\    t jj|D ]#}t jjtj||dD ]}tj|}|||d}||fV  qqdS )z2Yields examples of cassava leaf images and labels.z*.jpgr   N)	tfiogfilelistdirglobr(   r)   r*   basename)r   r#   r   fpathfnamerecordr    r    r!   _generate_examplesc   s   zCassava._generate_examplesN)__name__
__module____qualname____doc__r   r   VersionVERSIONr"   r4   r>   r    r    r    r!   r
   5   s    r
   )rB   
__future__r   r   r   r(   tensorflow.compat.v2compatv2r5   tensorflow_datasets.public_api
public_apir   r   r   r'   r   r   GeneratorBasedBuilderr
   r    r    r    r!   <module>   s   
