Lecture 9: Extracting Data from Images and Sounds

The Art of Analyzing Big Data - The Data Scientist’s Toolbox

By Dr. Michael Fire


In this lecture, we are going to learn how to extract data from image and sound datasets. We will utilize TuriCreate and other frameworks. Let's start with a relatively simple example of image classification.

0. Package Setup

For this lecture, we are going to use the TuriCreate, ImageAI, and Face Recognition packages. For begin, by installing TuriCreate with or without GPU support:

In [0]:
# Without GPU support 
!pip install turicreate
Collecting turicreate
  Downloading https://files.pythonhosted.org/packages/ee/3c/11f0818f117bc80bab78b5b04d492316f949d005bb1c6b3e05f31182b20e/turicreate-6.2.2-cp36-cp36m-manylinux1_x86_64.whl (91.8MB)
     |████████████████████████████████| 91.8MB 34kB/s 
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from turicreate) (1.18.4)
Requirement already satisfied: pillow>=5.2.0 in /usr/local/lib/python3.6/dist-packages (from turicreate) (7.0.0)
Collecting resampy==0.2.1
  Downloading https://files.pythonhosted.org/packages/14/b6/66a06d85474190b50aee1a6c09cdc95bb405ac47338b27e9b21409da1760/resampy-0.2.1.tar.gz (322kB)
     |████████████████████████████████| 327kB 42.7MB/s 
Requirement already satisfied: requests>=2.9.1 in /usr/local/lib/python3.6/dist-packages (from turicreate) (2.23.0)
Requirement already satisfied: prettytable==0.7.2 in /usr/local/lib/python3.6/dist-packages (from turicreate) (0.7.2)
Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.6/dist-packages (from turicreate) (1.12.0)
Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from turicreate) (1.4.1)
Requirement already satisfied: pandas>=0.23.2 in /usr/local/lib/python3.6/dist-packages (from turicreate) (1.0.3)
Collecting coremltools==3.3
  Downloading https://files.pythonhosted.org/packages/77/19/611916d1ef326d38857d93af5ba184f6ad7491642e0fa4f9082e7d82f034/coremltools-3.3-cp36-none-manylinux1_x86_64.whl (3.4MB)
     |████████████████████████████████| 3.4MB 43.7MB/s 
Requirement already satisfied: decorator>=4.0.9 in /usr/local/lib/python3.6/dist-packages (from turicreate) (4.4.2)
Collecting tensorflow<=2.0.1,>=2.0.0
  Downloading https://files.pythonhosted.org/packages/43/16/b07e3f7a4a024b47918f7018967eb984b0c542458a6141d8c48515aa81d4/tensorflow-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl (86.3MB)
     |████████████████████████████████| 86.3MB 36kB/s 
Requirement already satisfied: numba>=0.32 in /usr/local/lib/python3.6/dist-packages (from resampy==0.2.1->turicreate) (0.48.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate) (2020.4.5.1)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate) (2.9)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate) (1.24.3)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate) (3.0.4)
Requirement already satisfied: python-dateutil>=2.6.1 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.23.2->turicreate) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.23.2->turicreate) (2018.9)
Requirement already satisfied: protobuf>=3.1.0 in /usr/local/lib/python3.6/dist-packages (from coremltools==3.3->turicreate) (3.10.0)
Requirement already satisfied: absl-py>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (0.9.0)
Requirement already satisfied: wrapt>=1.11.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.12.1)
Requirement already satisfied: keras-preprocessing>=1.0.5 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.1.2)
Collecting tensorboard<2.1.0,>=2.0.0
  Downloading https://files.pythonhosted.org/packages/76/54/99b9d5d52d5cb732f099baaaf7740403e83fe6b0cedde940fabd2b13d75a/tensorboard-2.0.2-py3-none-any.whl (3.8MB)
     |████████████████████████████████| 3.8MB 38.7MB/s 
Collecting tensorflow-estimator<2.1.0,>=2.0.0
  Downloading https://files.pythonhosted.org/packages/fc/08/8b927337b7019c374719145d1dceba21a8bb909b93b1ad6f8fb7d22c1ca1/tensorflow_estimator-2.0.1-py2.py3-none-any.whl (449kB)
     |████████████████████████████████| 450kB 40.2MB/s 
Requirement already satisfied: grpcio>=1.8.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.29.0)
Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.1.0)
Requirement already satisfied: astor>=0.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (0.8.1)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (0.34.2)
Requirement already satisfied: google-pasta>=0.1.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (0.2.0)
Requirement already satisfied: keras-applications>=1.0.8 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.0.8)
Collecting gast==0.2.2
  Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz
Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (3.2.1)
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from numba>=0.32->resampy==0.2.1->turicreate) (46.3.0)
Requirement already satisfied: llvmlite<0.32.0,>=0.31.0dev0 in /usr/local/lib/python3.6/dist-packages (from numba>=0.32->resampy==0.2.1->turicreate) (0.31.0)
Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (1.0.1)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (3.2.2)
Requirement already satisfied: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (1.7.2)
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (0.4.1)
Requirement already satisfied: h5py in /usr/local/lib/python3.6/dist-packages (from keras-applications>=1.0.8->tensorflow<=2.0.1,>=2.0.0->turicreate) (2.10.0)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (1.6.0)
Requirement already satisfied: cachetools<3.2,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (3.1.1)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (0.2.8)
Requirement already satisfied: rsa<4.1,>=3.1.4 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (4.0)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (1.3.0)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < "3.8"->markdown>=2.6.8->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (3.1.0)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.6/dist-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (0.4.8)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (3.1.0)
Building wheels for collected packages: resampy, gast
  Building wheel for resampy (setup.py) ... done
  Created wheel for resampy: filename=resampy-0.2.1-cp36-none-any.whl size=320850 sha256=859e3062ff1059a6d3448e5ea56172f10be1438303186556f348e1511bc8afeb
  Stored in directory: /root/.cache/pip/wheels/ff/4f/ed/2e6c676c23efe5394bb40ade50662e90eb46e29b48324c5f9b
  Building wheel for gast (setup.py) ... done
  Created wheel for gast: filename=gast-0.2.2-cp36-none-any.whl size=7540 sha256=2c182ee564d2516b9e50d76415383c4adc8dfac49e640442e7024a417ad49a6e
  Stored in directory: /root/.cache/pip/wheels/5c/2e/7e/a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd
Successfully built resampy gast
ERROR: tensorflow-probability 0.10.0 has requirement gast>=0.3.2, but you'll have gast 0.2.2 which is incompatible.
Installing collected packages: resampy, coremltools, tensorboard, tensorflow-estimator, gast, tensorflow, turicreate
  Found existing installation: resampy 0.2.2
    Uninstalling resampy-0.2.2:
      Successfully uninstalled resampy-0.2.2
  Found existing installation: tensorboard 2.2.1
    Uninstalling tensorboard-2.2.1:
      Successfully uninstalled tensorboard-2.2.1
  Found existing installation: tensorflow-estimator 2.2.0
    Uninstalling tensorflow-estimator-2.2.0:
      Successfully uninstalled tensorflow-estimator-2.2.0
  Found existing installation: gast 0.3.3
    Uninstalling gast-0.3.3:
      Successfully uninstalled gast-0.3.3
  Found existing installation: tensorflow 2.2.0
    Uninstalling tensorflow-2.2.0:
      Successfully uninstalled tensorflow-2.2.0
Successfully installed coremltools-3.3 gast-0.2.2 resampy-0.2.1 tensorboard-2.0.2 tensorflow-2.0.1 tensorflow-estimator-2.0.1 turicreate-6.2.2

For GPU support use:

In [0]:
# See more details at https://3dwaffles.blogspot.com/2019/05/using-turicreate-on-codelabs.html

!pip install turicreate==5.4
# The wrong version of MXNET will be installed
!pip uninstall -y mxnet
# Install CUDA10-compatible version of mxnet 
!pip install mxnet-cu100==1.4.0.post0
Collecting turicreate==5.4
  Downloading https://files.pythonhosted.org/packages/4f/ef/1847a704548ad4cbcabe09b3882181c190f5b696da8b2d082521c33ec187/turicreate-5.4-cp36-cp36m-manylinux1_x86_64.whl (87.4MB)
     |████████████████████████████████| 87.4MB 35kB/s 
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from turicreate==5.4) (1.18.4)
Requirement already satisfied: pandas>=0.19.0 in /usr/local/lib/python3.6/dist-packages (from turicreate==5.4) (1.0.3)
Collecting resampy==0.2.1
  Downloading https://files.pythonhosted.org/packages/14/b6/66a06d85474190b50aee1a6c09cdc95bb405ac47338b27e9b21409da1760/resampy-0.2.1.tar.gz (322kB)
     |████████████████████████████████| 327kB 62.9MB/s 
Requirement already satisfied: decorator>=4.0.9 in /usr/local/lib/python3.6/dist-packages (from turicreate==5.4) (4.4.2)
Collecting coremltools==2.1.0
  Downloading https://files.pythonhosted.org/packages/b9/9d/7ec5a2480c6afce4fcb99de1650b7abfd1457b2ef1de5ce39bf7bee8a8ae/coremltools-2.1.0-cp36-none-manylinux1_x86_64.whl (2.7MB)
     |████████████████████████████████| 2.7MB 62.7MB/s 
Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.6/dist-packages (from turicreate==5.4) (1.12.0)
Requirement already satisfied: pillow>=3.3.0 in /usr/local/lib/python3.6/dist-packages (from turicreate==5.4) (7.0.0)
Requirement already satisfied: prettytable==0.7.2 in /usr/local/lib/python3.6/dist-packages (from turicreate==5.4) (0.7.2)
Requirement already satisfied: requests>=2.9.1 in /usr/local/lib/python3.6/dist-packages (from turicreate==5.4) (2.23.0)
Requirement already satisfied: scipy>=0.14.0 in /usr/local/lib/python3.6/dist-packages (from turicreate==5.4) (1.4.1)
Collecting mxnet<1.2.0,>=1.1.0
  Downloading https://files.pythonhosted.org/packages/96/98/c9877e100c3d1ac92263bfaba7bb8a49294e099046592040a2ff8620ac61/mxnet-1.1.0.post0-py2.py3-none-manylinux1_x86_64.whl (23.8MB)
     |████████████████████████████████| 23.8MB 1.4MB/s 
Requirement already satisfied: python-dateutil>=2.6.1 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.19.0->turicreate==5.4) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.19.0->turicreate==5.4) (2018.9)
Requirement already satisfied: numba>=0.32 in /usr/local/lib/python3.6/dist-packages (from resampy==0.2.1->turicreate==5.4) (0.48.0)
Requirement already satisfied: protobuf>=3.1.0 in /usr/local/lib/python3.6/dist-packages (from coremltools==2.1.0->turicreate==5.4) (3.10.0)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate==5.4) (1.24.3)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate==5.4) (2.9)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate==5.4) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate==5.4) (2020.4.5.1)
Collecting graphviz<0.9.0,>=0.8.1
  Downloading https://files.pythonhosted.org/packages/53/39/4ab213673844e0c004bed8a0781a0721a3f6bb23eb8854ee75c236428892/graphviz-0.8.4-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from numba>=0.32->resampy==0.2.1->turicreate==5.4) (46.3.0)
Requirement already satisfied: llvmlite<0.32.0,>=0.31.0dev0 in /usr/local/lib/python3.6/dist-packages (from numba>=0.32->resampy==0.2.1->turicreate==5.4) (0.31.0)
Building wheels for collected packages: resampy
  Building wheel for resampy (setup.py) ... done
  Created wheel for resampy: filename=resampy-0.2.1-cp36-none-any.whl size=320850 sha256=eb4f7f5658eef37986b93ae575e1439bd8619e70efc628102cc51435a2077a37
  Stored in directory: /root/.cache/pip/wheels/ff/4f/ed/2e6c676c23efe5394bb40ade50662e90eb46e29b48324c5f9b
Successfully built resampy
ERROR: mxnet 1.1.0.post0 has requirement numpy<1.15.0,>=1.8.2, but you'll have numpy 1.18.4 which is incompatible.
ERROR: mxnet 1.1.0.post0 has requirement requests<2.19.0,>=2.18.4, but you'll have requests 2.23.0 which is incompatible.
Installing collected packages: resampy, coremltools, graphviz, mxnet, turicreate
  Found existing installation: resampy 0.2.2
    Uninstalling resampy-0.2.2:
      Successfully uninstalled resampy-0.2.2
  Found existing installation: graphviz 0.10.1
    Uninstalling graphviz-0.10.1:
      Successfully uninstalled graphviz-0.10.1
Successfully installed coremltools-2.1.0 graphviz-0.8.4 mxnet-1.1.0.post0 resampy-0.2.1 turicreate-5.4
Uninstalling mxnet-1.1.0.post0:
  Successfully uninstalled mxnet-1.1.0.post0
Collecting mxnet-cu100==1.4.0.post0
  Downloading https://files.pythonhosted.org/packages/ae/36/40b6d201b46495513f7a7fa25fe8b7d85b3602a22efba119e8146d5f1601/mxnet_cu100-1.4.0.post0-py2.py3-none-manylinux1_x86_64.whl (487.9MB)
     |████████████████████████████████| 487.9MB 32kB/s 
Requirement already satisfied: requests>=2.20.0 in /usr/local/lib/python3.6/dist-packages (from mxnet-cu100==1.4.0.post0) (2.23.0)
Requirement already satisfied: graphviz<0.9.0,>=0.8.1 in /usr/local/lib/python3.6/dist-packages (from mxnet-cu100==1.4.0.post0) (0.8.4)
Collecting numpy<1.15.0,>=1.8.2
  Downloading https://files.pythonhosted.org/packages/e5/c4/395ebb218053ba44d64935b3729bc88241ec279915e72100c5979db10945/numpy-1.14.6-cp36-cp36m-manylinux1_x86_64.whl (13.8MB)
     |████████████████████████████████| 13.8MB 237kB/s 
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests>=2.20.0->mxnet-cu100==1.4.0.post0) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests>=2.20.0->mxnet-cu100==1.4.0.post0) (2020.4.5.1)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests>=2.20.0->mxnet-cu100==1.4.0.post0) (1.24.3)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests>=2.20.0->mxnet-cu100==1.4.0.post0) (2.9)
ERROR: turicreate 5.4 requires mxnet<1.2.0,>=1.1.0, which is not installed.
ERROR: xarray 0.15.1 has requirement numpy>=1.15, but you'll have numpy 1.14.6 which is incompatible.
ERROR: umap-learn 0.4.3 has requirement numpy>=1.17, but you'll have numpy 1.14.6 which is incompatible.
ERROR: tifffile 2020.5.11 has requirement numpy>=1.15.1, but you'll have numpy 1.14.6 which is incompatible.
ERROR: tensorflow 2.2.0 has requirement numpy<2.0,>=1.16.0, but you'll have numpy 1.14.6 which is incompatible.
ERROR: spacy 2.2.4 has requirement numpy>=1.15.0, but you'll have numpy 1.14.6 which is incompatible.
ERROR: plotnine 0.6.0 has requirement numpy>=1.16.0, but you'll have numpy 1.14.6 which is incompatible.
ERROR: numba 0.48.0 has requirement numpy>=1.15, but you'll have numpy 1.14.6 which is incompatible.
ERROR: imgaug 0.2.9 has requirement numpy>=1.15.0, but you'll have numpy 1.14.6 which is incompatible.
ERROR: imagecodecs 2020.2.18 has requirement numpy>=1.15, but you'll have numpy 1.14.6 which is incompatible.
ERROR: fastai 1.0.61 has requirement numpy>=1.15, but you'll have numpy 1.14.6 which is incompatible.
ERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible.
ERROR: cvxpy 1.0.31 has requirement numpy>=1.15, but you'll have numpy 1.14.6 which is incompatible.
ERROR: blis 0.4.1 has requirement numpy>=1.15.0, but you'll have numpy 1.14.6 which is incompatible.
ERROR: astropy 4.0.1.post1 has requirement numpy>=1.16, but you'll have numpy 1.14.6 which is incompatible.
ERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.
Installing collected packages: numpy, mxnet-cu100
  Found existing installation: numpy 1.18.4
    Uninstalling numpy-1.18.4:
      Successfully uninstalled numpy-1.18.4
Successfully installed mxnet-cu100-1.4.0.post0 numpy-1.14.6

Or run this code block:

In [0]:
!pip install turicreate
!pip uninstall -y tensorflow
!pip install tensorflow-gpu
Collecting turicreate
  Downloading https://files.pythonhosted.org/packages/ee/3c/11f0818f117bc80bab78b5b04d492316f949d005bb1c6b3e05f31182b20e/turicreate-6.2.2-cp36-cp36m-manylinux1_x86_64.whl (91.8MB)
     |████████████████████████████████| 91.8MB 33kB/s 
Requirement already satisfied: prettytable==0.7.2 in /usr/local/lib/python3.6/dist-packages (from turicreate) (0.7.2)
Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.6/dist-packages (from turicreate) (1.12.0)
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from turicreate) (1.18.4)
Collecting resampy==0.2.1
  Downloading https://files.pythonhosted.org/packages/14/b6/66a06d85474190b50aee1a6c09cdc95bb405ac47338b27e9b21409da1760/resampy-0.2.1.tar.gz (322kB)
     |████████████████████████████████| 327kB 56.9MB/s 
Collecting tensorflow<=2.0.1,>=2.0.0
  Downloading https://files.pythonhosted.org/packages/43/16/b07e3f7a4a024b47918f7018967eb984b0c542458a6141d8c48515aa81d4/tensorflow-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl (86.3MB)
     |████████████████████████████████| 86.3MB 37kB/s 
Requirement already satisfied: pandas>=0.23.2 in /usr/local/lib/python3.6/dist-packages (from turicreate) (1.0.3)
Requirement already satisfied: requests>=2.9.1 in /usr/local/lib/python3.6/dist-packages (from turicreate) (2.23.0)
Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from turicreate) (1.4.1)
Requirement already satisfied: pillow>=5.2.0 in /usr/local/lib/python3.6/dist-packages (from turicreate) (7.0.0)
Collecting coremltools==3.3
  Downloading https://files.pythonhosted.org/packages/77/19/611916d1ef326d38857d93af5ba184f6ad7491642e0fa4f9082e7d82f034/coremltools-3.3-cp36-none-manylinux1_x86_64.whl (3.4MB)
     |████████████████████████████████| 3.4MB 35.5MB/s 
Requirement already satisfied: decorator>=4.0.9 in /usr/local/lib/python3.6/dist-packages (from turicreate) (4.4.2)
Requirement already satisfied: numba>=0.32 in /usr/local/lib/python3.6/dist-packages (from resampy==0.2.1->turicreate) (0.48.0)
Requirement already satisfied: astor>=0.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (0.8.1)
Requirement already satisfied: protobuf>=3.6.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (3.10.0)
Requirement already satisfied: keras-preprocessing>=1.0.5 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.1.2)
Requirement already satisfied: keras-applications>=1.0.8 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.0.8)
Requirement already satisfied: google-pasta>=0.1.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (0.2.0)
Collecting tensorboard<2.1.0,>=2.0.0
  Downloading https://files.pythonhosted.org/packages/76/54/99b9d5d52d5cb732f099baaaf7740403e83fe6b0cedde940fabd2b13d75a/tensorboard-2.0.2-py3-none-any.whl (3.8MB)
     |████████████████████████████████| 3.8MB 58.5MB/s 
Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.1.0)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (0.34.2)
Collecting gast==0.2.2
  Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz
Collecting tensorflow-estimator<2.1.0,>=2.0.0
  Downloading https://files.pythonhosted.org/packages/fc/08/8b927337b7019c374719145d1dceba21a8bb909b93b1ad6f8fb7d22c1ca1/tensorflow_estimator-2.0.1-py2.py3-none-any.whl (449kB)
     |████████████████████████████████| 450kB 56.3MB/s 
Requirement already satisfied: wrapt>=1.11.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.12.1)
Requirement already satisfied: absl-py>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (0.9.0)
Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (3.2.1)
Requirement already satisfied: grpcio>=1.8.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow<=2.0.1,>=2.0.0->turicreate) (1.29.0)
Requirement already satisfied: python-dateutil>=2.6.1 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.23.2->turicreate) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.23.2->turicreate) (2018.9)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate) (2020.4.5.1)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate) (2.9)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests>=2.9.1->turicreate) (1.24.3)
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from numba>=0.32->resampy==0.2.1->turicreate) (46.3.0)
Requirement already satisfied: llvmlite<0.32.0,>=0.31.0dev0 in /usr/local/lib/python3.6/dist-packages (from numba>=0.32->resampy==0.2.1->turicreate) (0.31.0)
Requirement already satisfied: h5py in /usr/local/lib/python3.6/dist-packages (from keras-applications>=1.0.8->tensorflow<=2.0.1,>=2.0.0->turicreate) (2.10.0)
Requirement already satisfied: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (1.7.2)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (3.2.2)
Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (1.0.1)
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (0.4.1)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (0.2.8)
Requirement already satisfied: cachetools<3.2,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (3.1.1)
Requirement already satisfied: rsa<4.1,>=3.1.4 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (4.0)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (1.6.0)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (1.3.0)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.6/dist-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (0.4.8)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < "3.8"->markdown>=2.6.8->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (3.1.0)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.1.0,>=2.0.0->tensorflow<=2.0.1,>=2.0.0->turicreate) (3.1.0)
Building wheels for collected packages: resampy, gast
  Building wheel for resampy (setup.py) ... done
  Created wheel for resampy: filename=resampy-0.2.1-cp36-none-any.whl size=320850 sha256=934a1c8ecae3416d9e7f387538d0761eecf8b4dd19b861cdece9983987d667de
  Stored in directory: /root/.cache/pip/wheels/ff/4f/ed/2e6c676c23efe5394bb40ade50662e90eb46e29b48324c5f9b
  Building wheel for gast (setup.py) ... done
  Created wheel for gast: filename=gast-0.2.2-cp36-none-any.whl size=7540 sha256=06f980a94f970ec95f2c503e652e5bd3c7c5b5382428ba6c821959d2008c2d2f
  Stored in directory: /root/.cache/pip/wheels/5c/2e/7e/a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd
Successfully built resampy gast
ERROR: tensorflow-probability 0.10.0 has requirement gast>=0.3.2, but you'll have gast 0.2.2 which is incompatible.
Installing collected packages: resampy, tensorboard, gast, tensorflow-estimator, tensorflow, coremltools, turicreate
  Found existing installation: resampy 0.2.2
    Uninstalling resampy-0.2.2:
      Successfully uninstalled resampy-0.2.2
  Found existing installation: tensorboard 2.2.1
    Uninstalling tensorboard-2.2.1:
      Successfully uninstalled tensorboard-2.2.1
  Found existing installation: gast 0.3.3
    Uninstalling gast-0.3.3:
      Successfully uninstalled gast-0.3.3
  Found existing installation: tensorflow-estimator 2.2.0
    Uninstalling tensorflow-estimator-2.2.0:
      Successfully uninstalled tensorflow-estimator-2.2.0
  Found existing installation: tensorflow 2.2.0
    Uninstalling tensorflow-2.2.0:
      Successfully uninstalled tensorflow-2.2.0
Successfully installed coremltools-3.3 gast-0.2.2 resampy-0.2.1 tensorboard-2.0.2 tensorflow-2.0.1 tensorflow-estimator-2.0.1 turicreate-6.2.2
Uninstalling tensorflow-2.0.1:
  Successfully uninstalled tensorflow-2.0.1
Collecting tensorflow-gpu
  Downloading https://files.pythonhosted.org/packages/31/bf/c28971266ca854a64f4b26f07c4112ddd61f30b4d1f18108b954a746f8ea/tensorflow_gpu-2.2.0-cp36-cp36m-manylinux2010_x86_64.whl (516.2MB)
     |████████████████████████████████| 516.2MB 31kB/s 
Requirement already satisfied: google-pasta>=0.1.8 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (0.2.0)
Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (1.12.0)
Requirement already satisfied: wrapt>=1.11.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (1.12.1)
Requirement already satisfied: absl-py>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (0.9.0)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (0.34.2)
Requirement already satisfied: astunparse==1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (1.6.3)
Requirement already satisfied: keras-preprocessing>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (1.1.2)
Requirement already satisfied: h5py<2.11.0,>=2.10.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (2.10.0)
Requirement already satisfied: protobuf>=3.8.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (3.10.0)
Collecting gast==0.3.3
  Downloading https://files.pythonhosted.org/packages/d6/84/759f5dd23fec8ba71952d97bcc7e2c9d7d63bdc582421f3cd4be845f0c98/gast-0.3.3-py2.py3-none-any.whl
Collecting tensorflow-estimator<2.3.0,>=2.2.0
  Downloading https://files.pythonhosted.org/packages/a4/f5/926ae53d6a226ec0fda5208e0e581cffed895ccc89e36ba76a8e60895b78/tensorflow_estimator-2.2.0-py2.py3-none-any.whl (454kB)
     |████████████████████████████████| 460kB 73.6MB/s 
Requirement already satisfied: grpcio>=1.8.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (1.29.0)
Requirement already satisfied: numpy<2.0,>=1.16.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (1.18.4)
Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (1.1.0)
Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (3.2.1)
Requirement already satisfied: scipy==1.4.1; python_version >= "3" in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu) (1.4.1)
Collecting tensorboard<2.3.0,>=2.2.0
  Downloading https://files.pythonhosted.org/packages/1d/fd/4f3ca1516cbb3713259ef229abd9314bba0077ef6070285dde0dd1ed21b2/tensorboard-2.2.1-py3-none-any.whl (3.0MB)
     |████████████████████████████████| 3.0MB 55.8MB/s 
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from protobuf>=3.8.0->tensorflow-gpu) (46.3.0)
Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (1.0.1)
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (0.4.1)
Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (2.23.0)
Requirement already satisfied: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (1.7.2)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (3.2.2)
Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (1.6.0.post3)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (1.3.0)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (2020.4.5.1)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (1.24.3)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (2.9)
Requirement already satisfied: cachetools<3.2,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (3.1.1)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (0.2.8)
Requirement already satisfied: rsa<4.1,>=3.1.4 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (4.0)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (1.6.0)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (3.1.0)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.6/dist-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (0.4.8)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < "3.8"->markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu) (3.1.0)
Installing collected packages: gast, tensorflow-estimator, tensorboard, tensorflow-gpu
  Found existing installation: gast 0.2.2
    Uninstalling gast-0.2.2:
      Successfully uninstalled gast-0.2.2
  Found existing installation: tensorflow-estimator 2.0.1
    Uninstalling tensorflow-estimator-2.0.1:
      Successfully uninstalled tensorflow-estimator-2.0.1
  Found existing installation: tensorboard 2.0.2
    Uninstalling tensorboard-2.0.2:
      Successfully uninstalled tensorboard-2.0.2
Successfully installed gast-0.3.3 tensorboard-2.2.1 tensorflow-estimator-2.2.0 tensorflow-gpu-2.2.0

Let's install and setup the Kaggle package:

In [0]:
# Installing the Kaggle package
import json
!pip install kaggle 
!mkdir /root/.kaggle/

#Important Note: complete this with your own key - after running this for the first time remmember to **remove** your API_KEY
api_token = {"username":"<Insert Your Kaggle User Name>","key":"<Insert Your Kaggle API key>"}

# creating kaggle.json file with the personal API-Key details 
# You can also put this file on your Google Drive
with open('/root/.kaggle/kaggle.json', 'w') as file:
  json.dump(api_token, file)
!chmod 600 /root/.kaggle/kaggle.json
Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)
Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.4.5.1)
Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)
Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)
Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.0)
Requirement already satisfied: six>=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.12.0)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->kaggle) (2.9)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->kaggle) (3.0.4)
Requirement already satisfied: text-unidecode>=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify->kaggle) (1.3)

Example 1 - Image Classification

1.1 The 10 Monkey Species Dataset

For this example, we will use the 10 Monkey Species dataset. Let's load the dataset into an SFrame object:

In [0]:
!mkdir ./datasets
!mkdir ./datasets/10-monkey-species

# download the dataset from Kaggle and unzip it
!kaggle datasets download slothkong/10-monkey-species -p ./datasets/10-monkey-species
!unzip ./datasets/10-monkey-species/*.zip  -d ./datasets/10-monkey-species/
Downloading 10-monkey-species.zip to ./datasets/10-monkey-species
 98% 537M/547M [00:08<00:00, 83.9MB/s]
100% 547M/547M [00:08<00:00, 65.7MB/s]
Archive:  ./datasets/10-monkey-species/10-monkey-species.zip
  inflating: ./datasets/10-monkey-species/monkey_labels.txt  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0021.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0156.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0157.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0158.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0159.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0160.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0161.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0162.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0163.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0164.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0165.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0166.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0167.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0168.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0169.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0170.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0171.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0172.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0173.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0174.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0175.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n0176.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n0/n019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1017.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1021.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1065.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1066.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1067.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1068.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1069.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1070.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1071.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1072.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1156.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1157.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1158.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1159.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1160.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1161.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1162.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1163.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1164.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n1/n1165.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2017.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2021.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2065.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2066.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2067.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2068.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2069.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2156.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2157.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2158.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2159.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2160.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2161.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2162.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2163.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2164.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2165.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n2/n2166.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3021.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3065.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3066.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3067.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3068.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3069.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3070.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3071.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3072.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3073.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3074.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3075.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3076.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3077.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3078.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3156.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3157.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3158.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3159.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3160.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3161.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3162.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3163.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3164.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3165.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3166.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3167.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3168.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3169.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3170.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3171.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n3/n3172.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4016.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4017.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4021.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n4155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41556.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41557.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41558.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41559.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41560.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41561.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41562.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41563.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41564.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n4/n41565.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5021.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5065.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5066.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5067.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5068.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5069.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5070.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5071.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5072.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5073.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5156.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5157.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5158.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5159.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5160.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5161.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5162.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5163.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5164.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5165.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n5/n5166.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6016.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6017.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6021.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6065.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6066.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6067.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6068.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6069.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6156.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6157.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6158.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6159.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6160.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n6/n6161.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n702.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7021.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7065.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7066.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7067.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7068.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7069.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7070.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7071.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7156.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7157.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7158.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7159.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7160.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7161.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7162.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7163.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7164.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7165.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7166.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7167.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7168.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n7/n7169.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8024.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8026.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8030.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8065.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8066.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8067.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8068.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8069.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8070.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8071.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8072.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8073.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8074.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8075.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8076.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8077.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8078.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8079.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n808.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8080.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8149.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n8151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n817.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n8/n818.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9014.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9016.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9017.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9018.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9019.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9020.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9022.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9023.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9025.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9027.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9028.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9029.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9031.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9032.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9033.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9034.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9035.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9036.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9037.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9038.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9039.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9040.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9041.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9042.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9043.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9044.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9045.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9046.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9047.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9048.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9049.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9050.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9051.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9052.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9053.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9054.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9055.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9056.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9057.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9058.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9059.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9060.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9061.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9062.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9063.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9064.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9065.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9066.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9067.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9110.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9111.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9112.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9113.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9114.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9115.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9116.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9117.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9118.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9119.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9120.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9121.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9122.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9123.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9124.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9125.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9126.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9127.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9128.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9129.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9130.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9131.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9132.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9133.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9134.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9135.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9136.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9137.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9138.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9139.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9140.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9141.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9142.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9143.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9144.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9145.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9146.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9147.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9148.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n915.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9150.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9151.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9151jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9152.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9153.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9154.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9155.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9156.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9157.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9158.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9159.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9160.png  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9161.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9162.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n9163.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n917.jpg  
  inflating: ./datasets/10-monkey-species/training/training/n9/n919.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n000.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n001.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n0010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n0011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n0012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n0013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n0014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n0015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n0016.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n0017.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n002.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n003.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n004.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n005.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n006.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n007.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n008.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n009.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n016.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n0/n017.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n100.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n101.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n1010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n1011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n1012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n1013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n1014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n1015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n1016.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n102.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n103.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n104.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n105.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n106.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n107.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n108.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n109.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n110.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n111.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n112.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n113.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n114.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n115.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n116.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n117.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n118.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n119.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n1/n120.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n200.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n201.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n2010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n2011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n2012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n2013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n2014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n2015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n2016.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n202.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n203.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n204.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n205.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n206.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n207.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n208.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n209.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n210.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n211.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n212.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n213.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n214.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n215.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n216.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n217.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n218.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n2/n219.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n300.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n301.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3016.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3017.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3018.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n3019.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n302.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n303.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n304.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n305.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n306.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n307.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n308.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n309.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n310.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n311.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n312.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n313.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n314.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n315.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n316.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n317.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n318.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n3/n319.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n400.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n401.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n4010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n4011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n4012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n4013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n4014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n4015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n402.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n403.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n404.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n405.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n406.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n407.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n408.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n409.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n410.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n411.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n412.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n413.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n414.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n415.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n416.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n417.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n418.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n4/n419.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n500.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n501.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n5010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n5011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n5012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n5013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n5014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n5015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n5016.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n5017.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n502.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n503.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n504.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n505.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n506.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n507.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n508.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n509.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n510.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n511.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n512.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n513.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n514.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n515.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n516.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n517.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n518.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n5/n519.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n600.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n601.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n6010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n6011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n6012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n6013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n6014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n6015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n602.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n603.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n604.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n605.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n606.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n607.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n608.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n609.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n610.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n611.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n612.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n613.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n614.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n615.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n616.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n617.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n618.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n6/n619.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n700.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n701.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7016.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7017.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n7018.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n703.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n704.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n705.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n706.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n707.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n708.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n709.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n710.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n711.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n712.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n713.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n714.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n715.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n716.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n717.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n718.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n7/n719.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n800.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n801.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8014.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8016.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8017.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n802.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8021.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n803.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n8031.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n804.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n805.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n806.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n807.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n809.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n810.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n811.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n812.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n813.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n814.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n815.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n816.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n8/n819.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n900.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n901.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9010.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9011.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9012.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9013.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9015.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n902.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9021.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9024.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9026.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n903.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n9030.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n904.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n905.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n906.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n907.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n908.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n909.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n910.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n911.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n912.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n913.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n914.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n916.jpg  
  inflating: ./datasets/10-monkey-species/validation/validation/n9/n918.jpg  
In [0]:
import turicreate as tc
DATASET_PATH = "./datasets/10-monkey-species/"

train_data = tc.image_analysis.load_images(f"{DATASET_PATH}/training/", with_path=True)
train_data
Out[0]:
path image
/content/datasets/10-monk
ey-species/training/t ...
Height: 367 Width: 550
/content/datasets/10-monk
ey-species/training/t ...
Height: 1080 Width: 1920
/content/datasets/10-monk
ey-species/training/t ...
Height: 450 Width: 337
/content/datasets/10-monk
ey-species/training/t ...
Height: 2911 Width: 4367
/content/datasets/10-monk
ey-species/training/t ...
Height: 1900 Width: 1526
/content/datasets/10-monk
ey-species/training/t ...
Height: 331 Width: 500
/content/datasets/10-monk
ey-species/training/t ...
Height: 466 Width: 700
/content/datasets/10-monk
ey-species/training/t ...
Height: 2691 Width: 2018
/content/datasets/10-monk
ey-species/training/t ...
Height: 433 Width: 650
/content/datasets/10-monk
ey-species/training/t ...
Height: 300 Width: 450
[1097 rows x 2 columns]
Note: Only the head of the SFrame is printed.
You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.
In [0]:
train_data.explore()
In [0]:
train_data['class'] = train_data['path'].apply(lambda p: p.split('/')[-2])
model = tc.image_classifier.create(train_data, target='class')
Using default 16 lambda workers.
To maximize the degree of parallelism, add the following code to the beginning of the program:
"turicreate.config.set_runtime_config('TURI_DEFAULT_NUM_PYLAMBDA_WORKERS', 40)"
Note that increasing the degree of parallelism also increases the memory footprint.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/compat/v2_compat.py:65: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.
Instructions for updating:
non-resource variables are not supported in the long term
Performing feature extraction on resized images...
Completed   64/1097
Completed  128/1097
Completed  192/1097
Completed  256/1097
Completed  320/1097
Completed  384/1097
Completed  448/1097
Completed  512/1097
Completed  576/1097
Completed  640/1097
Completed  704/1097
Completed  768/1097
Completed  832/1097
Completed  896/1097
Completed  960/1097
Completed 1024/1097
Completed 1088/1097
Completed 1097/1097
PROGRESS: Creating a validation set from 5 percent of training data. This may take a while.
          You can set ``validation_set=None`` to disable validation tracking.

Logistic regression:
--------------------------------------------------------
Number of examples          : 1042
Number of classes           : 10
Number of feature columns   : 1
Number of unpacked features : 2048
Number of coefficients      : 18441
Starting L-BFGS
--------------------------------------------------------
+-----------+----------+-----------+--------------+-------------------+---------------------+
| Iteration | Passes   | Step size | Elapsed Time | Training Accuracy | Validation Accuracy |
+-----------+----------+-----------+--------------+-------------------+---------------------+
| 0         | 3        | 0.500000  | 1.092238     | 0.346449          | 0.381818            |
| 1         | 5        | 0.500000  | 1.284117     | 0.738004          | 0.745455            |
| 2         | 6        | 0.625000  | 1.441997     | 0.831094          | 0.836364            |
| 3         | 8        | 0.625000  | 1.628887     | 0.869482          | 0.890909            |
| 4         | 10       | 0.625000  | 1.816759     | 0.894434          | 0.909091            |
| 9         | 15       | 1.000000  | 2.620159     | 0.992322          | 0.963636            |
+-----------+----------+-----------+--------------+-------------------+---------------------+
In [0]:
test_data = tc.image_analysis.load_images(f"{DATASET_PATH}/validation/", with_path=True)
test_data['class'] = test_data['path'].apply(lambda p: p.split('/')[-2])
test_data.materialize()
test_data['prediction'] = model.predict(test_data)
test_data
Out[0]:
path image class prediction
/content/datasets/10-monk
ey-species/validation ...
Height: 331 Width: 500 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 433 Width: 650 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 816 Width: 1024 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 331 Width: 500 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 3456 Width: 5184 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 334 Width: 500 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 650 Width: 430 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 900 Width: 1200 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 2449 Width: 3266 n0 n0
/content/datasets/10-monk
ey-species/validation ...
Height: 533 Width: 800 n0 n0
[272 rows x 4 columns]
Note: Only the head of the SFrame is printed.
You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.
In [0]:
from sklearn.metrics import accuracy_score
accuracy_score(list(test_data['class']), list(test_data['prediction']))
Out[0]:
0.9705882352941176

Almost without any work, we were able to create a model who can predict the type of monkey in an image with accuracy of 97%. Let's calculate the vector of each image:

In [0]:
def get_images_features_vector(dataset, target, feature="image", model_name='resnet-50'):
    #ptModel = _pre_trained_models.MODELS[model_name]()
    ptModel = tc.toolkits._pre_trained_models.ResNetImageClassifier()
    feature_extractor = tc.toolkits._image_feature_extractor._create_feature_extractor(model_name)
    extracted_features = tc.SFrame({
        target: dataset[target],
        '__image_features__': feature_extractor.extract_features(dataset, feature),
        })
    dataset['image_features'] = extracted_features['__image_features__']
    return dataset

train_sf = get_images_features_vector(train_data, "class")
test_sf = get_images_features_vector(test_data, "class")
train_sf
Out[0]:
path image class image_features
/content/datasets/10-monk
ey-species/training/t ...
Height: 367 Width: 550 n0 [0.4230507016181946, 0.0,
0.12343727052211761, ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 1080 Width: 1920 n0 [0.14116190373897552,
0.0, 0.25696954131126 ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 450 Width: 337 n0 [1.3000234365463257, 0.0,
0.07396093010902405, ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 2911 Width: 4367 n0 [0.6500271558761597, 0.0,
0.22466972470283508, ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 1900 Width: 1526 n0 [0.6946308612823486, 0.0,
0.2916812598705292, ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 331 Width: 500 n0 [0.5321331024169922, 0.0,
0.08093342930078506, ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 466 Width: 700 n0 [0.3235322833061218, 0.0,
0.15411359071731567, ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 2691 Width: 2018 n0 [0.14430437982082367,
0.0, 0.30080142617225 ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 433 Width: 650 n0 [0.18854402005672455,
0.0, 0.03845229372382 ...
/content/datasets/10-monk
ey-species/training/t ...
Height: 300 Width: 450 n0 [0.1151043176651001, 0.0,
0.02041042596101761, ...
[1097 rows x 4 columns]
Note: Only the head of the SFrame is printed.
You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.

Now, let's use the Boosted Trees classifier to predict each image's classes:

In [0]:
cls = tc.boosted_trees_classifier.create(train_sf,target="class", features=["image_features"], max_iterations=100)
PROGRESS: Creating a validation set from 5 percent of training data. This may take a while.
          You can set ``validation_set=None`` to disable validation tracking.

Boosted trees classifier:
--------------------------------------------------------
Number of examples          : 1042
Number of classes           : 10
Number of feature columns   : 1
Number of unpacked features : 2048
+-----------+--------------+-------------------+---------------------+-------------------+---------------------+
| Iteration | Elapsed Time | Training Accuracy | Validation Accuracy | Training Log Loss | Validation Log Loss |
+-----------+--------------+-------------------+---------------------+-------------------+---------------------+
| 1         | 0.474924     | 1.000000          | 0.890909            | 1.145314          | 1.290974            |
| 2         | 0.933202     | 1.000000          | 0.927273            | 0.784902          | 0.990792            |
| 3         | 1.257141     | 1.000000          | 0.909091            | 0.561475          | 0.805718            |
| 4         | 1.576989     | 1.000000          | 0.909091            | 0.410209          | 0.673242            |
| 5         | 1.894578     | 1.000000          | 0.927273            | 0.303282          | 0.575212            |
| 10        | 3.408101     | 1.000000          | 0.945455            | 0.075421          | 0.309642            |
| 20        | 6.285950     | 1.000000          | 0.963636            | 0.009484          | 0.173080            |
| 30        | 8.463977     | 1.000000          | 0.963636            | 0.003315          | 0.149070            |
| 40        | 10.192099    | 1.000000          | 0.981818            | 0.001919          | 0.139571            |
| 50        | 11.744622    | 1.000000          | 0.981818            | 0.001366          | 0.136086            |
| 60        | 13.219957    | 1.000000          | 0.981818            | 0.001076          | 0.133841            |
| 70        | 14.607378    | 1.000000          | 0.981818            | 0.000898          | 0.133471            |
| 80        | 15.853499    | 1.000000          | 0.981818            | 0.000778          | 0.133049            |
| 90        | 16.956968    | 1.000000          | 0.981818            | 0.000693          | 0.133211            |
| 100       | 18.009222    | 1.000000          | 0.981818            | 0.000626          | 0.132815            |
+-----------+--------------+-------------------+---------------------+-------------------+---------------------+
In [0]:
cls.evaluate(test_sf)
Out[0]:
{'accuracy': 0.9705882352941176,
 'auc': 0.9992699227539502,
 'confusion_matrix': Columns:
 	target_label	str
 	predicted_label	str
 	count	int
 
 Rows: 17
 
 Data:
 +--------------+-----------------+-------+
 | target_label | predicted_label | count |
 +--------------+-----------------+-------+
 |      n5      |        n5       |   28  |
 |      n2      |        n2       |   27  |
 |      n3      |        n6       |   1   |
 |      n0      |        n2       |   1   |
 |      n9      |        n4       |   1   |
 |      n9      |        n0       |   1   |
 |      n9      |        n9       |   24  |
 |      n0      |        n9       |   2   |
 |      n4      |        n4       |   26  |
 |      n8      |        n8       |   27  |
 +--------------+-----------------+-------+
 [17 rows x 3 columns]
 Note: Only the head of the SFrame is printed.
 You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.,
 'f1_score': 0.9697951912560383,
 'log_loss': 0.1118055235681618,
 'precision': 0.9703530728530729,
 'recall': 0.970018315018315,
 'roc_curve': Columns:
 	threshold	float
 	fpr	float
 	tpr	float
 	p	int
 	n	int
 	class	int
 
 Rows: 1000010
 
 Data:
 +-----------+---------------------+-----+----+-----+-------+
 | threshold |         fpr         | tpr | p  |  n  | class |
 +-----------+---------------------+-----+----+-----+-------+
 |    0.0    |         1.0         | 1.0 | 26 | 246 |   0   |
 |   1e-05   |  0.991869918699187  | 1.0 | 26 | 246 |   0   |
 |   2e-05   |  0.7845528455284553 | 1.0 | 26 | 246 |   0   |
 |   3e-05   |  0.6544715447154471 | 1.0 | 26 | 246 |   0   |
 |   4e-05   |  0.5691056910569106 | 1.0 | 26 | 246 |   0   |
 |   5e-05   |  0.5203252032520326 | 1.0 | 26 | 246 |   0   |
 |   6e-05   |  0.4878048780487805 | 1.0 | 26 | 246 |   0   |
 |   7e-05   |  0.4715447154471545 | 1.0 | 26 | 246 |   0   |
 |   8e-05   | 0.44715447154471544 | 1.0 | 26 | 246 |   0   |
 |   9e-05   | 0.42276422764227645 | 1.0 | 26 | 246 |   0   |
 +-----------+---------------------+-----+----+-----+-------+
 [1000010 rows x 6 columns]
 Note: Only the head of the SFrame is printed.
 You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.}

Let's visualize the images using t-SNE; in this we are going to use non-default parameters (a great article by Wattenberg, et al. on how to set t-SNE effectively can be found in the following link):

In [0]:
import numpy as np
import pandas as pd
from sklearn.manifold import TSNE

X = []
for v in train_sf['image_features']:
    X.append(v)
X = np.array(X)
print("Computed X: ", X.shape)
X_embedded = TSNE(n_components=2,perplexity=100, n_iter=5000, verbose=2).fit_transform(X)
print("Computed t-SNE", X_embedded.shape)
df = pd.DataFrame(columns=['x', 'y', 'class'])
df['x'], df['y'], df['class'] = X_embedded[:,0], X_embedded[:,1], train_sf['class']
df
Computed X:  (1097, 2048)
[t-SNE] Computing 301 nearest neighbors...
[t-SNE] Indexed 1097 samples in 0.204s...
[t-SNE] Computed neighbors for 1097 samples in 5.913s...
[t-SNE] Computed conditional probabilities for sample 1000 / 1097
[t-SNE] Computed conditional probabilities for sample 1097 / 1097
[t-SNE] Mean sigma: 4.975718
[t-SNE] Computed conditional probabilities in 0.228s
[t-SNE] Iteration 50: error = 57.8088074, gradient norm = 0.2539640 (50 iterations in 0.239s)
[t-SNE] Iteration 100: error = 57.9049606, gradient norm = 0.2505127 (50 iterations in 0.212s)
[t-SNE] Iteration 150: error = 58.4113464, gradient norm = 0.2328756 (50 iterations in 0.216s)
[t-SNE] Iteration 200: error = 57.5072212, gradient norm = 0.2608224 (50 iterations in 0.227s)
[t-SNE] Iteration 250: error = 58.4572296, gradient norm = 0.2391269 (50 iterations in 0.237s)
[t-SNE] KL divergence after 250 iterations with early exaggeration: 58.457230
[t-SNE] Iteration 300: error = 0.7670101, gradient norm = 0.0016873 (50 iterations in 0.203s)
[t-SNE] Iteration 350: error = 0.7260166, gradient norm = 0.0003818 (50 iterations in 0.188s)
[t-SNE] Iteration 400: error = 0.7149274, gradient norm = 0.0001986 (50 iterations in 0.189s)
[t-SNE] Iteration 450: error = 0.7080513, gradient norm = 0.0001926 (50 iterations in 0.191s)
[t-SNE] Iteration 500: error = 0.6998485, gradient norm = 0.0003378 (50 iterations in 0.207s)
[t-SNE] Iteration 550: error = 0.6928762, gradient norm = 0.0002459 (50 iterations in 0.211s)
[t-SNE] Iteration 600: error = 0.6845275, gradient norm = 0.0002064 (50 iterations in 0.193s)
[t-SNE] Iteration 650: error = 0.6792153, gradient norm = 0.0002802 (50 iterations in 0.199s)
[t-SNE] Iteration 700: error = 0.6776870, gradient norm = 0.0001117 (50 iterations in 0.206s)
[t-SNE] Iteration 750: error = 0.6769845, gradient norm = 0.0000744 (50 iterations in 0.234s)
[t-SNE] Iteration 800: error = 0.6767446, gradient norm = 0.0000558 (50 iterations in 0.205s)
[t-SNE] Iteration 850: error = 0.6767060, gradient norm = 0.0000591 (50 iterations in 0.211s)
[t-SNE] Iteration 900: error = 0.6762449, gradient norm = 0.0000528 (50 iterations in 0.205s)
[t-SNE] Iteration 950: error = 0.6762952, gradient norm = 0.0000461 (50 iterations in 0.210s)
[t-SNE] Iteration 1000: error = 0.6761613, gradient norm = 0.0000497 (50 iterations in 0.220s)
[t-SNE] Iteration 1050: error = 0.6756995, gradient norm = 0.0000435 (50 iterations in 0.199s)
[t-SNE] Iteration 1100: error = 0.6757489, gradient norm = 0.0000349 (50 iterations in 0.202s)
[t-SNE] Iteration 1150: error = 0.6758341, gradient norm = 0.0000495 (50 iterations in 0.198s)
[t-SNE] Iteration 1200: error = 0.6754995, gradient norm = 0.0000528 (50 iterations in 0.205s)
[t-SNE] Iteration 1250: error = 0.6756246, gradient norm = 0.0000546 (50 iterations in 0.221s)
[t-SNE] Iteration 1300: error = 0.6753423, gradient norm = 0.0000597 (50 iterations in 0.193s)
[t-SNE] Iteration 1350: error = 0.6750688, gradient norm = 0.0000633 (50 iterations in 0.220s)
[t-SNE] Iteration 1400: error = 0.6749516, gradient norm = 0.0000599 (50 iterations in 0.217s)
[t-SNE] Iteration 1450: error = 0.6746447, gradient norm = 0.0000720 (50 iterations in 0.211s)
[t-SNE] Iteration 1500: error = 0.6744188, gradient norm = 0.0000831 (50 iterations in 0.222s)
[t-SNE] Iteration 1550: error = 0.6739350, gradient norm = 0.0000742 (50 iterations in 0.201s)
[t-SNE] Iteration 1600: error = 0.6733375, gradient norm = 0.0000795 (50 iterations in 0.198s)
[t-SNE] Iteration 1650: error = 0.6731865, gradient norm = 0.0000841 (50 iterations in 0.205s)
[t-SNE] Iteration 1700: error = 0.6725795, gradient norm = 0.0000939 (50 iterations in 0.205s)
[t-SNE] Iteration 1750: error = 0.6719212, gradient norm = 0.0000835 (50 iterations in 0.217s)
[t-SNE] Iteration 1800: error = 0.6712222, gradient norm = 0.0001125 (50 iterations in 0.199s)
[t-SNE] Iteration 1850: error = 0.6703154, gradient norm = 0.0000928 (50 iterations in 0.211s)
[t-SNE] Iteration 1900: error = 0.6691215, gradient norm = 0.0001097 (50 iterations in 0.199s)
[t-SNE] Iteration 1950: error = 0.6678654, gradient norm = 0.0001293 (50 iterations in 0.190s)
[t-SNE] Iteration 2000: error = 0.6656541, gradient norm = 0.0001631 (50 iterations in 0.204s)
[t-SNE] Iteration 2050: error = 0.6617543, gradient norm = 0.0001657 (50 iterations in 0.195s)
[t-SNE] Iteration 2100: error = 0.6579614, gradient norm = 0.0002030 (50 iterations in 0.202s)
[t-SNE] Iteration 2150: error = 0.6541619, gradient norm = 0.0001908 (50 iterations in 0.199s)
[t-SNE] Iteration 2200: error = 0.6491067, gradient norm = 0.0001659 (50 iterations in 0.204s)
[t-SNE] Iteration 2250: error = 0.6468555, gradient norm = 0.0001618 (50 iterations in 0.202s)
[t-SNE] Iteration 2300: error = 0.6445836, gradient norm = 0.0001408 (50 iterations in 0.183s)
[t-SNE] Iteration 2350: error = 0.6433520, gradient norm = 0.0001428 (50 iterations in 0.186s)
[t-SNE] Iteration 2400: error = 0.6424727, gradient norm = 0.0001056 (50 iterations in 0.185s)
[t-SNE] Iteration 2450: error = 0.6421768, gradient norm = 0.0000817 (50 iterations in 0.202s)
[t-SNE] Iteration 2500: error = 0.6415768, gradient norm = 0.0000922 (50 iterations in 0.206s)
[t-SNE] Iteration 2550: error = 0.6413060, gradient norm = 0.0000686 (50 iterations in 0.195s)
[t-SNE] Iteration 2600: error = 0.6414400, gradient norm = 0.0000651 (50 iterations in 0.204s)
[t-SNE] Iteration 2650: error = 0.6409403, gradient norm = 0.0000513 (50 iterations in 0.206s)
[t-SNE] Iteration 2700: error = 0.6408635, gradient norm = 0.0000572 (50 iterations in 0.192s)
[t-SNE] Iteration 2750: error = 0.6406662, gradient norm = 0.0000485 (50 iterations in 0.202s)
[t-SNE] Iteration 2800: error = 0.6407800, gradient norm = 0.0000581 (50 iterations in 0.207s)
[t-SNE] Iteration 2850: error = 0.6408418, gradient norm = 0.0000320 (50 iterations in 0.192s)
[t-SNE] Iteration 2900: error = 0.6407164, gradient norm = 0.0000331 (50 iterations in 0.198s)
[t-SNE] Iteration 2950: error = 0.6407704, gradient norm = 0.0000532 (50 iterations in 0.187s)
[t-SNE] Iteration 3000: error = 0.6407766, gradient norm = 0.0000390 (50 iterations in 0.188s)
[t-SNE] Iteration 3050: error = 0.6407997, gradient norm = 0.0000353 (50 iterations in 0.221s)
[t-SNE] Iteration 3100: error = 0.6406498, gradient norm = 0.0000552 (50 iterations in 0.197s)
[t-SNE] Iteration 3150: error = 0.6406808, gradient norm = 0.0000482 (50 iterations in 0.188s)
[t-SNE] Iteration 3200: error = 0.6405836, gradient norm = 0.0000581 (50 iterations in 0.190s)
[t-SNE] Iteration 3250: error = 0.6407756, gradient norm = 0.0000340 (50 iterations in 0.195s)
[t-SNE] Iteration 3300: error = 0.6406206, gradient norm = 0.0000486 (50 iterations in 0.217s)
[t-SNE] Iteration 3350: error = 0.6406551, gradient norm = 0.0000283 (50 iterations in 0.198s)
[t-SNE] Iteration 3400: error = 0.6406028, gradient norm = 0.0000426 (50 iterations in 0.207s)
[t-SNE] Iteration 3450: error = 0.6405426, gradient norm = 0.0000387 (50 iterations in 0.198s)
[t-SNE] Iteration 3500: error = 0.6405432, gradient norm = 0.0000291 (50 iterations in 0.200s)
[t-SNE] Iteration 3550: error = 0.6404745, gradient norm = 0.0000285 (50 iterations in 0.214s)
[t-SNE] Iteration 3600: error = 0.6407072, gradient norm = 0.0000285 (50 iterations in 0.186s)
[t-SNE] Iteration 3650: error = 0.6407638, gradient norm = 0.0000361 (50 iterations in 0.195s)
[t-SNE] Iteration 3700: error = 0.6405990, gradient norm = 0.0000311 (50 iterations in 0.197s)
[t-SNE] Iteration 3750: error = 0.6405032, gradient norm = 0.0000308 (50 iterations in 0.199s)
[t-SNE] Iteration 3800: error = 0.6406190, gradient norm = 0.0000312 (50 iterations in 0.220s)
[t-SNE] Iteration 3850: error = 0.6405504, gradient norm = 0.0000323 (50 iterations in 0.205s)
[t-SNE] Iteration 3900: error = 0.6404085, gradient norm = 0.0000282 (50 iterations in 0.195s)
[t-SNE] Iteration 3950: error = 0.6406098, gradient norm = 0.0000343 (50 iterations in 0.239s)
[t-SNE] Iteration 4000: error = 0.6405897, gradient norm = 0.0000247 (50 iterations in 0.188s)
[t-SNE] Iteration 4050: error = 0.6405593, gradient norm = 0.0000252 (50 iterations in 0.214s)
[t-SNE] Iteration 4100: error = 0.6406316, gradient norm = 0.0000283 (50 iterations in 0.195s)
[t-SNE] Iteration 4150: error = 0.6405569, gradient norm = 0.0000232 (50 iterations in 0.186s)
[t-SNE] Iteration 4200: error = 0.6405416, gradient norm = 0.0000346 (50 iterations in 0.183s)
[t-SNE] Iteration 4250: error = 0.6405419, gradient norm = 0.0000295 (50 iterations in 0.194s)
[t-SNE] Iteration 4250: did not make any progress during the last 300 episodes. Finished.
[t-SNE] KL divergence after 4250 iterations: 0.640542
Computed t-SNE (1097, 2)
Out[0]:
x y class
0 -6.204804 12.844856 n0
1 -3.685405 15.580630 n0
2 -8.658118 14.583448 n0
3 -5.786866 13.409854 n0
4 -10.280400 10.528978 n0
... ... ... ...
1092 -10.227368 4.221961 n9
1093 -8.787913 4.345502 n9
1094 -4.924441 6.251187 n9
1095 -7.791547 9.384354 n9
1096 -3.983407 4.564019 n9

1097 rows × 3 columns

In [0]:
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
c_set = set(df['class'])
d = dict(zip(c_set, range(len(c_set))))
colors = [d[g] for g in df["class"]]


plt.figure(figsize=(10,10)) 
sns.scatterplot(x="x", y="y", hue="class", data=df)
Out[0]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f82e0f77c18>

More about how the image classifier works can be found in the following link.

1.2 The Dirty vs Clean Room Dataset

Let's move to analyze the Messy vs Clean Room dataset:

In [0]:
!mkdir ./datasets
!mkdir ./datasets/clean_vs_messy_rooms

# download the dataset from Kaggle and unzip it
!kaggle datasets download cdawn1/messy-vs-clean-room -p ./datasets/clean_vs_messy_rooms
!unzip ./datasets/clean_vs_messy_rooms/*.zip  -d ./datasets/clean_vs_messy_rooms/
mkdir: cannot create directory ‘./datasets’: File exists
Downloading messy-vs-clean-room.zip to ./datasets/clean_vs_messy_rooms
 61% 41.0M/67.1M [00:00<00:00, 51.0MB/s]
100% 67.1M/67.1M [00:00<00:00, 98.3MB/s]
Archive:  ./datasets/clean_vs_messy_rooms/messy-vs-clean-room.zip
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/test/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/10.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/11.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/12.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/13.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/14.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/15.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/16.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/17.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/18.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/19.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/20.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/21.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/22.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/23.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/24.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/25.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/26.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/27.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/28.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/29.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/30.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/31.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/32.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/33.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/34.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/35.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/36.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/37.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/38.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/39.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/40.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/41.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/42.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/43.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/44.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/45.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/46.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/47.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/48.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/49.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/50.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/51.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/52.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/53.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/54.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/55.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/56.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/57.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/58.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/59.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/60.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/61.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/62.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/63.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/64.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/65.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/66.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/67.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/68.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/69.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/70.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/71.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/72.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/73.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/74.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/75.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/76.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/77.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/78.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/79.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/80.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/81.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/82.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/83.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/84.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/85.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/86.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/87.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/88.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/89.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/90.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/91.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/92.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/93.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/94.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/clean/95.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/10.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/11.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/12.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/13.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/14.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/15.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/16.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/17.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/18.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/19.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/20.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/21.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/22.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/23.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/24.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/25.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/26.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/27.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/28.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/29.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/30.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/31.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/32.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/33.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/34.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/35.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/36.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/37.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/38.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/39.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/40.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/41.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/42.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/43.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/44.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/45.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/46.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/47.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/48.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/49.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/50.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/51.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/52.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/53.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/54.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/55.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/56.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/57.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/58.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/59.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/60.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/61.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/62.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/63.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/64.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/65.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/66.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/67.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/68.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/69.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/70.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/71.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/72.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/73.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/74.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/75.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/76.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/77.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/78.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/79.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/80.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/81.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/82.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/83.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/84.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/85.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/86.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/87.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/88.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/89.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/90.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/91.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/92.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/93.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/94.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/train/messy/95.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/clean/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/images/val/messy/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/test/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/10.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/11.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/12.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/13.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/14.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/15.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/16.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/17.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/18.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/19.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/20.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/21.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/22.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/23.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/24.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/25.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/26.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/27.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/28.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/29.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/30.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/31.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/32.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/33.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/34.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/35.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/36.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/37.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/38.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/39.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/40.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/41.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/42.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/43.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/44.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/45.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/46.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/47.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/48.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/49.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/50.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/51.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/52.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/53.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/54.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/55.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/56.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/57.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/58.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/59.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/60.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/61.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/62.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/63.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/64.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/65.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/66.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/67.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/68.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/69.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/70.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/71.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/72.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/73.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/74.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/75.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/76.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/77.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/78.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/79.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/80.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/81.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/82.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/83.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/84.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/85.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/86.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/87.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/88.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/89.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/90.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/91.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/92.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/93.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/94.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/clean/95.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/10.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/11.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/12.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/13.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/14.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/15.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/16.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/17.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/18.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/19.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/20.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/21.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/22.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/23.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/24.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/25.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/26.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/27.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/28.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/29.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/30.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/31.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/32.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/33.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/34.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/35.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/36.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/37.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/38.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/39.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/40.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/41.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/42.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/43.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/44.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/45.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/46.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/47.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/48.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/49.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/50.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/51.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/52.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/53.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/54.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/55.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/56.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/57.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/58.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/59.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/60.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/61.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/62.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/63.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/64.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/65.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/66.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/67.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/68.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/69.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/70.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/71.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/72.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/73.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/74.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/75.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/76.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/77.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/78.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/79.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/80.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/81.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/82.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/83.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/84.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/85.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/86.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/87.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/88.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/89.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/90.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/91.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/92.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/93.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/94.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/train/messy/95.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/clean/9.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/0.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/1.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/2.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/3.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/4.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/5.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/6.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/7.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/8.png  
  inflating: ./datasets/clean_vs_messy_rooms/images/val/messy/9.png  
In [0]:
import turicreate as tc
import turicreate.aggregate as agg

DATASET_PATH = "./datasets/clean_vs_messy_rooms/images"
sf = tc.image_analysis.load_images(f"{DATASET_PATH}/train", with_path=True)
sf["class"] = sf["path"].apply(lambda p: "Clean" if "clean/" in p else "Messy" )

train_sf, test_sf = sf.random_split(0.8)
In [0]:
print("Clean room :)")
sf[20]['image']
Clean room :)
Out[0]:
In [0]:
print("Messy room :_(")
sf[120]['image']
Messy room :_(
Out[0]: