INITIAL IMPORTS

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow as tf

TENSOR BASICS

x = tf.constant(4, shape=(1,1), dtype=float)
x
<tf.Tensor: shape=(1, 1), dtype=float32, numpy=array([[4.]], dtype=float32)>
x = tf.constant([[1,2,3], [4,5,6]])
x
<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[1, 2, 3],
       [4, 5, 6]], dtype=int32)>
x = tf.ones((4,4))
x
<tf.Tensor: shape=(4, 4), dtype=float32, numpy=
array([[1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.]], dtype=float32)>
x = tf.zeros((3,3))
x
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]], dtype=float32)>
x = tf.eye((3))
x
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]], dtype=float32)>
x = tf.random.normal((3,3), mean=0, stddev=1)
x
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 0.07876126, -1.7608395 ,  2.0851367 ],
       [ 0.03440803, -0.14894831, -0.34667596],
       [ 0.04498795,  1.1451246 ,  0.739446  ]], dtype=float32)>
x = tf.random.uniform((1,3), minval=0, maxval=1)
x
<tf.Tensor: shape=(1, 3), dtype=float32, numpy=array([[0.70544374, 0.9578012 , 0.9191464 ]], dtype=float32)>
x = tf.range(9)
x
<tf.Tensor: shape=(9,), dtype=int32, numpy=array([0, 1, 2, 3, 4, 5, 6, 7, 8], dtype=int32)>
x = tf.range(start=1, limit=20, delta=3)
x
<tf.Tensor: shape=(7,), dtype=int32, numpy=array([ 1,  4,  7, 10, 13, 16, 19], dtype=int32)>
x = tf.constant([1,2,3])
y = tf.constant([7,8,9])
z = tf.add(x,y)
z
<tf.Tensor: shape=(3,), dtype=int32, numpy=array([ 8, 10, 12], dtype=int32)>
x = tf.constant([1,2,3])
y = tf.constant([7,8,9])
z = tf.subtract(x,y)
z
<tf.Tensor: shape=(3,), dtype=int32, numpy=array([-6, -6, -6], dtype=int32)>
x = tf.constant([1,2,3])
y = tf.constant([7,8,9])
z = tf.multiply(x,y)
z
<tf.Tensor: shape=(3,), dtype=int32, numpy=array([ 7, 16, 27], dtype=int32)>
x = tf.constant([1,2,3])
y = tf.constant([7,8,9])
z = tf.tensordot(x,y, axes=1)
z
<tf.Tensor: shape=(), dtype=int32, numpy=50>
x = tf.constant([1,2,3])
y = tf.constant([7,8,9])
z = tf.reduce_sum(x*y, axis=0)
z
<tf.Tensor: shape=(), dtype=int32, numpy=50>
x = tf.random.normal((2,3))
y = tf.random.normal((3,4))
z = tf.matmul(x,y)
z
<tf.Tensor: shape=(2, 4), dtype=float32, numpy=
array([[-0.50085664, -0.94550675,  0.42043906, -1.3031094 ],
       [ 0.30706838,  1.6291472 ,  0.32749945, -2.265583  ]],
      dtype=float32)>
x = tf.constant([[1,2],
                 [3,4],
                 [5,6]])
x[0,1]
<tf.Tensor: shape=(), dtype=int32, numpy=2>
x = tf.range(9)
x = tf.reshape(x, (3,3))
x = tf.transpose(x, perm=[1,0])
x
<tf.Tensor: shape=(3, 3), dtype=int32, numpy=
array([[0, 3, 6],
       [1, 4, 7],
       [2, 5, 8]], dtype=int32)>

DESIGN BASIC NN USING SEQUENTIAL API

from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.datasets import mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
print(x_train.shape)

x_train = x_train.reshape(-1, 28*28).astype('float32') 
x_test = x_test.reshape(-1, 28*28).astype('float32') 
(60000, 28, 28)
model = keras.Sequential(
    [
     keras.Input(shape=(28*28)),
     layers.Dense(512, activation='relu'),
     layers.Dense(256, activation='relu'),
     layers.Dense(10),
    ]

)
print(model.summary())
model.compile(
    
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=0.001),
    metrics = ['accuracy'],
)

model.fit(x_train, y_train, batch_size=32, epochs=5, verbose=2)
model.evaluate(x_test, y_test, batch_size=32, verbose=2)
Model: "sequential_2"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_6 (Dense)              (None, 512)               401920    
_________________________________________________________________
dense_7 (Dense)              (None, 256)               131328    
_________________________________________________________________
dense_8 (Dense)              (None, 10)                2570      
=================================================================
Total params: 535,818
Trainable params: 535,818
Non-trainable params: 0
_________________________________________________________________
None
Epoch 1/5
1875/1875 - 2s - loss: 0.1857 - accuracy: 0.9431
Epoch 2/5
1875/1875 - 2s - loss: 0.0778 - accuracy: 0.9757
Epoch 3/5
1875/1875 - 2s - loss: 0.0550 - accuracy: 0.9827
Epoch 4/5
1875/1875 - 2s - loss: 0.0411 - accuracy: 0.9867
Epoch 5/5
1875/1875 - 2s - loss: 0.0321 - accuracy: 0.9899
313/313 - 0s - loss: 0.0863 - accuracy: 0.9786
[0.08630800992250443, 0.978600025177002]
model = keras.Sequential()
model.add(keras.Input(shape=(784))),
model.add(layers.Dense(512, activation='relu', name='first_layer')),
model.add(layers.Dense(256, activation='relu')),
model.add(layers.Dense(128, activation='relu')),
model.add(layers.Dense(64, activation='relu')),
model.add(layers.Dense(10))


print(model.summary())
model.compile(
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=0.001),
    metrics = ['accuracy'],
)

model.fit(x_train, y_train, batch_size=32, epochs=8, verbose=2)

model.evaluate(x_test, y_test, batch_size=32, verbose=2)
Model: "sequential_6"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
first_layer (Dense)          (None, 512)               401920    
_________________________________________________________________
dense_19 (Dense)             (None, 256)               131328    
_________________________________________________________________
dense_20 (Dense)             (None, 128)               32896     
_________________________________________________________________
dense_21 (Dense)             (None, 64)                8256      
_________________________________________________________________
dense_22 (Dense)             (None, 10)                650       
=================================================================
Total params: 575,050
Trainable params: 575,050
Non-trainable params: 0
_________________________________________________________________
None
Epoch 1/8
1875/1875 - 3s - loss: 0.6634 - accuracy: 0.8987
Epoch 2/8
1875/1875 - 3s - loss: 0.1697 - accuracy: 0.9525
Epoch 3/8
1875/1875 - 3s - loss: 0.1338 - accuracy: 0.9616
Epoch 4/8
1875/1875 - 3s - loss: 0.1220 - accuracy: 0.9660
Epoch 5/8
1875/1875 - 2s - loss: 0.1027 - accuracy: 0.9716
Epoch 6/8
1875/1875 - 3s - loss: 0.0847 - accuracy: 0.9765
Epoch 7/8
1875/1875 - 3s - loss: 0.0818 - accuracy: 0.9783
Epoch 8/8
1875/1875 - 3s - loss: 0.0754 - accuracy: 0.9804
313/313 - 0s - loss: 0.1218 - accuracy: 0.9696
[0.12180296331644058, 0.9696000218391418]

CNN

from tensorflow import keras
from tensorflow.keras import layers, regularizers
from tensorflow.keras.datasets import cifar10
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
x_train = x_train.astype("float32") / 255.0
x_test = x_test.astype("float32") / 255.0
Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
170500096/170498071 [==============================] - 2s 0us/step
model = keras.Sequential([
    keras.Input(shape=(32,32,3)),
    layers.Conv2D(32, 3, activation='relu'),
    layers.MaxPooling2D(pool_size=(2,2)),
    layers.Conv2D(64, 3, activation='relu'),
    layers.MaxPooling2D(),
    layers.Conv2D(128, 3, activation='relu'),
    layers.Flatten(),
    layers.Dense(64, activation='relu'),
    layers.Dense(10),
])
model.compile(
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=3e-4),
    metrics = ["accuracy"],
)

model.fit(x_train, y_train, batch_size=64, epochs=15, verbose=2)

model.evaluate(x_test, y_test, batch_size=64, verbose=2)
Epoch 1/15
782/782 - 9s - loss: 1.7280 - accuracy: 0.3719
Epoch 2/15
782/782 - 2s - loss: 1.3791 - accuracy: 0.5054
Epoch 3/15
782/782 - 2s - loss: 1.2507 - accuracy: 0.5575
Epoch 4/15
782/782 - 2s - loss: 1.1617 - accuracy: 0.5932
Epoch 5/15
782/782 - 2s - loss: 1.0858 - accuracy: 0.6187
Epoch 6/15
782/782 - 2s - loss: 1.0311 - accuracy: 0.6411
Epoch 7/15
782/782 - 2s - loss: 0.9734 - accuracy: 0.6607
Epoch 8/15
782/782 - 2s - loss: 0.9331 - accuracy: 0.6761
Epoch 9/15
782/782 - 2s - loss: 0.8953 - accuracy: 0.6893
Epoch 10/15
782/782 - 2s - loss: 0.8547 - accuracy: 0.7039
Epoch 11/15
782/782 - 2s - loss: 0.8226 - accuracy: 0.7163
Epoch 12/15
782/782 - 2s - loss: 0.7896 - accuracy: 0.7264
Epoch 13/15
782/782 - 2s - loss: 0.7551 - accuracy: 0.7377
Epoch 14/15
782/782 - 2s - loss: 0.7273 - accuracy: 0.7482
Epoch 15/15
782/782 - 2s - loss: 0.7002 - accuracy: 0.7559
157/157 - 0s - loss: 0.8706 - accuracy: 0.6971
[0.8705907464027405, 0.6970999836921692]

FUNCTIONAL API

def my_model():
    inputs = keras.Input(shape=(32,32,3))
    x = layers.Conv2D(32, 3, padding='same')(inputs)
    x = layers.BatchNormalization()(x)
    x = keras.activations.relu(x)
    x = layers.MaxPool2D()(x)
    x = layers.Conv2D(64, 3, padding='same')(x)
    x = layers.BatchNormalization()(x)
    x = keras.activations.relu(x)
    x = layers.MaxPool2D()(x)
    x = layers.Conv2D(128, 3, padding='same')(x)
    x = layers.BatchNormalization()(x)
    x = keras.activations.relu(x)
    x = layers.Flatten()(x)
    x = layers.Dense(64, activation='relu')(x)    
    outputs = layers.Dense(10)(x)
    model = keras.Model(inputs = inputs, outputs = outputs) 
    return model

model = my_model()

model.compile(
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=3e-4),
    metrics = ["accuracy"],
)

model.fit(x_train, y_train, batch_size=64, epochs=15, verbose=2)

model.evaluate(x_test, y_test, batch_size=64, verbose=2)   

REGULARIZATION FOR OVERFITTING DATA

def my_model():
    inputs = keras.Input(shape=(32,32,3))
    x = layers.Conv2D(
        32, 3, padding='same', kernel_regularizer=regularizers.l2(0.01),
                      )(inputs)
    x = layers.BatchNormalization()(x)
    x = keras.activations.relu(x)
    x = layers.MaxPool2D()(x)
    x = layers.Conv2D(
        64, 3, padding='same', kernel_regularizer=regularizers.l2(0.01),
        )(x)
    x = layers.BatchNormalization()(x)
    x = keras.activations.relu(x)
    x = layers.MaxPool2D()(x)
    x = layers.Conv2D(
        128, 3, padding='same', kernel_regularizer=regularizers.l2(0.01),
        )(x)
    x = layers.BatchNormalization()(x)
    x = keras.activations.relu(x)
    x = layers.Flatten()(x)
    x = layers.Dense(
        64, activation='relu', kernel_regularizer=regularizers.l2(0.01),
        )(x)
    x = layers.Dropout(0.5)(x)    
    outputs = layers.Dense(10)(x)
    model = keras.Model(inputs = inputs, outputs = outputs) 
    return model

model = my_model()

model.compile(
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=3e-4),
    metrics = ["accuracy"],
)

model.fit(x_train, y_train, batch_size=64, epochs=150, verbose=2)

model.evaluate(x_test, y_test, batch_size=64, verbose=2)   
Epoch 1/150
782/782 - 3s - loss: 3.0665 - accuracy: 0.3407
Epoch 2/150
782/782 - 3s - loss: 1.9365 - accuracy: 0.4563
Epoch 3/150
782/782 - 3s - loss: 1.6477 - accuracy: 0.5120
Epoch 4/150
782/782 - 3s - loss: 1.5146 - accuracy: 0.5401
Epoch 5/150
782/782 - 3s - loss: 1.4456 - accuracy: 0.5563
Epoch 6/150
782/782 - 3s - loss: 1.4056 - accuracy: 0.5704
Epoch 7/150
782/782 - 3s - loss: 1.3693 - accuracy: 0.5821
Epoch 8/150
782/782 - 3s - loss: 1.3452 - accuracy: 0.5895
Epoch 9/150
782/782 - 3s - loss: 1.3283 - accuracy: 0.5981
Epoch 10/150
782/782 - 3s - loss: 1.3048 - accuracy: 0.6054
Epoch 11/150
782/782 - 3s - loss: 1.2896 - accuracy: 0.6124
Epoch 12/150
782/782 - 3s - loss: 1.2815 - accuracy: 0.6147
Epoch 13/150
782/782 - 3s - loss: 1.2636 - accuracy: 0.6246
Epoch 14/150
782/782 - 3s - loss: 1.2525 - accuracy: 0.6318
Epoch 15/150
782/782 - 3s - loss: 1.2353 - accuracy: 0.6395
Epoch 16/150
782/782 - 3s - loss: 1.2233 - accuracy: 0.6443
Epoch 17/150
782/782 - 3s - loss: 1.2178 - accuracy: 0.6477
Epoch 18/150
782/782 - 3s - loss: 1.2123 - accuracy: 0.6537
Epoch 19/150
782/782 - 3s - loss: 1.1972 - accuracy: 0.6605
Epoch 20/150
782/782 - 3s - loss: 1.1886 - accuracy: 0.6649
Epoch 21/150
782/782 - 3s - loss: 1.1833 - accuracy: 0.6639
Epoch 22/150
782/782 - 3s - loss: 1.1700 - accuracy: 0.6718
Epoch 23/150
782/782 - 3s - loss: 1.1634 - accuracy: 0.6742
Epoch 24/150
782/782 - 3s - loss: 1.1603 - accuracy: 0.6763
Epoch 25/150
782/782 - 3s - loss: 1.1456 - accuracy: 0.6814
Epoch 26/150
782/782 - 3s - loss: 1.1423 - accuracy: 0.6841
Epoch 27/150
782/782 - 3s - loss: 1.1301 - accuracy: 0.6870
Epoch 28/150
782/782 - 3s - loss: 1.1283 - accuracy: 0.6911
Epoch 29/150
782/782 - 3s - loss: 1.1164 - accuracy: 0.6952
Epoch 30/150
782/782 - 3s - loss: 1.1120 - accuracy: 0.6987
Epoch 31/150
782/782 - 3s - loss: 1.1038 - accuracy: 0.7028
Epoch 32/150
782/782 - 3s - loss: 1.1046 - accuracy: 0.7032
Epoch 33/150
782/782 - 3s - loss: 1.0965 - accuracy: 0.7057
Epoch 34/150
782/782 - 3s - loss: 1.0919 - accuracy: 0.7089
Epoch 35/150
782/782 - 3s - loss: 1.0816 - accuracy: 0.7111
Epoch 36/150
782/782 - 3s - loss: 1.0762 - accuracy: 0.7148
Epoch 37/150
782/782 - 3s - loss: 1.0763 - accuracy: 0.7157
Epoch 38/150
782/782 - 3s - loss: 1.0689 - accuracy: 0.7176
Epoch 39/150
782/782 - 3s - loss: 1.0638 - accuracy: 0.7218
Epoch 40/150
782/782 - 3s - loss: 1.0591 - accuracy: 0.7231
Epoch 41/150
782/782 - 3s - loss: 1.0605 - accuracy: 0.7217
Epoch 42/150
782/782 - 3s - loss: 1.0586 - accuracy: 0.7263
Epoch 43/150
782/782 - 3s - loss: 1.0457 - accuracy: 0.7285
Epoch 44/150
782/782 - 3s - loss: 1.0492 - accuracy: 0.7310
Epoch 45/150
782/782 - 3s - loss: 1.0466 - accuracy: 0.7316
Epoch 46/150
782/782 - 3s - loss: 1.0325 - accuracy: 0.7354
Epoch 47/150
782/782 - 3s - loss: 1.0347 - accuracy: 0.7354
Epoch 48/150
782/782 - 3s - loss: 1.0329 - accuracy: 0.7339
Epoch 49/150
782/782 - 3s - loss: 1.0339 - accuracy: 0.7347
Epoch 50/150
782/782 - 3s - loss: 1.0182 - accuracy: 0.7416
Epoch 51/150
782/782 - 3s - loss: 1.0294 - accuracy: 0.7409
Epoch 52/150
782/782 - 3s - loss: 1.0151 - accuracy: 0.7441
Epoch 53/150
782/782 - 3s - loss: 1.0199 - accuracy: 0.7437
Epoch 54/150
782/782 - 3s - loss: 1.0240 - accuracy: 0.7434
Epoch 55/150
782/782 - 3s - loss: 1.0226 - accuracy: 0.7448
Epoch 56/150
782/782 - 3s - loss: 1.0059 - accuracy: 0.7464
Epoch 57/150
782/782 - 3s - loss: 1.0077 - accuracy: 0.7474
Epoch 58/150
782/782 - 3s - loss: 1.0038 - accuracy: 0.7494
Epoch 59/150
782/782 - 3s - loss: 1.0003 - accuracy: 0.7539
Epoch 60/150
782/782 - 3s - loss: 1.0004 - accuracy: 0.7509
Epoch 61/150
782/782 - 3s - loss: 0.9958 - accuracy: 0.7517
Epoch 62/150
782/782 - 3s - loss: 0.9954 - accuracy: 0.7548
Epoch 63/150
782/782 - 3s - loss: 0.9892 - accuracy: 0.7567
Epoch 64/150
782/782 - 3s - loss: 0.9899 - accuracy: 0.7570
Epoch 65/150
782/782 - 3s - loss: 0.9946 - accuracy: 0.7554
Epoch 66/150
782/782 - 3s - loss: 0.9888 - accuracy: 0.7554
Epoch 67/150
782/782 - 3s - loss: 0.9824 - accuracy: 0.7593
Epoch 68/150
782/782 - 3s - loss: 0.9819 - accuracy: 0.7591
Epoch 69/150
782/782 - 3s - loss: 0.9878 - accuracy: 0.7575
Epoch 70/150
782/782 - 3s - loss: 0.9794 - accuracy: 0.7620
Epoch 71/150
782/782 - 3s - loss: 0.9759 - accuracy: 0.7629
Epoch 72/150
782/782 - 3s - loss: 0.9744 - accuracy: 0.7638
Epoch 73/150
782/782 - 3s - loss: 0.9626 - accuracy: 0.7672
Epoch 74/150
782/782 - 3s - loss: 0.9781 - accuracy: 0.7636
Epoch 75/150
782/782 - 3s - loss: 0.9743 - accuracy: 0.7647
Epoch 76/150
782/782 - 3s - loss: 0.9701 - accuracy: 0.7674
Epoch 77/150
782/782 - 3s - loss: 0.9642 - accuracy: 0.7701
Epoch 78/150
782/782 - 3s - loss: 0.9645 - accuracy: 0.7701
Epoch 79/150
782/782 - 3s - loss: 0.9605 - accuracy: 0.7682
Epoch 80/150
782/782 - 3s - loss: 0.9729 - accuracy: 0.7678
Epoch 81/150
782/782 - 3s - loss: 0.9605 - accuracy: 0.7713
Epoch 82/150
782/782 - 3s - loss: 0.9617 - accuracy: 0.7704
Epoch 83/150
782/782 - 3s - loss: 0.9552 - accuracy: 0.7728
Epoch 84/150
782/782 - 3s - loss: 0.9518 - accuracy: 0.7726
Epoch 85/150
782/782 - 3s - loss: 0.9508 - accuracy: 0.7758
Epoch 86/150
782/782 - 3s - loss: 0.9555 - accuracy: 0.7741
Epoch 87/150
782/782 - 3s - loss: 0.9475 - accuracy: 0.7748
Epoch 88/150
782/782 - 3s - loss: 0.9526 - accuracy: 0.7741
Epoch 89/150
782/782 - 3s - loss: 0.9512 - accuracy: 0.7777
Epoch 90/150
782/782 - 3s - loss: 0.9522 - accuracy: 0.7757
Epoch 91/150
782/782 - 3s - loss: 0.9506 - accuracy: 0.7771
Epoch 92/150
782/782 - 3s - loss: 0.9446 - accuracy: 0.7773
Epoch 93/150
782/782 - 3s - loss: 0.9485 - accuracy: 0.7746
Epoch 94/150
782/782 - 3s - loss: 0.9511 - accuracy: 0.7737
Epoch 95/150
782/782 - 3s - loss: 0.9449 - accuracy: 0.7766
Epoch 96/150
782/782 - 3s - loss: 0.9449 - accuracy: 0.7786
Epoch 97/150
782/782 - 3s - loss: 0.9468 - accuracy: 0.7783
Epoch 98/150
782/782 - 3s - loss: 0.9415 - accuracy: 0.7810
Epoch 99/150
782/782 - 3s - loss: 0.9389 - accuracy: 0.7783
Epoch 100/150
782/782 - 3s - loss: 0.9403 - accuracy: 0.7816
Epoch 101/150
782/782 - 3s - loss: 0.9364 - accuracy: 0.7818
Epoch 102/150
782/782 - 3s - loss: 0.9300 - accuracy: 0.7850
Epoch 103/150
782/782 - 3s - loss: 0.9326 - accuracy: 0.7837
Epoch 104/150
782/782 - 3s - loss: 0.9323 - accuracy: 0.7831
Epoch 105/150
782/782 - 3s - loss: 0.9434 - accuracy: 0.7793
Epoch 106/150
782/782 - 3s - loss: 0.9386 - accuracy: 0.7822
Epoch 107/150
782/782 - 3s - loss: 0.9285 - accuracy: 0.7854
Epoch 108/150
782/782 - 3s - loss: 0.9324 - accuracy: 0.7842
Epoch 109/150
782/782 - 3s - loss: 0.9391 - accuracy: 0.7829
Epoch 110/150
782/782 - 3s - loss: 0.9310 - accuracy: 0.7853
Epoch 111/150
782/782 - 3s - loss: 0.9311 - accuracy: 0.7843
Epoch 112/150
782/782 - 3s - loss: 0.9338 - accuracy: 0.7852
Epoch 113/150
782/782 - 3s - loss: 0.9265 - accuracy: 0.7859
Epoch 114/150
782/782 - 3s - loss: 0.9264 - accuracy: 0.7859
Epoch 115/150
782/782 - 3s - loss: 0.9281 - accuracy: 0.7844
Epoch 116/150
782/782 - 3s - loss: 0.9313 - accuracy: 0.7849
Epoch 117/150
782/782 - 3s - loss: 0.9263 - accuracy: 0.7887
Epoch 118/150
782/782 - 3s - loss: 0.9325 - accuracy: 0.7855
Epoch 119/150
782/782 - 3s - loss: 0.9271 - accuracy: 0.7869
Epoch 120/150
782/782 - 3s - loss: 0.9141 - accuracy: 0.7921
Epoch 121/150
782/782 - 3s - loss: 0.9306 - accuracy: 0.7861
Epoch 122/150
782/782 - 3s - loss: 0.9221 - accuracy: 0.7907
Epoch 123/150
782/782 - 3s - loss: 0.9207 - accuracy: 0.7882
Epoch 124/150
782/782 - 3s - loss: 0.9203 - accuracy: 0.7920
Epoch 125/150
782/782 - 3s - loss: 0.9231 - accuracy: 0.7866
Epoch 126/150
782/782 - 3s - loss: 0.9227 - accuracy: 0.7899
Epoch 127/150
782/782 - 3s - loss: 0.9191 - accuracy: 0.7901
Epoch 128/150
782/782 - 3s - loss: 0.9218 - accuracy: 0.7903
Epoch 129/150
782/782 - 3s - loss: 0.9217 - accuracy: 0.7916
Epoch 130/150
782/782 - 3s - loss: 0.9240 - accuracy: 0.7890
Epoch 131/150
782/782 - 3s - loss: 0.9242 - accuracy: 0.7900
Epoch 132/150
782/782 - 3s - loss: 0.9202 - accuracy: 0.7903
Epoch 133/150
782/782 - 3s - loss: 0.9073 - accuracy: 0.7940
Epoch 134/150
782/782 - 3s - loss: 0.9142 - accuracy: 0.7928
Epoch 135/150
782/782 - 3s - loss: 0.9181 - accuracy: 0.7916
Epoch 136/150
782/782 - 3s - loss: 0.9152 - accuracy: 0.7942
Epoch 137/150
782/782 - 3s - loss: 0.9139 - accuracy: 0.7928
Epoch 138/150
782/782 - 3s - loss: 0.9211 - accuracy: 0.7896
Epoch 139/150
782/782 - 3s - loss: 0.9198 - accuracy: 0.7915
Epoch 140/150
782/782 - 3s - loss: 0.9092 - accuracy: 0.7943
Epoch 141/150
782/782 - 3s - loss: 0.9098 - accuracy: 0.7969
Epoch 142/150
782/782 - 3s - loss: 0.9147 - accuracy: 0.7923
Epoch 143/150
782/782 - 3s - loss: 0.9105 - accuracy: 0.7953
Epoch 144/150
782/782 - 3s - loss: 0.9214 - accuracy: 0.7926
Epoch 145/150
782/782 - 3s - loss: 0.9097 - accuracy: 0.7969
Epoch 146/150
782/782 - 3s - loss: 0.9135 - accuracy: 0.7970
Epoch 147/150
782/782 - 3s - loss: 0.9079 - accuracy: 0.7949
Epoch 148/150
782/782 - 3s - loss: 0.9120 - accuracy: 0.7965
Epoch 149/150
782/782 - 3s - loss: 0.9130 - accuracy: 0.7963
Epoch 150/150
782/782 - 3s - loss: 0.9114 - accuracy: 0.7938
157/157 - 1s - loss: 1.0472 - accuracy: 0.7640
[1.0472173690795898, 0.7639999985694885]

RNN, GRU, LSTM

from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.datasets import mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
print(x_train.shape)

x_train = x_train.astype('float32') 
x_test = x_test.astype('float32') 
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step
(60000, 28, 28)
model = keras.Sequential()
model.add(keras.Input(shape=(None, 28)))
model.add(layers.SimpleRNN(512, return_sequences=True, activation='relu'))
model.add(layers.SimpleRNN(512, activation='relu'))
model.add(layers.Dense(10))

print(model.summary())
model.compile(
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=0.001),
    metrics = ["accuracy"],
)

model.fit(x_train, y_train, batch_size=64, epochs=10, verbose=2)

model.evaluate(x_test, y_test, batch_size=64, verbose=2)
Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
simple_rnn (SimpleRNN)       (None, None, 512)         276992    
_________________________________________________________________
simple_rnn_1 (SimpleRNN)     (None, 512)               524800    
_________________________________________________________________
dense (Dense)                (None, 10)                5130      
=================================================================
Total params: 806,922
Trainable params: 806,922
Non-trainable params: 0
_________________________________________________________________
None
Epoch 1/10
938/938 - 34s - loss: 1.0213 - accuracy: 0.6945
Epoch 2/10
938/938 - 32s - loss: 0.3255 - accuracy: 0.8994
Epoch 3/10
938/938 - 31s - loss: 0.2171 - accuracy: 0.9409
Epoch 4/10
938/938 - 31s - loss: 0.1731 - accuracy: 0.9532
Epoch 5/10
938/938 - 32s - loss: 0.1591 - accuracy: 0.9595
Epoch 6/10
938/938 - 32s - loss: 0.1528 - accuracy: 0.9614
Epoch 7/10
938/938 - 32s - loss: 0.1423 - accuracy: 0.9646
Epoch 8/10
938/938 - 32s - loss: 0.1486 - accuracy: 0.9633
Epoch 9/10
938/938 - 31s - loss: 0.1367 - accuracy: 0.9660
Epoch 10/10
938/938 - 31s - loss: 0.1134 - accuracy: 0.9717
157/157 - 1s - loss: 0.1057 - accuracy: 0.9759
[0.10572042316198349, 0.9758999943733215]

GRUs

model = keras.Sequential()
model.add(keras.Input(shape=(None, 28)))
model.add(layers.GRU(256, return_sequences=True, activation='relu'))
model.add(layers.GRU(256, activation='relu'))
model.add(layers.Dense(10))

print(model.summary())
model.compile(
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=0.001),
    metrics = ["accuracy"],
)

model.fit(x_train, y_train, batch_size=64, epochs=10, verbose=2)

model.evaluate(x_test, y_test, batch_size=64, verbose=2)
WARNING:tensorflow:Layer gru will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
WARNING:tensorflow:Layer gru_1 will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
Model: "sequential_1"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
gru (GRU)                    (None, None, 256)         219648    
_________________________________________________________________
gru_1 (GRU)                  (None, 256)               394752    
_________________________________________________________________
dense_1 (Dense)              (None, 10)                2570      
=================================================================
Total params: 616,970
Trainable params: 616,970
Non-trainable params: 0
_________________________________________________________________
None
Epoch 1/10
938/938 - 91s - loss: 0.5875 - accuracy: 0.8393
Epoch 2/10
938/938 - 90s - loss: 0.2172 - accuracy: 0.9316
Epoch 3/10
938/938 - 90s - loss: 0.1624 - accuracy: 0.9496
Epoch 4/10
938/938 - 89s - loss: 0.1528 - accuracy: 0.9539
Epoch 5/10
938/938 - 89s - loss: 0.1400 - accuracy: 0.9579
Epoch 6/10
938/938 - 90s - loss: 0.1437 - accuracy: 0.9562
Epoch 7/10
938/938 - 91s - loss: 0.1323 - accuracy: 0.9609
Epoch 8/10
938/938 - 89s - loss: 0.1070 - accuracy: 0.9686
Epoch 9/10
938/938 - 91s - loss: 0.1500 - accuracy: 0.9560
Epoch 10/10
938/938 - 89s - loss: 0.1155 - accuracy: 0.9661
157/157 - 2s - loss: 0.1240 - accuracy: 0.9635
[0.12400849908590317, 0.9635000228881836]

LSTM

model = keras.Sequential()
model.add(keras.Input(shape=(None, 28)))
model.add(layers.LSTM(256, return_sequences=True, activation='relu'))
model.add(layers.LSTM(256, activation='relu'))
model.add(layers.Dense(10))

print(model.summary())
model.compile(
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=0.001),
    metrics = ["accuracy"],
)

model.fit(x_train, y_train, batch_size=64, epochs=10, verbose=2)

model.evaluate(x_test, y_test, batch_size=64, verbose=2)
WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
WARNING:tensorflow:Layer lstm_1 will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
Model: "sequential_2"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
lstm (LSTM)                  (None, None, 256)         291840    
_________________________________________________________________
lstm_1 (LSTM)                (None, 256)               525312    
_________________________________________________________________
dense_2 (Dense)              (None, 10)                2570      
=================================================================
Total params: 819,722
Trainable params: 819,722
Non-trainable params: 0
_________________________________________________________________
None
Epoch 1/10
938/938 - 76s - loss: 772.9935 - accuracy: 0.1622
Epoch 2/10
938/938 - 74s - loss: 176.0788 - accuracy: 0.3707
Epoch 3/10
938/938 - 75s - loss: 34.8663 - accuracy: 0.5478
Epoch 4/10
938/938 - 75s - loss: 25.1809 - accuracy: 0.6143
Epoch 5/10
938/938 - 76s - loss: 28.4628 - accuracy: 0.5853
Epoch 6/10
938/938 - 76s - loss: 15.4300 - accuracy: 0.6723
Epoch 7/10
938/938 - 76s - loss: 10.9364 - accuracy: 0.7126
Epoch 8/10
938/938 - 76s - loss: 8.5499 - accuracy: 0.7437
Epoch 9/10
938/938 - 75s - loss: 6.2875 - accuracy: 0.7729
Epoch 10/10
938/938 - 76s - loss: 5.1225 - accuracy: 0.7874
157/157 - 1s - loss: 6.2078 - accuracy: 0.7416
[6.207762718200684, 0.741599977016449]

BIDIRECTIONAL LSTM

model = keras.Sequential()
model.add(keras.Input(shape=(None, 28)))
model.add(layers.Bidirectional(layers.LSTM(256, return_sequences=True, activation='relu')))
model.add(layers.Bidirectional(layers.LSTM(256, activation='relu')))
model.add(layers.Dense(10))

print(model.summary())
model.compile(
    loss = keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer = keras.optimizers.Adam(learning_rate=0.001),
    metrics = ["accuracy"],
)

model.fit(x_train, y_train, batch_size=64, epochs=10, verbose=2)

model.evaluate(x_test, y_test, batch_size=64, verbose=2)
WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
WARNING:tensorflow:Layer lstm_1 will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
WARNING:tensorflow:Layer lstm_1 will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
WARNING:tensorflow:Layer lstm_1 will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU
Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
bidirectional (Bidirectional (None, None, 512)         583680    
_________________________________________________________________
bidirectional_1 (Bidirection (None, 512)               1574912   
_________________________________________________________________
dense (Dense)                (None, 10)                5130      
=================================================================
Total params: 2,163,722
Trainable params: 2,163,722
Non-trainable params: 0
_________________________________________________________________
None
Epoch 1/10
938/938 - 166s - loss: 8292.4199 - accuracy: 0.1552
Epoch 2/10
Epoch 3/10
938/938 - 163s - loss: 3408.4773 - accuracy: 0.1964
Epoch 4/10
938/938 - 162s - loss: 4644.5352 - accuracy: 0.1910
Epoch 5/10

ADDITIONAL EXAMPLE OF FUNCTIONAL API ON MULTI DIGIT MNIST DATASET

!unzip /content/drive/MyDrive/TFBASICS/MDMNIST.zip
Streaming output truncated to the last 5000 lines.
  inflating: train_images/92_88.png  
  inflating: train_images/92_89.png  
  inflating: train_images/92_90.png  
  inflating: train_images/92_91.png  
  inflating: train_images/92_94.png  
  inflating: train_images/92_95.png  
  inflating: train_images/92_97.png  
  inflating: train_images/92_98.png  
  inflating: train_images/930_00.png  
  inflating: train_images/930_01.png  
  inflating: train_images/930_04.png  
  inflating: train_images/930_05.png  
  inflating: train_images/930_06.png  
  inflating: train_images/930_08.png  
  inflating: train_images/930_09.png  
  inflating: train_images/930_11.png  
  inflating: train_images/930_12.png  
  inflating: train_images/930_13.png  
  inflating: train_images/930_14.png  
  inflating: train_images/930_15.png  
  inflating: train_images/930_16.png  
  inflating: train_images/930_18.png  
  inflating: train_images/930_19.png  
  inflating: train_images/930_20.png  
  inflating: train_images/930_21.png  
  inflating: train_images/930_23.png  
  inflating: train_images/930_24.png  
  inflating: train_images/930_26.png  
  inflating: train_images/930_28.png  
  inflating: train_images/930_29.png  
  inflating: train_images/930_30.png  
  inflating: train_images/930_31.png  
  inflating: train_images/930_33.png  
  inflating: train_images/930_35.png  
  inflating: train_images/930_37.png  
  inflating: train_images/930_38.png  
  inflating: train_images/930_41.png  
  inflating: train_images/930_42.png  
  inflating: train_images/930_43.png  
  inflating: train_images/930_44.png  
  inflating: train_images/930_45.png  
  inflating: train_images/930_50.png  
  inflating: train_images/930_51.png  
  inflating: train_images/930_53.png  
  inflating: train_images/930_54.png  
  inflating: train_images/930_56.png  
  inflating: train_images/930_59.png  
  inflating: train_images/930_60.png  
  inflating: train_images/930_62.png  
  inflating: train_images/930_63.png  
  inflating: train_images/930_65.png  
  inflating: train_images/930_69.png  
  inflating: train_images/930_70.png  
  inflating: train_images/930_72.png  
  inflating: train_images/930_74.png  
  inflating: train_images/930_75.png  
  inflating: train_images/930_76.png  
  inflating: train_images/930_77.png  
  inflating: train_images/930_79.png  
  inflating: train_images/930_81.png  
  inflating: train_images/930_82.png  
  inflating: train_images/930_84.png  
  inflating: train_images/930_85.png  
  inflating: train_images/930_87.png  
  inflating: train_images/930_88.png  
  inflating: train_images/930_89.png  
  inflating: train_images/930_90.png  
  inflating: train_images/930_91.png  
  inflating: train_images/930_94.png  
  inflating: train_images/930_95.png  
  inflating: train_images/930_97.png  
  inflating: train_images/930_98.png  
  inflating: train_images/931_00.png  
  inflating: train_images/931_01.png  
  inflating: train_images/931_04.png  
  inflating: train_images/931_05.png  
  inflating: train_images/931_06.png  
  inflating: train_images/931_08.png  
  inflating: train_images/931_09.png  
  inflating: train_images/931_11.png  
  inflating: train_images/931_12.png  
  inflating: train_images/931_13.png  
  inflating: train_images/931_14.png  
  inflating: train_images/931_15.png  
  inflating: train_images/931_16.png  
  inflating: train_images/931_18.png  
  inflating: train_images/931_19.png  
  inflating: train_images/931_20.png  
  inflating: train_images/931_21.png  
  inflating: train_images/931_23.png  
  inflating: train_images/931_24.png  
  inflating: train_images/931_26.png  
  inflating: train_images/931_28.png  
  inflating: train_images/931_29.png  
  inflating: train_images/931_30.png  
  inflating: train_images/931_31.png  
  inflating: train_images/931_33.png  
  inflating: train_images/931_35.png  
  inflating: train_images/931_37.png  
  inflating: train_images/931_38.png  
  inflating: train_images/931_41.png  
  inflating: train_images/931_42.png  
  inflating: train_images/931_43.png  
  inflating: train_images/931_44.png  
  inflating: train_images/931_45.png  
  inflating: train_images/931_50.png  
  inflating: train_images/931_51.png  
  inflating: train_images/931_53.png  
  inflating: train_images/931_54.png  
  inflating: train_images/931_56.png  
  inflating: train_images/931_59.png  
  inflating: train_images/931_60.png  
  inflating: train_images/931_62.png  
  inflating: train_images/931_63.png  
  inflating: train_images/931_65.png  
  inflating: train_images/931_69.png  
  inflating: train_images/931_70.png  
  inflating: train_images/931_72.png  
  inflating: train_images/931_74.png  
  inflating: train_images/931_75.png  
  inflating: train_images/931_76.png  
  inflating: train_images/931_77.png  
  inflating: train_images/931_79.png  
  inflating: train_images/931_81.png  
  inflating: train_images/931_82.png  
  inflating: train_images/931_84.png  
  inflating: train_images/931_85.png  
  inflating: train_images/931_87.png  
  inflating: train_images/931_88.png  
  inflating: train_images/931_89.png  
  inflating: train_images/931_90.png  
  inflating: train_images/931_91.png  
  inflating: train_images/931_94.png  
  inflating: train_images/931_95.png  
  inflating: train_images/931_97.png  
  inflating: train_images/931_98.png  
  inflating: train_images/932_00.png  
  inflating: train_images/932_01.png  
  inflating: train_images/932_04.png  
  inflating: train_images/932_05.png  
  inflating: train_images/932_06.png  
  inflating: train_images/932_08.png  
  inflating: train_images/932_09.png  
  inflating: train_images/932_11.png  
  inflating: train_images/932_12.png  
  inflating: train_images/932_13.png  
  inflating: train_images/932_14.png  
  inflating: train_images/932_15.png  
  inflating: train_images/932_16.png  
  inflating: train_images/932_18.png  
  inflating: train_images/932_19.png  
  inflating: train_images/932_20.png  
  inflating: train_images/932_21.png  
  inflating: train_images/932_23.png  
  inflating: train_images/932_24.png  
  inflating: train_images/932_26.png  
  inflating: train_images/932_28.png  
  inflating: train_images/932_29.png  
  inflating: train_images/932_30.png  
  inflating: train_images/932_31.png  
  inflating: train_images/932_33.png  
  inflating: train_images/932_35.png  
  inflating: train_images/932_37.png  
  inflating: train_images/932_38.png  
  inflating: train_images/932_41.png  
  inflating: train_images/932_42.png  
  inflating: train_images/932_43.png  
  inflating: train_images/932_44.png  
  inflating: train_images/932_45.png  
  inflating: train_images/932_50.png  
  inflating: train_images/932_51.png  
  inflating: train_images/932_53.png  
  inflating: train_images/932_54.png  
  inflating: train_images/932_56.png  
  inflating: train_images/932_59.png  
  inflating: train_images/932_60.png  
  inflating: train_images/932_62.png  
  inflating: train_images/932_63.png  
  inflating: train_images/932_65.png  
  inflating: train_images/932_69.png  
  inflating: train_images/932_70.png  
  inflating: train_images/932_72.png  
  inflating: train_images/932_74.png  
  inflating: train_images/932_75.png  
  inflating: train_images/932_76.png  
  inflating: train_images/932_77.png  
  inflating: train_images/932_79.png  
  inflating: train_images/932_81.png  
  inflating: train_images/932_82.png  
  inflating: train_images/932_84.png  
  inflating: train_images/932_85.png  
  inflating: train_images/932_87.png  
  inflating: train_images/932_88.png  
  inflating: train_images/932_89.png  
  inflating: train_images/932_90.png  
  inflating: train_images/932_91.png  
  inflating: train_images/932_94.png  
  inflating: train_images/932_95.png  
  inflating: train_images/932_97.png  
  inflating: train_images/932_98.png  
  inflating: train_images/933_00.png  
  inflating: train_images/933_01.png  
  inflating: train_images/933_04.png  
  inflating: train_images/933_05.png  
  inflating: train_images/933_06.png  
  inflating: train_images/933_08.png  
  inflating: train_images/933_09.png  
  inflating: train_images/933_11.png  
  inflating: train_images/933_12.png  
  inflating: train_images/933_13.png  
  inflating: train_images/933_14.png  
  inflating: train_images/933_15.png  
  inflating: train_images/933_16.png  
  inflating: train_images/933_18.png  
  inflating: train_images/933_19.png  
  inflating: train_images/933_20.png  
  inflating: train_images/933_21.png  
  inflating: train_images/933_23.png  
  inflating: train_images/933_24.png  
  inflating: train_images/933_26.png  
  inflating: train_images/933_28.png  
  inflating: train_images/933_29.png  
  inflating: train_images/933_30.png  
  inflating: train_images/933_31.png  
  inflating: train_images/933_33.png  
  inflating: train_images/933_35.png  
  inflating: train_images/933_37.png  
  inflating: train_images/933_38.png  
  inflating: train_images/933_41.png  
  inflating: train_images/933_42.png  
  inflating: train_images/933_43.png  
  inflating: train_images/933_44.png  
  inflating: train_images/933_45.png  
  inflating: train_images/933_50.png  
  inflating: train_images/933_51.png  
  inflating: train_images/933_53.png  
  inflating: train_images/933_54.png  
  inflating: train_images/933_56.png  
  inflating: train_images/933_59.png  
  inflating: train_images/933_60.png  
  inflating: train_images/933_62.png  
  inflating: train_images/933_63.png  
  inflating: train_images/933_65.png  
  inflating: train_images/933_69.png  
  inflating: train_images/933_70.png  
  inflating: train_images/933_72.png  
  inflating: train_images/933_74.png  
  inflating: train_images/933_75.png  
  inflating: train_images/933_76.png  
  inflating: train_images/933_77.png  
  inflating: train_images/933_79.png  
  inflating: train_images/933_81.png  
  inflating: train_images/933_82.png  
  inflating: train_images/933_84.png  
  inflating: train_images/933_85.png  
  inflating: train_images/933_87.png  
  inflating: train_images/933_88.png  
  inflating: train_images/933_89.png  
  inflating: train_images/933_90.png  
  inflating: train_images/933_91.png  
  inflating: train_images/933_94.png  
  inflating: train_images/933_95.png  
  inflating: train_images/933_97.png  
  inflating: train_images/933_98.png  
  inflating: train_images/934_00.png  
  inflating: train_images/934_01.png  
  inflating: train_images/934_04.png  
  inflating: train_images/934_05.png  
  inflating: train_images/934_06.png  
  inflating: train_images/934_08.png  
  inflating: train_images/934_09.png  
  inflating: train_images/934_11.png  
  inflating: train_images/934_12.png  
  inflating: train_images/934_13.png  
  inflating: train_images/934_14.png  
  inflating: train_images/934_15.png  
  inflating: train_images/934_16.png  
  inflating: train_images/934_18.png  
  inflating: train_images/934_19.png  
  inflating: train_images/934_20.png  
  inflating: train_images/934_21.png  
  inflating: train_images/934_23.png  
  inflating: train_images/934_24.png  
  inflating: train_images/934_26.png  
  inflating: train_images/934_28.png  
  inflating: train_images/934_29.png  
  inflating: train_images/934_30.png  
  inflating: train_images/934_31.png  
  inflating: train_images/934_33.png  
  inflating: train_images/934_35.png  
  inflating: train_images/934_37.png  
  inflating: train_images/934_38.png  
  inflating: train_images/934_41.png  
  inflating: train_images/934_42.png  
  inflating: train_images/934_43.png  
  inflating: train_images/934_44.png  
  inflating: train_images/934_45.png  
  inflating: train_images/934_50.png  
  inflating: train_images/934_51.png  
  inflating: train_images/934_53.png  
  inflating: train_images/934_54.png  
  inflating: train_images/934_56.png  
  inflating: train_images/934_59.png  
  inflating: train_images/934_60.png  
  inflating: train_images/934_62.png  
  inflating: train_images/934_63.png  
  inflating: train_images/934_65.png  
  inflating: train_images/934_69.png  
  inflating: train_images/934_70.png  
  inflating: train_images/934_72.png  
  inflating: train_images/934_74.png  
  inflating: train_images/934_75.png  
  inflating: train_images/934_76.png  
  inflating: train_images/934_77.png  
  inflating: train_images/934_79.png  
  inflating: train_images/934_81.png  
  inflating: train_images/934_82.png  
  inflating: train_images/934_84.png  
  inflating: train_images/934_85.png  
  inflating: train_images/934_87.png  
  inflating: train_images/934_88.png  
  inflating: train_images/934_89.png  
  inflating: train_images/934_90.png  
  inflating: train_images/934_91.png  
  inflating: train_images/934_94.png  
  inflating: train_images/934_95.png  
  inflating: train_images/934_97.png  
  inflating: train_images/934_98.png  
  inflating: train_images/935_00.png  
  inflating: train_images/935_01.png  
  inflating: train_images/935_04.png  
  inflating: train_images/935_05.png  
  inflating: train_images/935_06.png  
  inflating: train_images/935_08.png  
  inflating: train_images/935_09.png  
  inflating: train_images/935_11.png  
  inflating: train_images/935_12.png  
  inflating: train_images/935_13.png  
  inflating: train_images/935_14.png  
  inflating: train_images/935_15.png  
  inflating: train_images/935_16.png  
  inflating: train_images/935_18.png  
  inflating: train_images/935_19.png  
  inflating: train_images/935_20.png  
  inflating: train_images/935_21.png  
  inflating: train_images/935_23.png  
  inflating: train_images/935_24.png  
  inflating: train_images/935_26.png  
  inflating: train_images/935_28.png  
  inflating: train_images/935_29.png  
  inflating: train_images/935_30.png  
  inflating: train_images/935_31.png  
  inflating: train_images/935_33.png  
  inflating: train_images/935_35.png  
  inflating: train_images/935_37.png  
  inflating: train_images/935_38.png  
  inflating: train_images/935_41.png  
  inflating: train_images/935_42.png  
  inflating: train_images/935_43.png  
  inflating: train_images/935_44.png  
  inflating: train_images/935_45.png  
  inflating: train_images/935_50.png  
  inflating: train_images/935_51.png  
  inflating: train_images/935_53.png  
  inflating: train_images/935_54.png  
  inflating: train_images/935_56.png  
  inflating: train_images/935_59.png  
  inflating: train_images/935_60.png  
  inflating: train_images/935_62.png  
  inflating: train_images/935_63.png  
  inflating: train_images/935_65.png  
  inflating: train_images/935_69.png  
  inflating: train_images/935_70.png  
  inflating: train_images/935_72.png  
  inflating: train_images/935_74.png  
  inflating: train_images/935_75.png  
  inflating: train_images/935_76.png  
  inflating: train_images/935_77.png  
  inflating: train_images/935_79.png  
  inflating: train_images/935_81.png  
  inflating: train_images/935_82.png  
  inflating: train_images/935_84.png  
  inflating: train_images/935_85.png  
  inflating: train_images/935_87.png  
  inflating: train_images/935_88.png  
  inflating: train_images/935_89.png  
  inflating: train_images/935_90.png  
  inflating: train_images/935_91.png  
  inflating: train_images/935_94.png  
  inflating: train_images/935_95.png  
  inflating: train_images/935_97.png  
  inflating: train_images/935_98.png  
  inflating: train_images/936_00.png  
  inflating: train_images/936_01.png  
  inflating: train_images/936_04.png  
  inflating: train_images/936_05.png  
  inflating: train_images/936_06.png  
  inflating: train_images/936_08.png  
  inflating: train_images/936_09.png  
  inflating: train_images/936_11.png  
  inflating: train_images/936_12.png  
  inflating: train_images/936_13.png  
  inflating: train_images/936_14.png  
  inflating: train_images/936_15.png  
  inflating: train_images/936_16.png  
  inflating: train_images/936_18.png  
  inflating: train_images/936_19.png  
  inflating: train_images/936_20.png  
  inflating: train_images/936_21.png  
  inflating: train_images/936_23.png  
  inflating: train_images/936_24.png  
  inflating: train_images/936_26.png  
  inflating: train_images/936_28.png  
  inflating: train_images/936_29.png  
  inflating: train_images/936_30.png  
  inflating: train_images/936_31.png  
  inflating: train_images/936_33.png  
  inflating: train_images/936_35.png  
  inflating: train_images/936_37.png  
  inflating: train_images/936_38.png  
  inflating: train_images/936_41.png  
  inflating: train_images/936_42.png  
  inflating: train_images/936_43.png  
  inflating: train_images/936_44.png  
  inflating: train_images/936_45.png  
  inflating: train_images/936_50.png  
  inflating: train_images/936_51.png  
  inflating: train_images/936_53.png  
  inflating: train_images/936_54.png  
  inflating: train_images/936_56.png  
  inflating: train_images/936_59.png  
  inflating: train_images/936_60.png  
  inflating: train_images/936_62.png  
  inflating: train_images/936_63.png  
  inflating: train_images/936_65.png  
  inflating: train_images/936_69.png  
  inflating: train_images/936_70.png  
  inflating: train_images/936_72.png  
  inflating: train_images/936_74.png  
  inflating: train_images/936_75.png  
  inflating: train_images/936_76.png  
  inflating: train_images/936_77.png  
  inflating: train_images/936_79.png  
  inflating: train_images/936_81.png  
  inflating: train_images/936_82.png  
  inflating: train_images/936_84.png  
  inflating: train_images/936_85.png  
  inflating: train_images/936_87.png  
  inflating: train_images/936_88.png  
  inflating: train_images/936_89.png  
  inflating: train_images/936_90.png  
  inflating: train_images/936_91.png  
  inflating: train_images/936_94.png  
  inflating: train_images/936_95.png  
  inflating: train_images/936_97.png  
  inflating: train_images/936_98.png  
  inflating: train_images/937_00.png  
  inflating: train_images/937_01.png  
  inflating: train_images/937_04.png  
  inflating: train_images/937_05.png  
  inflating: train_images/937_06.png  
  inflating: train_images/937_08.png  
  inflating: train_images/937_09.png  
  inflating: train_images/937_11.png  
  inflating: train_images/937_12.png  
  inflating: train_images/937_13.png  
  inflating: train_images/937_14.png  
  inflating: train_images/937_15.png  
  inflating: train_images/937_16.png  
  inflating: train_images/937_18.png  
  inflating: train_images/937_19.png  
  inflating: train_images/937_20.png  
  inflating: train_images/937_21.png  
  inflating: train_images/937_23.png  
  inflating: train_images/937_24.png  
  inflating: train_images/937_26.png  
  inflating: train_images/937_28.png  
  inflating: train_images/937_29.png  
  inflating: train_images/937_30.png  
  inflating: train_images/937_31.png  
  inflating: train_images/937_33.png  
  inflating: train_images/937_35.png  
  inflating: train_images/937_37.png  
  inflating: train_images/937_38.png  
  inflating: train_images/937_41.png  
  inflating: train_images/937_42.png  
  inflating: train_images/937_43.png  
  inflating: train_images/937_44.png  
  inflating: train_images/937_45.png  
  inflating: train_images/937_50.png  
  inflating: train_images/937_51.png  
  inflating: train_images/937_53.png  
  inflating: train_images/937_54.png  
  inflating: train_images/937_56.png  
  inflating: train_images/937_59.png  
  inflating: train_images/937_60.png  
  inflating: train_images/937_62.png  
  inflating: train_images/937_63.png  
  inflating: train_images/937_65.png  
  inflating: train_images/937_69.png  
  inflating: train_images/937_70.png  
  inflating: train_images/937_72.png  
  inflating: train_images/937_74.png  
  inflating: train_images/937_75.png  
  inflating: train_images/937_76.png  
  inflating: train_images/937_77.png  
  inflating: train_images/937_79.png  
  inflating: train_images/937_81.png  
  inflating: train_images/937_82.png  
  inflating: train_images/937_84.png  
  inflating: train_images/937_85.png  
  inflating: train_images/937_87.png  
  inflating: train_images/937_88.png  
  inflating: train_images/937_89.png  
  inflating: train_images/937_90.png  
  inflating: train_images/937_91.png  
  inflating: train_images/937_94.png  
  inflating: train_images/937_95.png  
  inflating: train_images/937_97.png  
  inflating: train_images/937_98.png  
  inflating: train_images/938_00.png  
  inflating: train_images/938_01.png  
  inflating: train_images/938_04.png  
  inflating: train_images/938_05.png  
  inflating: train_images/938_06.png  
  inflating: train_images/938_08.png  
  inflating: train_images/938_09.png  
  inflating: train_images/938_11.png  
  inflating: train_images/938_12.png  
  inflating: train_images/938_13.png  
  inflating: train_images/938_14.png  
  inflating: train_images/938_15.png  
  inflating: train_images/938_16.png  
  inflating: train_images/938_18.png  
  inflating: train_images/938_19.png  
  inflating: train_images/938_20.png  
  inflating: train_images/938_21.png  
  inflating: train_images/938_23.png  
  inflating: train_images/938_24.png  
  inflating: train_images/938_26.png  
  inflating: train_images/938_28.png  
  inflating: train_images/938_29.png  
  inflating: train_images/938_30.png  
  inflating: train_images/938_31.png  
  inflating: train_images/938_33.png  
  inflating: train_images/938_35.png  
  inflating: train_images/938_37.png  
  inflating: train_images/938_38.png  
  inflating: train_images/938_41.png  
  inflating: train_images/938_42.png  
  inflating: train_images/938_43.png  
  inflating: train_images/938_44.png  
  inflating: train_images/938_45.png  
  inflating: train_images/938_50.png  
  inflating: train_images/938_51.png  
  inflating: train_images/938_53.png  
  inflating: train_images/938_54.png  
  inflating: train_images/938_56.png  
  inflating: train_images/938_59.png  
  inflating: train_images/938_60.png  
  inflating: train_images/938_62.png  
  inflating: train_images/938_63.png  
  inflating: train_images/938_65.png  
  inflating: train_images/938_69.png  
  inflating: train_images/938_70.png  
  inflating: train_images/938_72.png  
  inflating: train_images/938_74.png  
  inflating: train_images/938_75.png  
  inflating: train_images/938_76.png  
  inflating: train_images/938_77.png  
  inflating: train_images/938_79.png  
  inflating: train_images/938_81.png  
  inflating: train_images/938_82.png  
  inflating: train_images/938_84.png  
  inflating: train_images/938_85.png  
  inflating: train_images/938_87.png  
  inflating: train_images/938_88.png  
  inflating: train_images/938_89.png  
  inflating: train_images/938_90.png  
  inflating: train_images/938_91.png  
  inflating: train_images/938_94.png  
  inflating: train_images/938_95.png  
  inflating: train_images/938_97.png  
  inflating: train_images/938_98.png  
  inflating: train_images/939_00.png  
  inflating: train_images/939_01.png  
  inflating: train_images/939_04.png  
  inflating: train_images/939_05.png  
  inflating: train_images/939_06.png  
  inflating: train_images/939_08.png  
  inflating: train_images/939_09.png  
  inflating: train_images/939_11.png  
  inflating: train_images/939_12.png  
  inflating: train_images/939_13.png  
  inflating: train_images/939_14.png  
  inflating: train_images/939_15.png  
  inflating: train_images/939_16.png  
  inflating: train_images/939_18.png  
  inflating: train_images/939_19.png  
  inflating: train_images/939_20.png  
  inflating: train_images/939_21.png  
  inflating: train_images/939_23.png  
  inflating: train_images/939_24.png  
  inflating: train_images/939_26.png  
  inflating: train_images/939_28.png  
  inflating: train_images/939_29.png  
  inflating: train_images/939_30.png  
  inflating: train_images/939_31.png  
  inflating: train_images/939_33.png  
  inflating: train_images/939_35.png  
  inflating: train_images/939_37.png  
  inflating: train_images/939_38.png  
  inflating: train_images/939_41.png  
  inflating: train_images/939_42.png  
  inflating: train_images/939_43.png  
  inflating: train_images/939_44.png  
  inflating: train_images/939_45.png  
  inflating: train_images/939_50.png  
  inflating: train_images/939_51.png  
  inflating: train_images/939_53.png  
  inflating: train_images/939_54.png  
  inflating: train_images/939_56.png  
  inflating: train_images/939_59.png  
  inflating: train_images/939_60.png  
  inflating: train_images/939_62.png  
  inflating: train_images/939_63.png  
  inflating: train_images/939_65.png  
  inflating: train_images/939_69.png  
  inflating: train_images/939_70.png  
  inflating: train_images/939_72.png  
  inflating: train_images/939_74.png  
  inflating: train_images/939_75.png  
  inflating: train_images/939_76.png  
  inflating: train_images/939_77.png  
  inflating: train_images/939_79.png  
  inflating: train_images/939_81.png  
  inflating: train_images/939_82.png  
  inflating: train_images/939_84.png  
  inflating: train_images/939_85.png  
  inflating: train_images/939_87.png  
  inflating: train_images/939_88.png  
  inflating: train_images/939_89.png  
  inflating: train_images/939_90.png  
  inflating: train_images/939_91.png  
  inflating: train_images/939_94.png  
  inflating: train_images/939_95.png  
  inflating: train_images/939_97.png  
  inflating: train_images/939_98.png  
  inflating: train_images/93_00.png  
  inflating: train_images/93_01.png  
  inflating: train_images/93_04.png  
  inflating: train_images/93_05.png  
  inflating: train_images/93_06.png  
  inflating: train_images/93_08.png  
  inflating: train_images/93_09.png  
  inflating: train_images/93_11.png  
  inflating: train_images/93_12.png  
  inflating: train_images/93_13.png  
  inflating: train_images/93_14.png  
  inflating: train_images/93_15.png  
  inflating: train_images/93_16.png  
  inflating: train_images/93_18.png  
  inflating: train_images/93_19.png  
  inflating: train_images/93_20.png  
  inflating: train_images/93_21.png  
  inflating: train_images/93_23.png  
  inflating: train_images/93_24.png  
  inflating: train_images/93_26.png  
  inflating: train_images/93_28.png  
  inflating: train_images/93_29.png  
  inflating: train_images/93_30.png  
  inflating: train_images/93_31.png  
  inflating: train_images/93_33.png  
  inflating: train_images/93_35.png  
  inflating: train_images/93_37.png  
  inflating: train_images/93_38.png  
  inflating: train_images/93_41.png  
  inflating: train_images/93_42.png  
  inflating: train_images/93_43.png  
  inflating: train_images/93_44.png  
  inflating: train_images/93_45.png  
  inflating: train_images/93_50.png  
  inflating: train_images/93_51.png  
  inflating: train_images/93_53.png  
  inflating: train_images/93_54.png  
  inflating: train_images/93_56.png  
  inflating: train_images/93_59.png  
  inflating: train_images/93_60.png  
  inflating: train_images/93_62.png  
  inflating: train_images/93_63.png  
  inflating: train_images/93_65.png  
  inflating: train_images/93_69.png  
  inflating: train_images/93_70.png  
  inflating: train_images/93_72.png  
  inflating: train_images/93_74.png  
  inflating: train_images/93_75.png  
  inflating: train_images/93_76.png  
  inflating: train_images/93_77.png  
  inflating: train_images/93_79.png  
  inflating: train_images/93_81.png  
  inflating: train_images/93_82.png  
  inflating: train_images/93_84.png  
  inflating: train_images/93_85.png  
  inflating: train_images/93_87.png  
  inflating: train_images/93_88.png  
  inflating: train_images/93_89.png  
  inflating: train_images/93_90.png  
  inflating: train_images/93_91.png  
  inflating: train_images/93_94.png  
  inflating: train_images/93_95.png  
  inflating: train_images/93_97.png  
  inflating: train_images/93_98.png  
  inflating: train_images/940_00.png  
  inflating: train_images/940_01.png  
  inflating: train_images/940_04.png  
  inflating: train_images/940_05.png  
  inflating: train_images/940_06.png  
  inflating: train_images/940_08.png  
  inflating: train_images/940_09.png  
  inflating: train_images/940_11.png  
  inflating: train_images/940_12.png  
  inflating: train_images/940_13.png  
  inflating: train_images/940_14.png  
  inflating: train_images/940_15.png  
  inflating: train_images/940_16.png  
  inflating: train_images/940_18.png  
  inflating: train_images/940_19.png  
  inflating: train_images/940_20.png  
  inflating: train_images/940_21.png  
  inflating: train_images/940_23.png  
  inflating: train_images/940_24.png  
  inflating: train_images/940_26.png  
  inflating: train_images/940_28.png  
  inflating: train_images/940_29.png  
  inflating: train_images/940_30.png  
  inflating: train_images/940_31.png  
  inflating: train_images/940_33.png  
  inflating: train_images/940_35.png  
  inflating: train_images/940_37.png  
  inflating: train_images/940_38.png  
  inflating: train_images/940_41.png  
  inflating: train_images/940_42.png  
  inflating: train_images/940_43.png  
  inflating: train_images/940_44.png  
  inflating: train_images/940_45.png  
  inflating: train_images/940_50.png  
  inflating: train_images/940_51.png  
  inflating: train_images/940_53.png  
  inflating: train_images/940_54.png  
  inflating: train_images/940_56.png  
  inflating: train_images/940_59.png  
  inflating: train_images/940_60.png  
  inflating: train_images/940_62.png  
  inflating: train_images/940_63.png  
  inflating: train_images/940_65.png  
  inflating: train_images/940_69.png  
  inflating: train_images/940_70.png  
  inflating: train_images/940_72.png  
  inflating: train_images/940_74.png  
  inflating: train_images/940_75.png  
  inflating: train_images/940_76.png  
  inflating: train_images/940_77.png  
  inflating: train_images/940_79.png  
  inflating: train_images/940_81.png  
  inflating: train_images/940_82.png  
  inflating: train_images/940_84.png  
  inflating: train_images/940_85.png  
  inflating: train_images/940_87.png  
  inflating: train_images/940_88.png  
  inflating: train_images/940_89.png  
  inflating: train_images/940_90.png  
  inflating: train_images/940_91.png  
  inflating: train_images/940_94.png  
  inflating: train_images/940_95.png  
  inflating: train_images/940_97.png  
  inflating: train_images/940_98.png  
  inflating: train_images/941_00.png  
  inflating: train_images/941_01.png  
  inflating: train_images/941_04.png  
  inflating: train_images/941_05.png  
  inflating: train_images/941_06.png  
  inflating: train_images/941_08.png  
  inflating: train_images/941_09.png  
  inflating: train_images/941_11.png  
  inflating: train_images/941_12.png  
  inflating: train_images/941_13.png  
  inflating: train_images/941_14.png  
  inflating: train_images/941_15.png  
  inflating: train_images/941_16.png  
  inflating: train_images/941_18.png  
  inflating: train_images/941_19.png  
  inflating: train_images/941_20.png  
  inflating: train_images/941_21.png  
  inflating: train_images/941_23.png  
  inflating: train_images/941_24.png  
  inflating: train_images/941_26.png  
  inflating: train_images/941_28.png  
  inflating: train_images/941_29.png  
  inflating: train_images/941_30.png  
  inflating: train_images/941_31.png  
  inflating: train_images/941_33.png  
  inflating: train_images/941_35.png  
  inflating: train_images/941_37.png  
  inflating: train_images/941_38.png  
  inflating: train_images/941_41.png  
  inflating: train_images/941_42.png  
  inflating: train_images/941_43.png  
  inflating: train_images/941_44.png  
  inflating: train_images/941_45.png  
  inflating: train_images/941_50.png  
  inflating: train_images/941_51.png  
  inflating: train_images/941_53.png  
  inflating: train_images/941_54.png  
  inflating: train_images/941_56.png  
  inflating: train_images/941_59.png  
  inflating: train_images/941_60.png  
  inflating: train_images/941_62.png  
  inflating: train_images/941_63.png  
  inflating: train_images/941_65.png  
  inflating: train_images/941_69.png  
  inflating: train_images/941_70.png  
  inflating: train_images/941_72.png  
  inflating: train_images/941_74.png  
  inflating: train_images/941_75.png  
  inflating: train_images/941_76.png  
  inflating: train_images/941_77.png  
  inflating: train_images/941_79.png  
  inflating: train_images/941_81.png  
  inflating: train_images/941_82.png  
  inflating: train_images/941_84.png  
  inflating: train_images/941_85.png  
  inflating: train_images/941_87.png  
  inflating: train_images/941_88.png  
  inflating: train_images/941_89.png  
  inflating: train_images/941_90.png  
  inflating: train_images/941_91.png  
  inflating: train_images/941_94.png  
  inflating: train_images/941_95.png  
  inflating: train_images/941_97.png  
  inflating: train_images/941_98.png  
  inflating: train_images/942_00.png  
  inflating: train_images/942_01.png  
  inflating: train_images/942_04.png  
  inflating: train_images/942_05.png  
  inflating: train_images/942_06.png  
  inflating: train_images/942_08.png  
  inflating: train_images/942_09.png  
  inflating: train_images/942_11.png  
  inflating: train_images/942_12.png  
  inflating: train_images/942_13.png  
  inflating: train_images/942_14.png  
  inflating: train_images/942_15.png  
  inflating: train_images/942_16.png  
  inflating: train_images/942_18.png  
  inflating: train_images/942_19.png  
  inflating: train_images/942_20.png  
  inflating: train_images/942_21.png  
  inflating: train_images/942_23.png  
  inflating: train_images/942_24.png  
  inflating: train_images/942_26.png  
  inflating: train_images/942_28.png  
  inflating: train_images/942_29.png  
  inflating: train_images/942_30.png  
  inflating: train_images/942_31.png  
  inflating: train_images/942_33.png  
  inflating: train_images/942_35.png  
  inflating: train_images/942_37.png  
  inflating: train_images/942_38.png  
  inflating: train_images/942_41.png  
  inflating: train_images/942_42.png  
  inflating: train_images/942_43.png  
  inflating: train_images/942_44.png  
  inflating: train_images/942_45.png  
  inflating: train_images/942_50.png  
  inflating: train_images/942_51.png  
  inflating: train_images/942_53.png  
  inflating: train_images/942_54.png  
  inflating: train_images/942_56.png  
  inflating: train_images/942_59.png  
  inflating: train_images/942_60.png  
  inflating: train_images/942_62.png  
  inflating: train_images/942_63.png  
  inflating: train_images/942_65.png  
  inflating: train_images/942_69.png  
  inflating: train_images/942_70.png  
  inflating: train_images/942_72.png  
  inflating: train_images/942_74.png  
  inflating: train_images/942_75.png  
  inflating: train_images/942_76.png  
  inflating: train_images/942_77.png  
  inflating: train_images/942_79.png  
  inflating: train_images/942_81.png  
  inflating: train_images/942_82.png  
  inflating: train_images/942_84.png  
  inflating: train_images/942_85.png  
  inflating: train_images/942_87.png  
  inflating: train_images/942_88.png  
  inflating: train_images/942_89.png  
  inflating: train_images/942_90.png  
  inflating: train_images/942_91.png  
  inflating: train_images/942_94.png  
  inflating: train_images/942_95.png  
  inflating: train_images/942_97.png  
  inflating: train_images/942_98.png  
  inflating: train_images/943_00.png  
  inflating: train_images/943_01.png  
  inflating: train_images/943_04.png  
  inflating: train_images/943_05.png  
  inflating: train_images/943_06.png  
  inflating: train_images/943_08.png  
  inflating: train_images/943_09.png  
  inflating: train_images/943_11.png  
  inflating: train_images/943_12.png  
  inflating: train_images/943_13.png  
  inflating: train_images/943_14.png  
  inflating: train_images/943_15.png  
  inflating: train_images/943_16.png  
  inflating: train_images/943_18.png  
  inflating: train_images/943_19.png  
  inflating: train_images/943_20.png  
  inflating: train_images/943_21.png  
  inflating: train_images/943_23.png  
  inflating: train_images/943_24.png  
  inflating: train_images/943_26.png  
  inflating: train_images/943_28.png  
  inflating: train_images/943_29.png  
  inflating: train_images/943_30.png  
  inflating: train_images/943_31.png  
  inflating: train_images/943_33.png  
  inflating: train_images/943_35.png  
  inflating: train_images/943_37.png  
  inflating: train_images/943_38.png  
  inflating: train_images/943_41.png  
  inflating: train_images/943_42.png  
  inflating: train_images/943_43.png  
  inflating: train_images/943_44.png  
  inflating: train_images/943_45.png  
  inflating: train_images/943_50.png  
  inflating: train_images/943_51.png  
  inflating: train_images/943_53.png  
  inflating: train_images/943_54.png  
  inflating: train_images/943_56.png  
  inflating: train_images/943_59.png  
  inflating: train_images/943_60.png  
  inflating: train_images/943_62.png  
  inflating: train_images/943_63.png  
  inflating: train_images/943_65.png  
  inflating: train_images/943_69.png  
  inflating: train_images/943_70.png  
  inflating: train_images/943_72.png  
  inflating: train_images/943_74.png  
  inflating: train_images/943_75.png  
  inflating: train_images/943_76.png  
  inflating: train_images/943_77.png  
  inflating: train_images/943_79.png  
  inflating: train_images/943_81.png  
  inflating: train_images/943_82.png  
  inflating: train_images/943_84.png  
  inflating: train_images/943_85.png  
  inflating: train_images/943_87.png  
  inflating: train_images/943_88.png  
  inflating: train_images/943_89.png  
  inflating: train_images/943_90.png  
  inflating: train_images/943_91.png  
  inflating: train_images/943_94.png  
  inflating: train_images/943_95.png  
  inflating: train_images/943_97.png  
  inflating: train_images/943_98.png  
  inflating: train_images/944_00.png  
  inflating: train_images/944_01.png  
  inflating: train_images/944_04.png  
  inflating: train_images/944_05.png  
  inflating: train_images/944_06.png  
  inflating: train_images/944_08.png  
  inflating: train_images/944_09.png  
  inflating: train_images/944_11.png  
  inflating: train_images/944_12.png  
  inflating: train_images/944_13.png  
  inflating: train_images/944_14.png  
  inflating: train_images/944_15.png  
  inflating: train_images/944_16.png  
  inflating: train_images/944_18.png  
  inflating: train_images/944_19.png  
  inflating: train_images/944_20.png  
  inflating: train_images/944_21.png  
  inflating: train_images/944_23.png  
  inflating: train_images/944_24.png  
  inflating: train_images/944_26.png  
  inflating: train_images/944_28.png  
  inflating: train_images/944_29.png  
  inflating: train_images/944_30.png  
  inflating: train_images/944_31.png  
  inflating: train_images/944_33.png  
  inflating: train_images/944_35.png  
  inflating: train_images/944_37.png  
  inflating: train_images/944_38.png  
  inflating: train_images/944_41.png  
  inflating: train_images/944_42.png  
  inflating: train_images/944_43.png  
  inflating: train_images/944_44.png  
  inflating: train_images/944_45.png  
  inflating: train_images/944_50.png  
  inflating: train_images/944_51.png  
  inflating: train_images/944_53.png  
  inflating: train_images/944_54.png  
  inflating: train_images/944_56.png  
  inflating: train_images/944_59.png  
  inflating: train_images/944_60.png  
  inflating: train_images/944_62.png  
  inflating: train_images/944_63.png  
  inflating: train_images/944_65.png  
  inflating: train_images/944_69.png  
  inflating: train_images/944_70.png  
  inflating: train_images/944_72.png  
  inflating: train_images/944_74.png  
  inflating: train_images/944_75.png  
  inflating: train_images/944_76.png  
  inflating: train_images/944_77.png  
  inflating: train_images/944_79.png  
  inflating: train_images/944_81.png  
  inflating: train_images/944_82.png  
  inflating: train_images/944_84.png  
  inflating: train_images/944_85.png  
  inflating: train_images/944_87.png  
  inflating: train_images/944_88.png  
  inflating: train_images/944_89.png  
  inflating: train_images/944_90.png  
  inflating: train_images/944_91.png  
  inflating: train_images/944_94.png  
  inflating: train_images/944_95.png  
  inflating: train_images/944_97.png  
  inflating: train_images/944_98.png  
  inflating: train_images/945_00.png  
  inflating: train_images/945_01.png  
  inflating: train_images/945_04.png  
  inflating: train_images/945_05.png  
  inflating: train_images/945_06.png  
  inflating: train_images/945_08.png  
  inflating: train_images/945_09.png  
  inflating: train_images/945_11.png  
  inflating: train_images/945_12.png  
  inflating: train_images/945_13.png  
  inflating: train_images/945_14.png  
  inflating: train_images/945_15.png  
  inflating: train_images/945_16.png  
  inflating: train_images/945_18.png  
  inflating: train_images/945_19.png  
  inflating: train_images/945_20.png  
  inflating: train_images/945_21.png  
  inflating: train_images/945_23.png  
  inflating: train_images/945_24.png  
  inflating: train_images/945_26.png  
  inflating: train_images/945_28.png  
  inflating: train_images/945_29.png  
  inflating: train_images/945_30.png  
  inflating: train_images/945_31.png  
  inflating: train_images/945_33.png  
  inflating: train_images/945_35.png  
  inflating: train_images/945_37.png  
  inflating: train_images/945_38.png  
  inflating: train_images/945_41.png  
  inflating: train_images/945_42.png  
  inflating: train_images/945_43.png  
  inflating: train_images/945_44.png  
  inflating: train_images/945_45.png  
  inflating: train_images/945_50.png  
  inflating: train_images/945_51.png  
  inflating: train_images/945_53.png  
  inflating: train_images/945_54.png  
  inflating: train_images/945_56.png  
  inflating: train_images/945_59.png  
  inflating: train_images/945_60.png  
  inflating: train_images/945_62.png  
  inflating: train_images/945_63.png  
  inflating: train_images/945_65.png  
  inflating: train_images/945_69.png  
  inflating: train_images/945_70.png  
  inflating: train_images/945_72.png  
  inflating: train_images/945_74.png  
  inflating: train_images/945_75.png  
  inflating: train_images/945_76.png  
  inflating: train_images/945_77.png  
  inflating: train_images/945_79.png  
  inflating: train_images/945_81.png  
  inflating: train_images/945_82.png  
  inflating: train_images/945_84.png  
  inflating: train_images/945_85.png  
  inflating: train_images/945_87.png  
  inflating: train_images/945_88.png  
  inflating: train_images/945_89.png  
  inflating: train_images/945_90.png  
  inflating: train_images/945_91.png  
  inflating: train_images/945_94.png  
  inflating: train_images/945_95.png  
  inflating: train_images/945_97.png  
  inflating: train_images/945_98.png  
  inflating: train_images/946_00.png  
  inflating: train_images/946_01.png  
  inflating: train_images/946_04.png  
  inflating: train_images/946_05.png  
  inflating: train_images/946_06.png  
  inflating: train_images/946_08.png  
  inflating: train_images/946_09.png  
  inflating: train_images/946_11.png  
  inflating: train_images/946_12.png  
  inflating: train_images/946_13.png  
  inflating: train_images/946_14.png  
  inflating: train_images/946_15.png  
  inflating: train_images/946_16.png  
  inflating: train_images/946_18.png  
  inflating: train_images/946_19.png  
  inflating: train_images/946_20.png  
  inflating: train_images/946_21.png  
  inflating: train_images/946_23.png  
  inflating: train_images/946_24.png  
  inflating: train_images/946_26.png  
  inflating: train_images/946_28.png  
  inflating: train_images/946_29.png  
  inflating: train_images/946_30.png  
  inflating: train_images/946_31.png  
  inflating: train_images/946_33.png  
  inflating: train_images/946_35.png  
  inflating: train_images/946_37.png  
  inflating: train_images/946_38.png  
  inflating: train_images/946_41.png  
  inflating: train_images/946_42.png  
  inflating: train_images/946_43.png  
  inflating: train_images/946_44.png  
  inflating: train_images/946_45.png  
  inflating: train_images/946_50.png  
  inflating: train_images/946_51.png  
  inflating: train_images/946_53.png  
  inflating: train_images/946_54.png  
  inflating: train_images/946_56.png  
  inflating: train_images/946_59.png  
  inflating: train_images/946_60.png  
  inflating: train_images/946_62.png  
  inflating: train_images/946_63.png  
  inflating: train_images/946_65.png  
  inflating: train_images/946_69.png  
  inflating: train_images/946_70.png  
  inflating: train_images/946_72.png  
  inflating: train_images/946_74.png  
  inflating: train_images/946_75.png  
  inflating: train_images/946_76.png  
  inflating: train_images/946_77.png  
  inflating: train_images/946_79.png  
  inflating: train_images/946_81.png  
  inflating: train_images/946_82.png  
  inflating: train_images/946_84.png  
  inflating: train_images/946_85.png  
  inflating: train_images/946_87.png  
  inflating: train_images/946_88.png  
  inflating: train_images/946_89.png  
  inflating: train_images/946_90.png  
  inflating: train_images/946_91.png  
  inflating: train_images/946_94.png  
  inflating: train_images/946_95.png  
  inflating: train_images/946_97.png  
  inflating: train_images/946_98.png  
  inflating: train_images/947_00.png  
  inflating: train_images/947_01.png  
  inflating: train_images/947_04.png  
  inflating: train_images/947_05.png  
  inflating: train_images/947_06.png  
  inflating: train_images/947_08.png  
  inflating: train_images/947_09.png  
  inflating: train_images/947_11.png  
  inflating: train_images/947_12.png  
  inflating: train_images/947_13.png  
  inflating: train_images/947_14.png  
  inflating: train_images/947_15.png  
  inflating: train_images/947_16.png  
  inflating: train_images/947_18.png  
  inflating: train_images/947_19.png  
  inflating: train_images/947_20.png  
  inflating: train_images/947_21.png  
  inflating: train_images/947_23.png  
  inflating: train_images/947_24.png  
  inflating: train_images/947_26.png  
  inflating: train_images/947_28.png  
  inflating: train_images/947_29.png  
  inflating: train_images/947_30.png  
  inflating: train_images/947_31.png  
  inflating: train_images/947_33.png  
  inflating: train_images/947_35.png  
  inflating: train_images/947_37.png  
  inflating: train_images/947_38.png  
  inflating: train_images/947_41.png  
  inflating: train_images/947_42.png  
  inflating: train_images/947_43.png  
  inflating: train_images/947_44.png  
  inflating: train_images/947_45.png  
  inflating: train_images/947_50.png  
  inflating: train_images/947_51.png  
  inflating: train_images/947_53.png  
  inflating: train_images/947_54.png  
  inflating: train_images/947_56.png  
  inflating: train_images/947_59.png  
  inflating: train_images/947_60.png  
  inflating: train_images/947_62.png  
  inflating: train_images/947_63.png  
  inflating: train_images/947_65.png  
  inflating: train_images/947_69.png  
  inflating: train_images/947_70.png  
  inflating: train_images/947_72.png  
  inflating: train_images/947_74.png  
  inflating: train_images/947_75.png  
  inflating: train_images/947_76.png  
  inflating: train_images/947_77.png  
  inflating: train_images/947_79.png  
  inflating: train_images/947_81.png  
  inflating: train_images/947_82.png  
  inflating: train_images/947_84.png  
  inflating: train_images/947_85.png  
  inflating: train_images/947_87.png  
  inflating: train_images/947_88.png  
  inflating: train_images/947_89.png  
  inflating: train_images/947_90.png  
  inflating: train_images/947_91.png  
  inflating: train_images/947_94.png  
  inflating: train_images/947_95.png  
  inflating: train_images/947_97.png  
  inflating: train_images/947_98.png  
  inflating: train_images/948_00.png  
  inflating: train_images/948_01.png  
  inflating: train_images/948_04.png  
  inflating: train_images/948_05.png  
  inflating: train_images/948_06.png  
  inflating: train_images/948_08.png  
  inflating: train_images/948_09.png  
  inflating: train_images/948_11.png  
  inflating: train_images/948_12.png  
  inflating: train_images/948_13.png  
  inflating: train_images/948_14.png  
  inflating: train_images/948_15.png  
  inflating: train_images/948_16.png  
  inflating: train_images/948_18.png  
  inflating: train_images/948_19.png  
  inflating: train_images/948_20.png  
  inflating: train_images/948_21.png  
  inflating: train_images/948_23.png  
  inflating: train_images/948_24.png  
  inflating: train_images/948_26.png  
  inflating: train_images/948_28.png  
  inflating: train_images/948_29.png  
  inflating: train_images/948_30.png  
  inflating: train_images/948_31.png  
  inflating: train_images/948_33.png  
  inflating: train_images/948_35.png  
  inflating: train_images/948_37.png  
  inflating: train_images/948_38.png  
  inflating: train_images/948_41.png  
  inflating: train_images/948_42.png  
  inflating: train_images/948_43.png  
  inflating: train_images/948_44.png  
  inflating: train_images/948_45.png  
  inflating: train_images/948_50.png  
  inflating: train_images/948_51.png  
  inflating: train_images/948_53.png  
  inflating: train_images/948_54.png  
  inflating: train_images/948_56.png  
  inflating: train_images/948_59.png  
  inflating: train_images/948_60.png  
  inflating: train_images/948_62.png  
  inflating: train_images/948_63.png  
  inflating: train_images/948_65.png  
  inflating: train_images/948_69.png  
  inflating: train_images/948_70.png  
  inflating: train_images/948_72.png  
  inflating: train_images/948_74.png  
  inflating: train_images/948_75.png  
  inflating: train_images/948_76.png  
  inflating: train_images/948_77.png  
  inflating: train_images/948_79.png  
  inflating: train_images/948_81.png  
  inflating: train_images/948_82.png  
  inflating: train_images/948_84.png  
  inflating: train_images/948_85.png  
  inflating: train_images/948_87.png  
  inflating: train_images/948_88.png  
  inflating: train_images/948_89.png  
  inflating: train_images/948_90.png  
  inflating: train_images/948_91.png  
  inflating: train_images/948_94.png  
  inflating: train_images/948_95.png  
  inflating: train_images/948_97.png  
  inflating: train_images/948_98.png  
  inflating: train_images/949_00.png  
  inflating: train_images/949_01.png  
  inflating: train_images/949_04.png  
  inflating: train_images/949_05.png  
  inflating: train_images/949_06.png  
  inflating: train_images/949_08.png  
  inflating: train_images/949_09.png  
  inflating: train_images/949_11.png  
  inflating: train_images/949_12.png  
  inflating: train_images/949_13.png  
  inflating: train_images/949_14.png  
  inflating: train_images/949_15.png  
  inflating: train_images/949_16.png  
  inflating: train_images/949_18.png  
  inflating: train_images/949_19.png  
  inflating: train_images/949_20.png  
  inflating: train_images/949_21.png  
  inflating: train_images/949_23.png  
  inflating: train_images/949_24.png  
  inflating: train_images/949_26.png  
  inflating: train_images/949_28.png  
  inflating: train_images/949_29.png  
  inflating: train_images/949_30.png  
  inflating: train_images/949_31.png  
  inflating: train_images/949_33.png  
  inflating: train_images/949_35.png  
  inflating: train_images/949_37.png  
  inflating: train_images/949_38.png  
  inflating: train_images/949_41.png  
  inflating: train_images/949_42.png  
  inflating: train_images/949_43.png  
  inflating: train_images/949_44.png  
  inflating: train_images/949_45.png  
  inflating: train_images/949_50.png  
  inflating: train_images/949_51.png  
  inflating: train_images/949_53.png  
  inflating: train_images/949_54.png  
  inflating: train_images/949_56.png  
  inflating: train_images/949_59.png  
  inflating: train_images/949_60.png  
  inflating: train_images/949_62.png  
  inflating: train_images/949_63.png  
  inflating: train_images/949_65.png  
  inflating: train_images/949_69.png  
  inflating: train_images/949_70.png  
  inflating: train_images/949_72.png  
  inflating: train_images/949_74.png  
  inflating: train_images/949_75.png  
  inflating: train_images/949_76.png  
  inflating: train_images/949_77.png  
  inflating: train_images/949_79.png  
  inflating: train_images/949_81.png  
  inflating: train_images/949_82.png  
  inflating: train_images/949_84.png  
  inflating: train_images/949_85.png  
  inflating: train_images/949_87.png  
  inflating: train_images/949_88.png  
  inflating: train_images/949_89.png  
  inflating: train_images/949_90.png  
  inflating: train_images/949_91.png  
  inflating: train_images/949_94.png  
  inflating: train_images/949_95.png  
  inflating: train_images/949_97.png  
  inflating: train_images/949_98.png  
  inflating: train_images/94_00.png  
  inflating: train_images/94_01.png  
  inflating: train_images/94_04.png  
  inflating: train_images/94_05.png  
  inflating: train_images/94_06.png  
  inflating: train_images/94_08.png  
  inflating: train_images/94_09.png  
  inflating: train_images/94_11.png  
  inflating: train_images/94_12.png  
  inflating: train_images/94_13.png  
  inflating: train_images/94_14.png  
  inflating: train_images/94_15.png  
  inflating: train_images/94_16.png  
  inflating: train_images/94_18.png  
  inflating: train_images/94_19.png  
  inflating: train_images/94_20.png  
  inflating: train_images/94_21.png  
  inflating: train_images/94_23.png  
  inflating: train_images/94_24.png  
  inflating: train_images/94_26.png  
  inflating: train_images/94_28.png  
  inflating: train_images/94_29.png  
  inflating: train_images/94_30.png  
  inflating: train_images/94_31.png  
  inflating: train_images/94_33.png  
  inflating: train_images/94_35.png  
  inflating: train_images/94_37.png  
  inflating: train_images/94_38.png  
  inflating: train_images/94_41.png  
  inflating: train_images/94_42.png  
  inflating: train_images/94_43.png  
  inflating: train_images/94_44.png  
  inflating: train_images/94_45.png  
  inflating: train_images/94_50.png  
  inflating: train_images/94_51.png  
  inflating: train_images/94_53.png  
  inflating: train_images/94_54.png  
  inflating: train_images/94_56.png  
  inflating: train_images/94_59.png  
  inflating: train_images/94_60.png  
  inflating: train_images/94_62.png  
  inflating: train_images/94_63.png  
  inflating: train_images/94_65.png  
  inflating: train_images/94_69.png  
  inflating: train_images/94_70.png  
  inflating: train_images/94_72.png  
  inflating: train_images/94_74.png  
  inflating: train_images/94_75.png  
  inflating: train_images/94_76.png  
  inflating: train_images/94_77.png  
  inflating: train_images/94_79.png  
  inflating: train_images/94_81.png  
  inflating: train_images/94_82.png  
  inflating: train_images/94_84.png  
  inflating: train_images/94_85.png  
  inflating: train_images/94_87.png  
  inflating: train_images/94_88.png  
  inflating: train_images/94_89.png  
  inflating: train_images/94_90.png  
  inflating: train_images/94_91.png  
  inflating: train_images/94_94.png  
  inflating: train_images/94_95.png  
  inflating: train_images/94_97.png  
  inflating: train_images/94_98.png  
  inflating: train_images/950_00.png  
  inflating: train_images/950_01.png  
  inflating: train_images/950_04.png  
  inflating: train_images/950_05.png  
  inflating: train_images/950_06.png  
  inflating: train_images/950_08.png  
  inflating: train_images/950_09.png  
  inflating: train_images/950_11.png  
  inflating: train_images/950_12.png  
  inflating: train_images/950_13.png  
  inflating: train_images/950_14.png  
  inflating: train_images/950_15.png  
  inflating: train_images/950_16.png  
  inflating: train_images/950_18.png  
  inflating: train_images/950_19.png  
  inflating: train_images/950_20.png  
  inflating: train_images/950_21.png  
  inflating: train_images/950_23.png  
  inflating: train_images/950_24.png  
  inflating: train_images/950_26.png  
  inflating: train_images/950_28.png  
  inflating: train_images/950_29.png  
  inflating: train_images/950_30.png  
  inflating: train_images/950_31.png  
  inflating: train_images/950_33.png  
  inflating: train_images/950_35.png  
  inflating: train_images/950_37.png  
  inflating: train_images/950_38.png  
  inflating: train_images/950_41.png  
  inflating: train_images/950_42.png  
  inflating: train_images/950_43.png  
  inflating: train_images/950_44.png  
  inflating: train_images/950_45.png  
  inflating: train_images/950_50.png  
  inflating: train_images/950_51.png  
  inflating: train_images/950_53.png  
  inflating: train_images/950_54.png  
  inflating: train_images/950_56.png  
  inflating: train_images/950_59.png  
  inflating: train_images/950_60.png  
  inflating: train_images/950_62.png  
  inflating: train_images/950_63.png  
  inflating: train_images/950_65.png  
  inflating: train_images/950_69.png  
  inflating: train_images/950_70.png  
  inflating: train_images/950_72.png  
  inflating: train_images/950_74.png  
  inflating: train_images/950_75.png  
  inflating: train_images/950_76.png  
  inflating: train_images/950_77.png  
  inflating: train_images/950_79.png  
  inflating: train_images/950_81.png  
  inflating: train_images/950_82.png  
  inflating: train_images/950_84.png  
  inflating: train_images/950_85.png  
  inflating: train_images/950_87.png  
  inflating: train_images/950_88.png  
  inflating: train_images/950_89.png  
  inflating: train_images/950_90.png  
  inflating: train_images/950_91.png  
  inflating: train_images/950_94.png  
  inflating: train_images/950_95.png  
  inflating: train_images/950_97.png  
  inflating: train_images/950_98.png  
  inflating: train_images/951_00.png  
  inflating: train_images/951_01.png  
  inflating: train_images/951_04.png  
  inflating: train_images/951_05.png  
  inflating: train_images/951_06.png  
  inflating: train_images/951_08.png  
  inflating: train_images/951_09.png  
  inflating: train_images/951_11.png  
  inflating: train_images/951_12.png  
  inflating: train_images/951_13.png  
  inflating: train_images/951_14.png  
  inflating: train_images/951_15.png  
  inflating: train_images/951_16.png  
  inflating: train_images/951_18.png  
  inflating: train_images/951_19.png  
  inflating: train_images/951_20.png  
  inflating: train_images/951_21.png  
  inflating: train_images/951_23.png  
  inflating: train_images/951_24.png  
  inflating: train_images/951_26.png  
  inflating: train_images/951_28.png  
  inflating: train_images/951_29.png  
  inflating: train_images/951_30.png  
  inflating: train_images/951_31.png  
  inflating: train_images/951_33.png  
  inflating: train_images/951_35.png  
  inflating: train_images/951_37.png  
  inflating: train_images/951_38.png  
  inflating: train_images/951_41.png  
  inflating: train_images/951_42.png  
  inflating: train_images/951_43.png  
  inflating: train_images/951_44.png  
  inflating: train_images/951_45.png  
  inflating: train_images/951_50.png  
  inflating: train_images/951_51.png  
  inflating: train_images/951_53.png  
  inflating: train_images/951_54.png  
  inflating: train_images/951_56.png  
  inflating: train_images/951_59.png  
  inflating: train_images/951_60.png  
  inflating: train_images/951_62.png  
  inflating: train_images/951_63.png  
  inflating: train_images/951_65.png  
  inflating: train_images/951_69.png  
  inflating: train_images/951_70.png  
  inflating: train_images/951_72.png  
  inflating: train_images/951_74.png  
  inflating: train_images/951_75.png  
  inflating: train_images/951_76.png  
  inflating: train_images/951_77.png  
  inflating: train_images/951_79.png  
  inflating: train_images/951_81.png  
  inflating: train_images/951_82.png  
  inflating: train_images/951_84.png  
  inflating: train_images/951_85.png  
  inflating: train_images/951_87.png  
  inflating: train_images/951_88.png  
  inflating: train_images/951_89.png  
  inflating: train_images/951_90.png  
  inflating: train_images/951_91.png  
  inflating: train_images/951_94.png  
  inflating: train_images/951_95.png  
  inflating: train_images/951_97.png  
  inflating: train_images/951_98.png  
  inflating: train_images/952_00.png  
  inflating: train_images/952_01.png  
  inflating: train_images/952_04.png  
  inflating: train_images/952_05.png  
  inflating: train_images/952_06.png  
  inflating: train_images/952_08.png  
  inflating: train_images/952_09.png  
  inflating: train_images/952_11.png  
  inflating: train_images/952_12.png  
  inflating: train_images/952_13.png  
  inflating: train_images/952_14.png  
  inflating: train_images/952_15.png  
  inflating: train_images/952_16.png  
  inflating: train_images/952_18.png  
  inflating: train_images/952_19.png  
  inflating: train_images/952_20.png  
  inflating: train_images/952_21.png  
  inflating: train_images/952_23.png  
  inflating: train_images/952_24.png  
  inflating: train_images/952_26.png  
  inflating: train_images/952_28.png  
  inflating: train_images/952_29.png  
  inflating: train_images/952_30.png  
  inflating: train_images/952_31.png  
  inflating: train_images/952_33.png  
  inflating: train_images/952_35.png  
  inflating: train_images/952_37.png  
  inflating: train_images/952_38.png  
  inflating: train_images/952_41.png  
  inflating: train_images/952_42.png  
  inflating: train_images/952_43.png  
  inflating: train_images/952_44.png  
  inflating: train_images/952_45.png  
  inflating: train_images/952_50.png  
  inflating: train_images/952_51.png  
  inflating: train_images/952_53.png  
  inflating: train_images/952_54.png  
  inflating: train_images/952_56.png  
  inflating: train_images/952_59.png  
  inflating: train_images/952_60.png  
  inflating: train_images/952_62.png  
  inflating: train_images/952_63.png  
  inflating: train_images/952_65.png  
  inflating: train_images/952_69.png  
  inflating: train_images/952_70.png  
  inflating: train_images/952_72.png  
  inflating: train_images/952_74.png  
  inflating: train_images/952_75.png  
  inflating: train_images/952_76.png  
  inflating: train_images/952_77.png  
  inflating: train_images/952_79.png  
  inflating: train_images/952_81.png  
  inflating: train_images/952_82.png  
  inflating: train_images/952_84.png  
  inflating: train_images/952_85.png  
  inflating: train_images/952_87.png  
  inflating: train_images/952_88.png  
  inflating: train_images/952_89.png  
  inflating: train_images/952_90.png  
  inflating: train_images/952_91.png  
  inflating: train_images/952_94.png  
  inflating: train_images/952_95.png  
  inflating: train_images/952_97.png  
  inflating: train_images/952_98.png  
  inflating: train_images/953_00.png  
  inflating: train_images/953_01.png  
  inflating: train_images/953_04.png  
  inflating: train_images/953_05.png  
  inflating: train_images/953_06.png  
  inflating: train_images/953_08.png  
  inflating: train_images/953_09.png  
  inflating: train_images/953_11.png  
  inflating: train_images/953_12.png  
  inflating: train_images/953_13.png  
  inflating: train_images/953_14.png  
  inflating: train_images/953_15.png  
  inflating: train_images/953_16.png  
  inflating: train_images/953_18.png  
  inflating: train_images/953_19.png  
  inflating: train_images/953_20.png  
  inflating: train_images/953_21.png  
  inflating: train_images/953_23.png  
  inflating: train_images/953_24.png  
  inflating: train_images/953_26.png  
  inflating: train_images/953_28.png  
  inflating: train_images/953_29.png  
  inflating: train_images/953_30.png  
  inflating: train_images/953_31.png  
  inflating: train_images/953_33.png  
  inflating: train_images/953_35.png  
  inflating: train_images/953_37.png  
  inflating: train_images/953_38.png  
  inflating: train_images/953_41.png  
  inflating: train_images/953_42.png  
  inflating: train_images/953_43.png  
  inflating: train_images/953_44.png  
  inflating: train_images/953_45.png  
  inflating: train_images/953_50.png  
  inflating: train_images/953_51.png  
  inflating: train_images/953_53.png  
  inflating: train_images/953_54.png  
  inflating: train_images/953_56.png  
  inflating: train_images/953_59.png  
  inflating: train_images/953_60.png  
  inflating: train_images/953_62.png  
  inflating: train_images/953_63.png  
  inflating: train_images/953_65.png  
  inflating: train_images/953_69.png  
  inflating: train_images/953_70.png  
  inflating: train_images/953_72.png  
  inflating: train_images/953_74.png  
  inflating: train_images/953_75.png  
  inflating: train_images/953_76.png  
  inflating: train_images/953_77.png  
  inflating: train_images/953_79.png  
  inflating: train_images/953_81.png  
  inflating: train_images/953_82.png  
  inflating: train_images/953_84.png  
  inflating: train_images/953_85.png  
  inflating: train_images/953_87.png  
  inflating: train_images/953_88.png  
  inflating: train_images/953_89.png  
  inflating: train_images/953_90.png  
  inflating: train_images/953_91.png  
  inflating: train_images/953_94.png  
  inflating: train_images/953_95.png  
  inflating: train_images/953_97.png  
  inflating: train_images/953_98.png  
  inflating: train_images/954_00.png  
  inflating: train_images/954_01.png  
  inflating: train_images/954_04.png  
  inflating: train_images/954_05.png  
  inflating: train_images/954_06.png  
  inflating: train_images/954_08.png  
  inflating: train_images/954_09.png  
  inflating: train_images/954_11.png  
  inflating: train_images/954_12.png  
  inflating: train_images/954_13.png  
  inflating: train_images/954_14.png  
  inflating: train_images/954_15.png  
  inflating: train_images/954_16.png  
  inflating: train_images/954_18.png  
  inflating: train_images/954_19.png  
  inflating: train_images/954_20.png  
  inflating: train_images/954_21.png  
  inflating: train_images/954_23.png  
  inflating: train_images/954_24.png  
  inflating: train_images/954_26.png  
  inflating: train_images/954_28.png  
  inflating: train_images/954_29.png  
  inflating: train_images/954_30.png  
  inflating: train_images/954_31.png  
  inflating: train_images/954_33.png  
  inflating: train_images/954_35.png  
  inflating: train_images/954_37.png  
  inflating: train_images/954_38.png  
  inflating: train_images/954_41.png  
  inflating: train_images/954_42.png  
  inflating: train_images/954_43.png  
  inflating: train_images/954_44.png  
  inflating: train_images/954_45.png  
  inflating: train_images/954_50.png  
  inflating: train_images/954_51.png  
  inflating: train_images/954_53.png  
  inflating: train_images/954_54.png  
  inflating: train_images/954_56.png  
  inflating: train_images/954_59.png  
  inflating: train_images/954_60.png  
  inflating: train_images/954_62.png  
  inflating: train_images/954_63.png  
  inflating: train_images/954_65.png  
  inflating: train_images/954_69.png  
  inflating: train_images/954_70.png  
  inflating: train_images/954_72.png  
  inflating: train_images/954_74.png  
  inflating: train_images/954_75.png  
  inflating: train_images/954_76.png  
  inflating: train_images/954_77.png  
  inflating: train_images/954_79.png  
  inflating: train_images/954_81.png  
  inflating: train_images/954_82.png  
  inflating: train_images/954_84.png  
  inflating: train_images/954_85.png  
  inflating: train_images/954_87.png  
  inflating: train_images/954_88.png  
  inflating: train_images/954_89.png  
  inflating: train_images/954_90.png  
  inflating: train_images/954_91.png  
  inflating: train_images/954_94.png  
  inflating: train_images/954_95.png  
  inflating: train_images/954_97.png  
  inflating: train_images/954_98.png  
  inflating: train_images/955_00.png  
  inflating: train_images/955_01.png  
  inflating: train_images/955_04.png  
  inflating: train_images/955_05.png  
  inflating: train_images/955_06.png  
  inflating: train_images/955_08.png  
  inflating: train_images/955_09.png  
  inflating: train_images/955_11.png  
  inflating: train_images/955_12.png  
  inflating: train_images/955_13.png  
  inflating: train_images/955_14.png  
  inflating: train_images/955_15.png  
  inflating: train_images/955_16.png  
  inflating: train_images/955_18.png  
  inflating: train_images/955_19.png  
  inflating: train_images/955_20.png  
  inflating: train_images/955_21.png  
  inflating: train_images/955_23.png  
  inflating: train_images/955_24.png  
  inflating: train_images/955_26.png  
  inflating: train_images/955_28.png  
  inflating: train_images/955_29.png  
  inflating: train_images/955_30.png  
  inflating: train_images/955_31.png  
  inflating: train_images/955_33.png  
  inflating: train_images/955_35.png  
  inflating: train_images/955_37.png  
  inflating: train_images/955_38.png  
  inflating: train_images/955_41.png  
  inflating: train_images/955_42.png  
  inflating: train_images/955_43.png  
  inflating: train_images/955_44.png  
  inflating: train_images/955_45.png  
  inflating: train_images/955_50.png  
  inflating: train_images/955_51.png  
  inflating: train_images/955_53.png  
  inflating: train_images/955_54.png  
  inflating: train_images/955_56.png  
  inflating: train_images/955_59.png  
  inflating: train_images/955_60.png  
  inflating: train_images/955_62.png  
  inflating: train_images/955_63.png  
  inflating: train_images/955_65.png  
  inflating: train_images/955_69.png  
  inflating: train_images/955_70.png  
  inflating: train_images/955_72.png  
  inflating: train_images/955_74.png  
  inflating: train_images/955_75.png  
  inflating: train_images/955_76.png  
  inflating: train_images/955_77.png  
  inflating: train_images/955_79.png  
  inflating: train_images/955_81.png  
  inflating: train_images/955_82.png  
  inflating: train_images/955_84.png  
  inflating: train_images/955_85.png  
  inflating: train_images/955_87.png  
  inflating: train_images/955_88.png  
  inflating: train_images/955_89.png  
  inflating: train_images/955_90.png  
  inflating: train_images/955_91.png  
  inflating: train_images/955_94.png  
  inflating: train_images/955_95.png  
  inflating: train_images/955_97.png  
  inflating: train_images/955_98.png  
  inflating: train_images/956_00.png  
  inflating: train_images/956_01.png  
  inflating: train_images/956_04.png  
  inflating: train_images/956_05.png  
  inflating: train_images/956_06.png  
  inflating: train_images/956_08.png  
  inflating: train_images/956_09.png  
  inflating: train_images/956_11.png  
  inflating: train_images/956_12.png  
  inflating: train_images/956_13.png  
  inflating: train_images/956_14.png  
  inflating: train_images/956_15.png  
  inflating: train_images/956_16.png  
  inflating: train_images/956_18.png  
  inflating: train_images/956_19.png  
  inflating: train_images/956_20.png  
  inflating: train_images/956_21.png  
  inflating: train_images/956_23.png  
  inflating: train_images/956_24.png  
  inflating: train_images/956_26.png  
  inflating: train_images/956_28.png  
  inflating: train_images/956_29.png  
  inflating: train_images/956_30.png  
  inflating: train_images/956_31.png  
  inflating: train_images/956_33.png  
  inflating: train_images/956_35.png  
  inflating: train_images/956_37.png  
  inflating: train_images/956_38.png  
  inflating: train_images/956_41.png  
  inflating: train_images/956_42.png  
  inflating: train_images/956_43.png  
  inflating: train_images/956_44.png  
  inflating: train_images/956_45.png  
  inflating: train_images/956_50.png  
  inflating: train_images/956_51.png  
  inflating: train_images/956_53.png  
  inflating: train_images/956_54.png  
  inflating: train_images/956_56.png  
  inflating: train_images/956_59.png  
  inflating: train_images/956_60.png  
  inflating: train_images/956_62.png  
  inflating: train_images/956_63.png  
  inflating: train_images/956_65.png  
  inflating: train_images/956_69.png  
  inflating: train_images/956_70.png  
  inflating: train_images/956_72.png  
  inflating: train_images/956_74.png  
  inflating: train_images/956_75.png  
  inflating: train_images/956_76.png  
  inflating: train_images/956_77.png  
  inflating: train_images/956_79.png  
  inflating: train_images/956_81.png  
  inflating: train_images/956_82.png  
  inflating: train_images/956_84.png  
  inflating: train_images/956_85.png  
  inflating: train_images/956_87.png  
  inflating: train_images/956_88.png  
  inflating: train_images/956_89.png  
  inflating: train_images/956_90.png  
  inflating: train_images/956_91.png  
  inflating: train_images/956_94.png  
  inflating: train_images/956_95.png  
  inflating: train_images/956_97.png  
  inflating: train_images/956_98.png  
  inflating: train_images/957_00.png  
  inflating: train_images/957_01.png  
  inflating: train_images/957_04.png  
  inflating: train_images/957_05.png  
  inflating: train_images/957_06.png  
  inflating: train_images/957_08.png  
  inflating: train_images/957_09.png  
  inflating: train_images/957_11.png  
  inflating: train_images/957_12.png  
  inflating: train_images/957_13.png  
  inflating: train_images/957_14.png  
  inflating: train_images/957_15.png  
  inflating: train_images/957_16.png  
  inflating: train_images/957_18.png  
  inflating: train_images/957_19.png  
  inflating: train_images/957_20.png  
  inflating: train_images/957_21.png  
  inflating: train_images/957_23.png  
  inflating: train_images/957_24.png  
  inflating: train_images/957_26.png  
  inflating: train_images/957_28.png  
  inflating: train_images/957_29.png  
  inflating: train_images/957_30.png  
  inflating: train_images/957_31.png  
  inflating: train_images/957_33.png  
  inflating: train_images/957_35.png  
  inflating: train_images/957_37.png  
  inflating: train_images/957_38.png  
  inflating: train_images/957_41.png  
  inflating: train_images/957_42.png  
  inflating: train_images/957_43.png  
  inflating: train_images/957_44.png  
  inflating: train_images/957_45.png  
  inflating: train_images/957_50.png  
  inflating: train_images/957_51.png  
  inflating: train_images/957_53.png  
  inflating: train_images/957_54.png  
  inflating: train_images/957_56.png  
  inflating: train_images/957_59.png  
  inflating: train_images/957_60.png  
  inflating: train_images/957_62.png  
  inflating: train_images/957_63.png  
  inflating: train_images/957_65.png  
  inflating: train_images/957_69.png  
  inflating: train_images/957_70.png  
  inflating: train_images/957_72.png  
  inflating: train_images/957_74.png  
  inflating: train_images/957_75.png  
  inflating: train_images/957_76.png  
  inflating: train_images/957_77.png  
  inflating: train_images/957_79.png  
  inflating: train_images/957_81.png  
  inflating: train_images/957_82.png  
  inflating: train_images/957_84.png  
  inflating: train_images/957_85.png  
  inflating: train_images/957_87.png  
  inflating: train_images/957_88.png  
  inflating: train_images/957_89.png  
  inflating: train_images/957_90.png  
  inflating: train_images/957_91.png  
  inflating: train_images/957_94.png  
  inflating: train_images/957_95.png  
  inflating: train_images/957_97.png  
  inflating: train_images/957_98.png  
  inflating: train_images/958_00.png  
  inflating: train_images/958_01.png  
  inflating: train_images/958_04.png  
  inflating: train_images/958_05.png  
  inflating: train_images/958_06.png  
  inflating: train_images/958_08.png  
  inflating: train_images/958_09.png  
  inflating: train_images/958_11.png  
  inflating: train_images/958_12.png  
  inflating: train_images/958_13.png  
  inflating: train_images/958_14.png  
  inflating: train_images/958_15.png  
  inflating: train_images/958_16.png  
  inflating: train_images/958_18.png  
  inflating: train_images/958_19.png  
  inflating: train_images/958_20.png  
  inflating: train_images/958_21.png  
  inflating: train_images/958_23.png  
  inflating: train_images/958_24.png  
  inflating: train_images/958_26.png  
  inflating: train_images/958_28.png  
  inflating: train_images/958_29.png  
  inflating: train_images/958_30.png  
  inflating: train_images/958_31.png  
  inflating: train_images/958_33.png  
  inflating: train_images/958_35.png  
  inflating: train_images/958_37.png  
  inflating: train_images/958_38.png  
  inflating: train_images/958_41.png  
  inflating: train_images/958_42.png  
  inflating: train_images/958_43.png  
  inflating: train_images/958_44.png  
  inflating: train_images/958_45.png  
  inflating: train_images/958_50.png  
  inflating: train_images/958_51.png  
  inflating: train_images/958_53.png  
  inflating: train_images/958_54.png  
  inflating: train_images/958_56.png  
  inflating: train_images/958_59.png  
  inflating: train_images/958_60.png  
  inflating: train_images/958_62.png  
  inflating: train_images/958_63.png  
  inflating: train_images/958_65.png  
  inflating: train_images/958_69.png  
  inflating: train_images/958_70.png  
  inflating: train_images/958_72.png  
  inflating: train_images/958_74.png  
  inflating: train_images/958_75.png  
  inflating: train_images/958_76.png  
  inflating: train_images/958_77.png  
  inflating: train_images/958_79.png  
  inflating: train_images/958_81.png  
  inflating: train_images/958_82.png  
  inflating: train_images/958_84.png  
  inflating: train_images/958_85.png  
  inflating: train_images/958_87.png  
  inflating: train_images/958_88.png  
  inflating: train_images/958_89.png  
  inflating: train_images/958_90.png  
  inflating: train_images/958_91.png  
  inflating: train_images/958_94.png  
  inflating: train_images/958_95.png  
  inflating: train_images/958_97.png  
  inflating: train_images/958_98.png  
  inflating: train_images/959_00.png  
  inflating: train_images/959_01.png  
  inflating: train_images/959_04.png  
  inflating: train_images/959_05.png  
  inflating: train_images/959_06.png  
  inflating: train_images/959_08.png  
  inflating: train_images/959_09.png  
  inflating: train_images/959_11.png  
  inflating: train_images/959_12.png  
  inflating: train_images/959_13.png  
  inflating: train_images/959_14.png  
  inflating: train_images/959_15.png  
  inflating: train_images/959_16.png  
  inflating: train_images/959_18.png  
  inflating: train_images/959_19.png  
  inflating: train_images/959_20.png  
  inflating: train_images/959_21.png  
  inflating: train_images/959_23.png  
  inflating: train_images/959_24.png  
  inflating: train_images/959_26.png  
  inflating: train_images/959_28.png  
  inflating: train_images/959_29.png  
  inflating: train_images/959_30.png  
  inflating: train_images/959_31.png  
  inflating: train_images/959_33.png  
  inflating: train_images/959_35.png  
  inflating: train_images/959_37.png  
  inflating: train_images/959_38.png  
  inflating: train_images/959_41.png  
  inflating: train_images/959_42.png  
  inflating: train_images/959_43.png  
  inflating: train_images/959_44.png  
  inflating: train_images/959_45.png  
  inflating: train_images/959_50.png  
  inflating: train_images/959_51.png  
  inflating: train_images/959_53.png  
  inflating: train_images/959_54.png  
  inflating: train_images/959_56.png  
  inflating: train_images/959_59.png  
  inflating: train_images/959_60.png  
  inflating: train_images/959_62.png  
  inflating: train_images/959_63.png  
  inflating: train_images/959_65.png  
  inflating: train_images/959_69.png  
  inflating: train_images/959_70.png  
  inflating: train_images/959_72.png  
  inflating: train_images/959_74.png  
  inflating: train_images/959_75.png  
  inflating: train_images/959_76.png  
  inflating: train_images/959_77.png  
  inflating: train_images/959_79.png  
  inflating: train_images/959_81.png  
  inflating: train_images/959_82.png  
  inflating: train_images/959_84.png  
  inflating: train_images/959_85.png  
  inflating: train_images/959_87.png  
  inflating: train_images/959_88.png  
  inflating: train_images/959_89.png  
  inflating: train_images/959_90.png  
  inflating: train_images/959_91.png  
  inflating: train_images/959_94.png  
  inflating: train_images/959_95.png  
  inflating: train_images/959_97.png  
  inflating: train_images/959_98.png  
  inflating: train_images/95_00.png  
  inflating: train_images/95_01.png  
  inflating: train_images/95_04.png  
  inflating: train_images/95_05.png  
  inflating: train_images/95_06.png  
  inflating: train_images/95_08.png  
  inflating: train_images/95_09.png  
  inflating: train_images/95_11.png  
  inflating: train_images/95_12.png  
  inflating: train_images/95_13.png  
  inflating: train_images/95_14.png  
  inflating: train_images/95_15.png  
  inflating: train_images/95_16.png  
  inflating: train_images/95_18.png  
  inflating: train_images/95_19.png  
  inflating: train_images/95_20.png  
  inflating: train_images/95_21.png  
  inflating: train_images/95_23.png  
  inflating: train_images/95_24.png  
  inflating: train_images/95_26.png  
  inflating: train_images/95_28.png  
  inflating: train_images/95_29.png  
  inflating: train_images/95_30.png  
  inflating: train_images/95_31.png  
  inflating: train_images/95_33.png  
  inflating: train_images/95_35.png  
  inflating: train_images/95_37.png  
  inflating: train_images/95_38.png  
  inflating: train_images/95_41.png  
  inflating: train_images/95_42.png  
  inflating: train_images/95_43.png  
  inflating: train_images/95_44.png  
  inflating: train_images/95_45.png  
  inflating: train_images/95_50.png  
  inflating: train_images/95_51.png  
  inflating: train_images/95_53.png  
  inflating: train_images/95_54.png  
  inflating: train_images/95_56.png  
  inflating: train_images/95_59.png  
  inflating: train_images/95_60.png  
  inflating: train_images/95_62.png  
  inflating: train_images/95_63.png  
  inflating: train_images/95_65.png  
  inflating: train_images/95_69.png  
  inflating: train_images/95_70.png  
  inflating: train_images/95_72.png  
  inflating: train_images/95_74.png  
  inflating: train_images/95_75.png  
  inflating: train_images/95_76.png  
  inflating: train_images/95_77.png  
  inflating: train_images/95_79.png  
  inflating: train_images/95_81.png  
  inflating: train_images/95_82.png  
  inflating: train_images/95_84.png  
  inflating: train_images/95_85.png  
  inflating: train_images/95_87.png  
  inflating: train_images/95_88.png  
  inflating: train_images/95_89.png  
  inflating: train_images/95_90.png  
  inflating: train_images/95_91.png  
  inflating: train_images/95_94.png  
  inflating: train_images/95_95.png  
  inflating: train_images/95_97.png  
  inflating: train_images/95_98.png  
  inflating: train_images/960_00.png  
  inflating: train_images/960_01.png  
  inflating: train_images/960_04.png  
  inflating: train_images/960_05.png  
  inflating: train_images/960_06.png  
  inflating: train_images/960_08.png  
  inflating: train_images/960_09.png  
  inflating: train_images/960_11.png  
  inflating: train_images/960_12.png  
  inflating: train_images/960_13.png  
  inflating: train_images/960_14.png  
  inflating: train_images/960_15.png  
  inflating: train_images/960_16.png  
  inflating: train_images/960_18.png  
  inflating: train_images/960_19.png  
  inflating: train_images/960_20.png  
  inflating: train_images/960_21.png  
  inflating: train_images/960_23.png  
  inflating: train_images/960_24.png  
  inflating: train_images/960_26.png  
  inflating: train_images/960_28.png  
  inflating: train_images/960_29.png  
  inflating: train_images/960_30.png  
  inflating: train_images/960_31.png  
  inflating: train_images/960_33.png  
  inflating: train_images/960_35.png  
  inflating: train_images/960_37.png  
  inflating: train_images/960_38.png  
  inflating: train_images/960_41.png  
  inflating: train_images/960_42.png  
  inflating: train_images/960_43.png  
  inflating: train_images/960_44.png  
  inflating: train_images/960_45.png  
  inflating: train_images/960_50.png  
  inflating: train_images/960_51.png  
  inflating: train_images/960_53.png  
  inflating: train_images/960_54.png  
  inflating: train_images/960_56.png  
  inflating: train_images/960_59.png  
  inflating: train_images/960_60.png  
  inflating: train_images/960_62.png  
  inflating: train_images/960_63.png  
  inflating: train_images/960_65.png  
  inflating: train_images/960_69.png  
  inflating: train_images/960_70.png  
  inflating: train_images/960_72.png  
  inflating: train_images/960_74.png  
  inflating: train_images/960_75.png  
  inflating: train_images/960_76.png  
  inflating: train_images/960_77.png  
  inflating: train_images/960_79.png  
  inflating: train_images/960_81.png  
  inflating: train_images/960_82.png  
  inflating: train_images/960_84.png  
  inflating: train_images/960_85.png  
  inflating: train_images/960_87.png  
  inflating: train_images/960_88.png  
  inflating: train_images/960_89.png  
  inflating: train_images/960_90.png  
  inflating: train_images/960_91.png  
  inflating: train_images/960_94.png  
  inflating: train_images/960_95.png  
  inflating: train_images/960_97.png  
  inflating: train_images/960_98.png  
  inflating: train_images/961_00.png  
  inflating: train_images/961_01.png  
  inflating: train_images/961_04.png  
  inflating: train_images/961_05.png  
  inflating: train_images/961_06.png  
  inflating: train_images/961_08.png  
  inflating: train_images/961_09.png  
  inflating: train_images/961_11.png  
  inflating: train_images/961_12.png  
  inflating: train_images/961_13.png  
  inflating: train_images/961_14.png  
  inflating: train_images/961_15.png  
  inflating: train_images/961_16.png  
  inflating: train_images/961_18.png  
  inflating: train_images/961_19.png  
  inflating: train_images/961_20.png  
  inflating: train_images/961_21.png  
  inflating: train_images/961_23.png  
  inflating: train_images/961_24.png  
  inflating: train_images/961_26.png  
  inflating: train_images/961_28.png  
  inflating: train_images/961_29.png  
  inflating: train_images/961_30.png  
  inflating: train_images/961_31.png  
  inflating: train_images/961_33.png  
  inflating: train_images/961_35.png  
  inflating: train_images/961_37.png  
  inflating: train_images/961_38.png  
  inflating: train_images/961_41.png  
  inflating: train_images/961_42.png  
  inflating: train_images/961_43.png  
  inflating: train_images/961_44.png  
  inflating: train_images/961_45.png  
  inflating: train_images/961_50.png  
  inflating: train_images/961_51.png  
  inflating: train_images/961_53.png  
  inflating: train_images/961_54.png  
  inflating: train_images/961_56.png  
  inflating: train_images/961_59.png  
  inflating: train_images/961_60.png  
  inflating: train_images/961_62.png  
  inflating: train_images/961_63.png  
  inflating: train_images/961_65.png  
  inflating: train_images/961_69.png  
  inflating: train_images/961_70.png  
  inflating: train_images/961_72.png  
  inflating: train_images/961_74.png  
  inflating: train_images/961_75.png  
  inflating: train_images/961_76.png  
  inflating: train_images/961_77.png  
  inflating: train_images/961_79.png  
  inflating: train_images/961_81.png  
  inflating: train_images/961_82.png  
  inflating: train_images/961_84.png  
  inflating: train_images/961_85.png  
  inflating: train_images/961_87.png  
  inflating: train_images/961_88.png  
  inflating: train_images/961_89.png  
  inflating: train_images/961_90.png  
  inflating: train_images/961_91.png  
  inflating: train_images/961_94.png  
  inflating: train_images/961_95.png  
  inflating: train_images/961_97.png  
  inflating: train_images/961_98.png  
  inflating: train_images/962_00.png  
  inflating: train_images/962_01.png  
  inflating: train_images/962_04.png  
  inflating: train_images/962_05.png  
  inflating: train_images/962_06.png  
  inflating: train_images/962_08.png  
  inflating: train_images/962_09.png  
  inflating: train_images/962_11.png  
  inflating: train_images/962_12.png  
  inflating: train_images/962_13.png  
  inflating: train_images/962_14.png  
  inflating: train_images/962_15.png  
  inflating: train_images/962_16.png  
  inflating: train_images/962_18.png  
  inflating: train_images/962_19.png  
  inflating: train_images/962_20.png  
  inflating: train_images/962_21.png  
  inflating: train_images/962_23.png  
  inflating: train_images/962_24.png  
  inflating: train_images/962_26.png  
  inflating: train_images/962_28.png  
  inflating: train_images/962_29.png  
  inflating: train_images/962_30.png  
  inflating: train_images/962_31.png  
  inflating: train_images/962_33.png  
  inflating: train_images/962_35.png  
  inflating: train_images/962_37.png  
  inflating: train_images/962_38.png  
  inflating: train_images/962_41.png  
  inflating: train_images/962_42.png  
  inflating: train_images/962_43.png  
  inflating: train_images/962_44.png  
  inflating: train_images/962_45.png  
  inflating: train_images/962_50.png  
  inflating: train_images/962_51.png  
  inflating: train_images/962_53.png  
  inflating: train_images/962_54.png  
  inflating: train_images/962_56.png  
  inflating: train_images/962_59.png  
  inflating: train_images/962_60.png  
  inflating: train_images/962_62.png  
  inflating: train_images/962_63.png  
  inflating: train_images/962_65.png  
  inflating: train_images/962_69.png  
  inflating: train_images/962_70.png  
  inflating: train_images/962_72.png  
  inflating: train_images/962_74.png  
  inflating: train_images/962_75.png  
  inflating: train_images/962_76.png  
  inflating: train_images/962_77.png  
  inflating: train_images/962_79.png  
  inflating: train_images/962_81.png  
  inflating: train_images/962_82.png  
  inflating: train_images/962_84.png  
  inflating: train_images/962_85.png  
  inflating: train_images/962_87.png  
  inflating: train_images/962_88.png  
  inflating: train_images/962_89.png  
  inflating: train_images/962_90.png  
  inflating: train_images/962_91.png  
  inflating: train_images/962_94.png  
  inflating: train_images/962_95.png  
  inflating: train_images/962_97.png  
  inflating: train_images/962_98.png  
  inflating: train_images/963_00.png  
  inflating: train_images/963_01.png  
  inflating: train_images/963_04.png  
  inflating: train_images/963_05.png  
  inflating: train_images/963_06.png  
  inflating: train_images/963_08.png  
  inflating: train_images/963_09.png  
  inflating: train_images/963_11.png  
  inflating: train_images/963_12.png  
  inflating: train_images/963_13.png  
  inflating: train_images/963_14.png  
  inflating: train_images/963_15.png  
  inflating: train_images/963_16.png  
  inflating: train_images/963_18.png  
  inflating: train_images/963_19.png  
  inflating: train_images/963_20.png  
  inflating: train_images/963_21.png  
  inflating: train_images/963_23.png  
  inflating: train_images/963_24.png  
  inflating: train_images/963_26.png  
  inflating: train_images/963_28.png  
  inflating: train_images/963_29.png  
  inflating: train_images/963_30.png  
  inflating: train_images/963_31.png  
  inflating: train_images/963_33.png  
  inflating: train_images/963_35.png  
  inflating: train_images/963_37.png  
  inflating: train_images/963_38.png  
  inflating: train_images/963_41.png  
  inflating: train_images/963_42.png  
  inflating: train_images/963_43.png  
  inflating: train_images/963_44.png  
  inflating: train_images/963_45.png  
  inflating: train_images/963_50.png  
  inflating: train_images/963_51.png  
  inflating: train_images/963_53.png  
  inflating: train_images/963_54.png  
  inflating: train_images/963_56.png  
  inflating: train_images/963_59.png  
  inflating: train_images/963_60.png  
  inflating: train_images/963_62.png  
  inflating: train_images/963_63.png  
  inflating: train_images/963_65.png  
  inflating: train_images/963_69.png  
  inflating: train_images/963_70.png  
  inflating: train_images/963_72.png  
  inflating: train_images/963_74.png  
  inflating: train_images/963_75.png  
  inflating: train_images/963_76.png  
  inflating: train_images/963_77.png  
  inflating: train_images/963_79.png  
  inflating: train_images/963_81.png  
  inflating: train_images/963_82.png  
  inflating: train_images/963_84.png  
  inflating: train_images/963_85.png  
  inflating: train_images/963_87.png  
  inflating: train_images/963_88.png  
  inflating: train_images/963_89.png  
  inflating: train_images/963_90.png  
  inflating: train_images/963_91.png  
  inflating: train_images/963_94.png  
  inflating: train_images/963_95.png  
  inflating: train_images/963_97.png  
  inflating: train_images/963_98.png  
  inflating: train_images/964_00.png  
  inflating: train_images/964_01.png  
  inflating: train_images/964_04.png  
  inflating: train_images/964_05.png  
  inflating: train_images/964_06.png  
  inflating: train_images/964_08.png  
  inflating: train_images/964_09.png  
  inflating: train_images/964_11.png  
  inflating: train_images/964_12.png  
  inflating: train_images/964_13.png  
  inflating: train_images/964_14.png  
  inflating: train_images/964_15.png  
  inflating: train_images/964_16.png  
  inflating: train_images/964_18.png  
  inflating: train_images/964_19.png  
  inflating: train_images/964_20.png  
  inflating: train_images/964_21.png  
  inflating: train_images/964_23.png  
  inflating: train_images/964_24.png  
  inflating: train_images/964_26.png  
  inflating: train_images/964_28.png  
  inflating: train_images/964_29.png  
  inflating: train_images/964_30.png  
  inflating: train_images/964_31.png  
  inflating: train_images/964_33.png  
  inflating: train_images/964_35.png  
  inflating: train_images/964_37.png  
  inflating: train_images/964_38.png  
  inflating: train_images/964_41.png  
  inflating: train_images/964_42.png  
  inflating: train_images/964_43.png  
  inflating: train_images/964_44.png  
  inflating: train_images/964_45.png  
  inflating: train_images/964_50.png  
  inflating: train_images/964_51.png  
  inflating: train_images/964_53.png  
  inflating: train_images/964_54.png  
  inflating: train_images/964_56.png  
  inflating: train_images/964_59.png  
  inflating: train_images/964_60.png  
  inflating: train_images/964_62.png  
  inflating: train_images/964_63.png  
  inflating: train_images/964_65.png  
  inflating: train_images/964_69.png  
  inflating: train_images/964_70.png  
  inflating: train_images/964_72.png  
  inflating: train_images/964_74.png  
  inflating: train_images/964_75.png  
  inflating: train_images/964_76.png  
  inflating: train_images/964_77.png  
  inflating: train_images/964_79.png  
  inflating: train_images/964_81.png  
  inflating: train_images/964_82.png  
  inflating: train_images/964_84.png  
  inflating: train_images/964_85.png  
  inflating: train_images/964_87.png  
  inflating: train_images/964_88.png  
  inflating: train_images/964_89.png  
  inflating: train_images/964_90.png  
  inflating: train_images/964_91.png  
  inflating: train_images/964_94.png  
  inflating: train_images/964_95.png  
  inflating: train_images/964_97.png  
  inflating: train_images/964_98.png  
  inflating: train_images/965_00.png  
  inflating: train_images/965_01.png  
  inflating: train_images/965_04.png  
  inflating: train_images/965_05.png  
  inflating: train_images/965_06.png  
  inflating: train_images/965_08.png  
  inflating: train_images/965_09.png  
  inflating: train_images/965_11.png  
  inflating: train_images/965_12.png  
  inflating: train_images/965_13.png  
  inflating: train_images/965_14.png  
  inflating: train_images/965_15.png  
  inflating: train_images/965_16.png  
  inflating: train_images/965_18.png  
  inflating: train_images/965_19.png  
  inflating: train_images/965_20.png  
  inflating: train_images/965_21.png  
  inflating: train_images/965_23.png  
  inflating: train_images/965_24.png  
  inflating: train_images/965_26.png  
  inflating: train_images/965_28.png  
  inflating: train_images/965_29.png  
  inflating: train_images/965_30.png  
  inflating: train_images/965_31.png  
  inflating: train_images/965_33.png  
  inflating: train_images/965_35.png  
  inflating: train_images/965_37.png  
  inflating: train_images/965_38.png  
  inflating: train_images/965_41.png  
  inflating: train_images/965_42.png  
  inflating: train_images/965_43.png  
  inflating: train_images/965_44.png  
  inflating: train_images/965_45.png  
  inflating: train_images/965_50.png  
  inflating: train_images/965_51.png  
  inflating: train_images/965_53.png  
  inflating: train_images/965_54.png  
  inflating: train_images/965_56.png  
  inflating: train_images/965_59.png  
  inflating: train_images/965_60.png  
  inflating: train_images/965_62.png  
  inflating: train_images/965_63.png  
  inflating: train_images/965_65.png  
  inflating: train_images/965_69.png  
  inflating: train_images/965_70.png  
  inflating: train_images/965_72.png  
  inflating: train_images/965_74.png  
  inflating: train_images/965_75.png  
  inflating: train_images/965_76.png  
  inflating: train_images/965_77.png  
  inflating: train_images/965_79.png  
  inflating: train_images/965_81.png  
  inflating: train_images/965_82.png  
  inflating: train_images/965_84.png  
  inflating: train_images/965_85.png  
  inflating: train_images/965_87.png  
  inflating: train_images/965_88.png  
  inflating: train_images/965_89.png  
  inflating: train_images/965_90.png  
  inflating: train_images/965_91.png  
  inflating: train_images/965_94.png  
  inflating: train_images/965_95.png  
  inflating: train_images/965_97.png  
  inflating: train_images/965_98.png  
  inflating: train_images/966_00.png  
  inflating: train_images/966_01.png  
  inflating: train_images/966_04.png  
  inflating: train_images/966_05.png  
  inflating: train_images/966_06.png  
  inflating: train_images/966_08.png  
  inflating: train_images/966_09.png  
  inflating: train_images/966_11.png  
  inflating: train_images/966_12.png  
  inflating: train_images/966_13.png  
  inflating: train_images/966_14.png  
  inflating: train_images/966_15.png  
  inflating: train_images/966_16.png  
  inflating: train_images/966_18.png  
  inflating: train_images/966_19.png  
  inflating: train_images/966_20.png  
  inflating: train_images/966_21.png  
  inflating: train_images/966_23.png  
  inflating: train_images/966_24.png  
  inflating: train_images/966_26.png  
  inflating: train_images/966_28.png  
  inflating: train_images/966_29.png  
  inflating: train_images/966_30.png  
  inflating: train_images/966_31.png  
  inflating: train_images/966_33.png  
  inflating: train_images/966_35.png  
  inflating: train_images/966_37.png  
  inflating: train_images/966_38.png  
  inflating: train_images/966_41.png  
  inflating: train_images/966_42.png  
  inflating: train_images/966_43.png  
  inflating: train_images/966_44.png  
  inflating: train_images/966_45.png  
  inflating: train_images/966_50.png  
  inflating: train_images/966_51.png  
  inflating: train_images/966_53.png  
  inflating: train_images/966_54.png  
  inflating: train_images/966_56.png  
  inflating: train_images/966_59.png  
  inflating: train_images/966_60.png  
  inflating: train_images/966_62.png  
  inflating: train_images/966_63.png  
  inflating: train_images/966_65.png  
  inflating: train_images/966_69.png  
  inflating: train_images/966_70.png  
  inflating: train_images/966_72.png  
  inflating: train_images/966_74.png  
  inflating: train_images/966_75.png  
  inflating: train_images/966_76.png  
  inflating: train_images/966_77.png  
  inflating: train_images/966_79.png  
  inflating: train_images/966_81.png  
  inflating: train_images/966_82.png  
  inflating: train_images/966_84.png  
  inflating: train_images/966_85.png  
  inflating: train_images/966_87.png  
  inflating: train_images/966_88.png  
  inflating: train_images/966_89.png  
  inflating: train_images/966_90.png  
  inflating: train_images/966_91.png  
  inflating: train_images/966_94.png  
  inflating: train_images/966_95.png  
  inflating: train_images/966_97.png  
  inflating: train_images/966_98.png  
  inflating: train_images/967_00.png  
  inflating: train_images/967_01.png  
  inflating: train_images/967_04.png  
  inflating: train_images/967_05.png  
  inflating: train_images/967_06.png  
  inflating: train_images/967_08.png  
  inflating: train_images/967_09.png  
  inflating: train_images/967_11.png  
  inflating: train_images/967_12.png  
  inflating: train_images/967_13.png  
  inflating: train_images/967_14.png  
  inflating: train_images/967_15.png  
  inflating: train_images/967_16.png  
  inflating: train_images/967_18.png  
  inflating: train_images/967_19.png  
  inflating: train_images/967_20.png  
  inflating: train_images/967_21.png  
  inflating: train_images/967_23.png  
  inflating: train_images/967_24.png  
  inflating: train_images/967_26.png  
  inflating: train_images/967_28.png  
  inflating: train_images/967_29.png  
  inflating: train_images/967_30.png  
  inflating: train_images/967_31.png  
  inflating: train_images/967_33.png  
  inflating: train_images/967_35.png  
  inflating: train_images/967_37.png  
  inflating: train_images/967_38.png  
  inflating: train_images/967_41.png  
  inflating: train_images/967_42.png  
  inflating: train_images/967_43.png  
  inflating: train_images/967_44.png  
  inflating: train_images/967_45.png  
  inflating: train_images/967_50.png  
  inflating: train_images/967_51.png  
  inflating: train_images/967_53.png  
  inflating: train_images/967_54.png  
  inflating: train_images/967_56.png  
  inflating: train_images/967_59.png  
  inflating: train_images/967_60.png  
  inflating: train_images/967_62.png  
  inflating: train_images/967_63.png  
  inflating: train_images/967_65.png  
  inflating: train_images/967_69.png  
  inflating: train_images/967_70.png  
  inflating: train_images/967_72.png  
  inflating: train_images/967_74.png  
  inflating: train_images/967_75.png  
  inflating: train_images/967_76.png  
  inflating: train_images/967_77.png  
  inflating: train_images/967_79.png  
  inflating: train_images/967_81.png  
  inflating: train_images/967_82.png  
  inflating: train_images/967_84.png  
  inflating: train_images/967_85.png  
  inflating: train_images/967_87.png  
  inflating: train_images/967_88.png  
  inflating: train_images/967_89.png  
  inflating: train_images/967_90.png  
  inflating: train_images/967_91.png  
  inflating: train_images/967_94.png  
  inflating: train_images/967_95.png  
  inflating: train_images/967_97.png  
  inflating: train_images/967_98.png  
  inflating: train_images/968_00.png  
  inflating: train_images/968_01.png  
  inflating: train_images/968_04.png  
  inflating: train_images/968_05.png  
  inflating: train_images/968_06.png  
  inflating: train_images/968_08.png  
  inflating: train_images/968_09.png  
  inflating: train_images/968_11.png  
  inflating: train_images/968_12.png  
  inflating: train_images/968_13.png  
  inflating: train_images/968_14.png  
  inflating: train_images/968_15.png  
  inflating: train_images/968_16.png  
  inflating: train_images/968_18.png  
  inflating: train_images/968_19.png  
  inflating: train_images/968_20.png  
  inflating: train_images/968_21.png  
  inflating: train_images/968_23.png  
  inflating: train_images/968_24.png  
  inflating: train_images/968_26.png  
  inflating: train_images/968_28.png  
  inflating: train_images/968_29.png  
  inflating: train_images/968_30.png  
  inflating: train_images/968_31.png  
  inflating: train_images/968_33.png  
  inflating: train_images/968_35.png  
  inflating: train_images/968_37.png  
  inflating: train_images/968_38.png  
  inflating: train_images/968_41.png  
  inflating: train_images/968_42.png  
  inflating: train_images/968_43.png  
  inflating: train_images/968_44.png  
  inflating: train_images/968_45.png  
  inflating: train_images/968_50.png  
  inflating: train_images/968_51.png  
  inflating: train_images/968_53.png  
  inflating: train_images/968_54.png  
  inflating: train_images/968_56.png  
  inflating: train_images/968_59.png  
  inflating: train_images/968_60.png  
  inflating: train_images/968_62.png  
  inflating: train_images/968_63.png  
  inflating: train_images/968_65.png  
  inflating: train_images/968_69.png  
  inflating: train_images/968_70.png  
  inflating: train_images/968_72.png  
  inflating: train_images/968_74.png  
  inflating: train_images/968_75.png  
  inflating: train_images/968_76.png  
  inflating: train_images/968_77.png  
  inflating: train_images/968_79.png  
  inflating: train_images/968_81.png  
  inflating: train_images/968_82.png  
  inflating: train_images/968_84.png  
  inflating: train_images/968_85.png  
  inflating: train_images/968_87.png  
  inflating: train_images/968_88.png  
  inflating: train_images/968_89.png  
  inflating: train_images/968_90.png  
  inflating: train_images/968_91.png  
  inflating: train_images/968_94.png  
  inflating: train_images/968_95.png  
  inflating: train_images/968_97.png  
  inflating: train_images/968_98.png  
  inflating: train_images/969_00.png  
  inflating: train_images/969_01.png  
  inflating: train_images/969_04.png  
  inflating: train_images/969_05.png  
  inflating: train_images/969_06.png  
  inflating: train_images/969_08.png  
  inflating: train_images/969_09.png  
  inflating: train_images/969_11.png  
  inflating: train_images/969_12.png  
  inflating: train_images/969_13.png  
  inflating: train_images/969_14.png  
  inflating: train_images/969_15.png  
  inflating: train_images/969_16.png  
  inflating: train_images/969_18.png  
  inflating: train_images/969_19.png  
  inflating: train_images/969_20.png  
  inflating: train_images/969_21.png  
  inflating: train_images/969_23.png  
  inflating: train_images/969_24.png  
  inflating: train_images/969_26.png  
  inflating: train_images/969_28.png  
  inflating: train_images/969_29.png  
  inflating: train_images/969_30.png  
  inflating: train_images/969_31.png  
  inflating: train_images/969_33.png  
  inflating: train_images/969_35.png  
  inflating: train_images/969_37.png  
  inflating: train_images/969_38.png  
  inflating: train_images/969_41.png  
  inflating: train_images/969_42.png  
  inflating: train_images/969_43.png  
  inflating: train_images/969_44.png  
  inflating: train_images/969_45.png  
  inflating: train_images/969_50.png  
  inflating: train_images/969_51.png  
  inflating: train_images/969_53.png  
  inflating: train_images/969_54.png  
  inflating: train_images/969_56.png  
  inflating: train_images/969_59.png  
  inflating: train_images/969_60.png  
  inflating: train_images/969_62.png  
  inflating: train_images/969_63.png  
  inflating: train_images/969_65.png  
  inflating: train_images/969_69.png  
  inflating: train_images/969_70.png  
  inflating: train_images/969_72.png  
  inflating: train_images/969_74.png  
  inflating: train_images/969_75.png  
  inflating: train_images/969_76.png  
  inflating: train_images/969_77.png  
  inflating: train_images/969_79.png  
  inflating: train_images/969_81.png  
  inflating: train_images/969_82.png  
  inflating: train_images/969_84.png  
  inflating: train_images/969_85.png  
  inflating: train_images/969_87.png  
  inflating: train_images/969_88.png  
  inflating: train_images/969_89.png  
  inflating: train_images/969_90.png  
  inflating: train_images/969_91.png  
  inflating: train_images/969_94.png  
  inflating: train_images/969_95.png  
  inflating: train_images/969_97.png  
  inflating: train_images/969_98.png  
  inflating: train_images/96_00.png  
  inflating: train_images/96_01.png  
  inflating: train_images/96_04.png  
  inflating: train_images/96_05.png  
  inflating: train_images/96_06.png  
  inflating: train_images/96_08.png  
  inflating: train_images/96_09.png  
  inflating: train_images/96_11.png  
  inflating: train_images/96_12.png  
  inflating: train_images/96_13.png  
  inflating: train_images/96_14.png  
  inflating: train_images/96_15.png  
  inflating: train_images/96_16.png  
  inflating: train_images/96_18.png  
  inflating: train_images/96_19.png  
  inflating: train_images/96_20.png  
  inflating: train_images/96_21.png  
  inflating: train_images/96_23.png  
  inflating: train_images/96_24.png  
  inflating: train_images/96_26.png  
  inflating: train_images/96_28.png  
  inflating: train_images/96_29.png  
  inflating: train_images/96_30.png  
  inflating: train_images/96_31.png  
  inflating: train_images/96_33.png  
  inflating: train_images/96_35.png  
  inflating: train_images/96_37.png  
  inflating: train_images/96_38.png  
  inflating: train_images/96_41.png  
  inflating: train_images/96_42.png  
  inflating: train_images/96_43.png  
  inflating: train_images/96_44.png  
  inflating: train_images/96_45.png  
  inflating: train_images/96_50.png  
  inflating: train_images/96_51.png  
  inflating: train_images/96_53.png  
  inflating: train_images/96_54.png  
  inflating: train_images/96_56.png  
  inflating: train_images/96_59.png  
  inflating: train_images/96_60.png  
  inflating: train_images/96_62.png  
  inflating: train_images/96_63.png  
  inflating: train_images/96_65.png  
  inflating: train_images/96_69.png  
  inflating: train_images/96_70.png  
  inflating: train_images/96_72.png  
  inflating: train_images/96_74.png  
  inflating: train_images/96_75.png  
  inflating: train_images/96_76.png  
  inflating: train_images/96_77.png  
  inflating: train_images/96_79.png  
  inflating: train_images/96_81.png  
  inflating: train_images/96_82.png  
  inflating: train_images/96_84.png  
  inflating: train_images/96_85.png  
  inflating: train_images/96_87.png  
  inflating: train_images/96_88.png  
  inflating: train_images/96_89.png  
  inflating: train_images/96_90.png  
  inflating: train_images/96_91.png  
  inflating: train_images/96_94.png  
  inflating: train_images/96_95.png  
  inflating: train_images/96_97.png  
  inflating: train_images/96_98.png  
  inflating: train_images/970_00.png  
  inflating: train_images/970_01.png  
  inflating: train_images/970_04.png  
  inflating: train_images/970_05.png  
  inflating: train_images/970_06.png  
  inflating: train_images/970_08.png  
  inflating: train_images/970_09.png  
  inflating: train_images/970_11.png  
  inflating: train_images/970_12.png  
  inflating: train_images/970_13.png  
  inflating: train_images/970_14.png  
  inflating: train_images/970_15.png  
  inflating: train_images/970_16.png  
  inflating: train_images/970_18.png  
  inflating: train_images/970_19.png  
  inflating: train_images/970_20.png  
  inflating: train_images/970_21.png  
  inflating: train_images/970_23.png  
  inflating: train_images/970_24.png  
  inflating: train_images/970_26.png  
  inflating: train_images/970_28.png  
  inflating: train_images/970_29.png  
  inflating: train_images/970_30.png  
  inflating: train_images/970_31.png  
  inflating: train_images/970_33.png  
  inflating: train_images/970_35.png  
  inflating: train_images/970_37.png  
  inflating: train_images/970_38.png  
  inflating: train_images/970_41.png  
  inflating: train_images/970_42.png  
  inflating: train_images/970_43.png  
  inflating: train_images/970_44.png  
  inflating: train_images/970_45.png  
  inflating: train_images/970_50.png  
  inflating: train_images/970_51.png  
  inflating: train_images/970_53.png  
  inflating: train_images/970_54.png  
  inflating: train_images/970_56.png  
  inflating: train_images/970_59.png  
  inflating: train_images/970_60.png  
  inflating: train_images/970_62.png  
  inflating: train_images/970_63.png  
  inflating: train_images/970_65.png  
  inflating: train_images/970_69.png  
  inflating: train_images/970_70.png  
  inflating: train_images/970_72.png  
  inflating: train_images/970_74.png  
  inflating: train_images/970_75.png  
  inflating: train_images/970_76.png  
  inflating: train_images/970_77.png  
  inflating: train_images/970_79.png  
  inflating: train_images/970_81.png  
  inflating: train_images/970_82.png  
  inflating: train_images/970_84.png  
  inflating: train_images/970_85.png  
  inflating: train_images/970_87.png  
  inflating: train_images/970_88.png  
  inflating: train_images/970_89.png  
  inflating: train_images/970_90.png  
  inflating: train_images/970_91.png  
  inflating: train_images/970_94.png  
  inflating: train_images/970_95.png  
  inflating: train_images/970_97.png  
  inflating: train_images/970_98.png  
  inflating: train_images/971_00.png  
  inflating: train_images/971_01.png  
  inflating: train_images/971_04.png  
  inflating: train_images/971_05.png  
  inflating: train_images/971_06.png  
  inflating: train_images/971_08.png  
  inflating: train_images/971_09.png  
  inflating: train_images/971_11.png  
  inflating: train_images/971_12.png  
  inflating: train_images/971_13.png  
  inflating: train_images/971_14.png  
  inflating: train_images/971_15.png  
  inflating: train_images/971_16.png  
  inflating: train_images/971_18.png  
  inflating: train_images/971_19.png  
  inflating: train_images/971_20.png  
  inflating: train_images/971_21.png  
  inflating: train_images/971_23.png  
  inflating: train_images/971_24.png  
  inflating: train_images/971_26.png  
  inflating: train_images/971_28.png  
  inflating: train_images/971_29.png  
  inflating: train_images/971_30.png  
  inflating: train_images/971_31.png  
  inflating: train_images/971_33.png  
  inflating: train_images/971_35.png  
  inflating: train_images/971_37.png  
  inflating: train_images/971_38.png  
  inflating: train_images/971_41.png  
  inflating: train_images/971_42.png  
  inflating: train_images/971_43.png  
  inflating: train_images/971_44.png  
  inflating: train_images/971_45.png  
  inflating: train_images/971_50.png  
  inflating: train_images/971_51.png  
  inflating: train_images/971_53.png  
  inflating: train_images/971_54.png  
  inflating: train_images/971_56.png  
  inflating: train_images/971_59.png  
  inflating: train_images/971_60.png  
  inflating: train_images/971_62.png  
  inflating: train_images/971_63.png  
  inflating: train_images/971_65.png  
  inflating: train_images/971_69.png  
  inflating: train_images/971_70.png  
  inflating: train_images/971_72.png  
  inflating: train_images/971_74.png  
  inflating: train_images/971_75.png  
  inflating: train_images/971_76.png  
  inflating: train_images/971_77.png  
  inflating: train_images/971_79.png  
  inflating: train_images/971_81.png  
  inflating: train_images/971_82.png  
  inflating: train_images/971_84.png  
  inflating: train_images/971_85.png  
  inflating: train_images/971_87.png  
  inflating: train_images/971_88.png  
  inflating: train_images/971_89.png  
  inflating: train_images/971_90.png  
  inflating: train_images/971_91.png  
  inflating: train_images/971_94.png  
  inflating: train_images/971_95.png  
  inflating: train_images/971_97.png  
  inflating: train_images/971_98.png  
  inflating: train_images/972_00.png  
  inflating: train_images/972_01.png  
  inflating: train_images/972_04.png  
  inflating: train_images/972_05.png  
  inflating: train_images/972_06.png  
  inflating: train_images/972_08.png  
  inflating: train_images/972_09.png  
  inflating: train_images/972_11.png  
  inflating: train_images/972_12.png  
  inflating: train_images/972_13.png  
  inflating: train_images/972_14.png  
  inflating: train_images/972_15.png  
  inflating: train_images/972_16.png  
  inflating: train_images/972_18.png  
  inflating: train_images/972_19.png  
  inflating: train_images/972_20.png  
  inflating: train_images/972_21.png  
  inflating: train_images/972_23.png  
  inflating: train_images/972_24.png  
  inflating: train_images/972_26.png  
  inflating: train_images/972_28.png  
  inflating: train_images/972_29.png  
  inflating: train_images/972_30.png  
  inflating: train_images/972_31.png  
  inflating: train_images/972_33.png  
  inflating: train_images/972_35.png  
  inflating: train_images/972_37.png  
  inflating: train_images/972_38.png  
  inflating: train_images/972_41.png  
  inflating: train_images/972_42.png  
  inflating: train_images/972_43.png  
  inflating: train_images/972_44.png  
  inflating: train_images/972_45.png  
  inflating: train_images/972_50.png  
  inflating: train_images/972_51.png  
  inflating: train_images/972_53.png  
  inflating: train_images/972_54.png  
  inflating: train_images/972_56.png  
  inflating: train_images/972_59.png  
  inflating: train_images/972_60.png  
  inflating: train_images/972_62.png  
  inflating: train_images/972_63.png  
  inflating: train_images/972_65.png  
  inflating: train_images/972_69.png  
  inflating: train_images/972_70.png  
  inflating: train_images/972_72.png  
  inflating: train_images/972_74.png  
  inflating: train_images/972_75.png  
  inflating: train_images/972_76.png  
  inflating: train_images/972_77.png  
  inflating: train_images/972_79.png  
  inflating: train_images/972_81.png  
  inflating: train_images/972_82.png  
  inflating: train_images/972_84.png  
  inflating: train_images/972_85.png  
  inflating: train_images/972_87.png  
  inflating: train_images/972_88.png  
  inflating: train_images/972_89.png  
  inflating: train_images/972_90.png  
  inflating: train_images/972_91.png  
  inflating: train_images/972_94.png  
  inflating: train_images/972_95.png  
  inflating: train_images/972_97.png  
  inflating: train_images/972_98.png  
  inflating: train_images/973_00.png  
  inflating: train_images/973_01.png  
  inflating: train_images/973_04.png  
  inflating: train_images/973_05.png  
  inflating: train_images/973_06.png  
  inflating: train_images/973_08.png  
  inflating: train_images/973_09.png  
  inflating: train_images/973_11.png  
  inflating: train_images/973_12.png  
  inflating: train_images/973_13.png  
  inflating: train_images/973_14.png  
  inflating: train_images/973_15.png  
  inflating: train_images/973_16.png  
  inflating: train_images/973_18.png  
  inflating: train_images/973_19.png  
  inflating: train_images/973_20.png  
  inflating: train_images/973_21.png  
  inflating: train_images/973_23.png  
  inflating: train_images/973_24.png  
  inflating: train_images/973_26.png  
  inflating: train_images/973_28.png  
  inflating: train_images/973_29.png  
  inflating: train_images/973_30.png  
  inflating: train_images/973_31.png  
  inflating: train_images/973_33.png  
  inflating: train_images/973_35.png  
  inflating: train_images/973_37.png  
  inflating: train_images/973_38.png  
  inflating: train_images/973_41.png  
  inflating: train_images/973_42.png  
  inflating: train_images/973_43.png  
  inflating: train_images/973_44.png  
  inflating: train_images/973_45.png  
  inflating: train_images/973_50.png  
  inflating: train_images/973_51.png  
  inflating: train_images/973_53.png  
  inflating: train_images/973_54.png  
  inflating: train_images/973_56.png  
  inflating: train_images/973_59.png  
  inflating: train_images/973_60.png  
  inflating: train_images/973_62.png  
  inflating: train_images/973_63.png  
  inflating: train_images/973_65.png  
  inflating: train_images/973_69.png  
  inflating: train_images/973_70.png  
  inflating: train_images/973_72.png  
  inflating: train_images/973_74.png  
  inflating: train_images/973_75.png  
  inflating: train_images/973_76.png  
  inflating: train_images/973_77.png  
  inflating: train_images/973_79.png  
  inflating: train_images/973_81.png  
  inflating: train_images/973_82.png  
  inflating: train_images/973_84.png  
  inflating: train_images/973_85.png  
  inflating: train_images/973_87.png  
  inflating: train_images/973_88.png  
  inflating: train_images/973_89.png  
  inflating: train_images/973_90.png  
  inflating: train_images/973_91.png  
  inflating: train_images/973_94.png  
  inflating: train_images/973_95.png  
  inflating: train_images/973_97.png  
  inflating: train_images/973_98.png  
  inflating: train_images/974_00.png  
  inflating: train_images/974_01.png  
  inflating: train_images/974_04.png  
  inflating: train_images/974_05.png  
  inflating: train_images/974_06.png  
  inflating: train_images/974_08.png  
  inflating: train_images/974_09.png  
  inflating: train_images/974_11.png  
  inflating: train_images/974_12.png  
  inflating: train_images/974_13.png  
  inflating: train_images/974_14.png  
  inflating: train_images/974_15.png  
  inflating: train_images/974_16.png  
  inflating: train_images/974_18.png  
  inflating: train_images/974_19.png  
  inflating: train_images/974_20.png  
  inflating: train_images/974_21.png  
  inflating: train_images/974_23.png  
  inflating: train_images/974_24.png  
  inflating: train_images/974_26.png  
  inflating: train_images/974_28.png  
  inflating: train_images/974_29.png  
  inflating: train_images/974_30.png  
  inflating: train_images/974_31.png  
  inflating: train_images/974_33.png  
  inflating: train_images/974_35.png  
  inflating: train_images/974_37.png  
  inflating: train_images/974_38.png  
  inflating: train_images/974_41.png  
  inflating: train_images/974_42.png  
  inflating: train_images/974_43.png  
  inflating: train_images/974_44.png  
  inflating: train_images/974_45.png  
  inflating: train_images/974_50.png  
  inflating: train_images/974_51.png  
  inflating: train_images/974_53.png  
  inflating: train_images/974_54.png  
  inflating: train_images/974_56.png  
  inflating: train_images/974_59.png  
  inflating: train_images/974_60.png  
  inflating: train_images/974_62.png  
  inflating: train_images/974_63.png  
  inflating: train_images/974_65.png  
  inflating: train_images/974_69.png  
  inflating: train_images/974_70.png  
  inflating: train_images/974_72.png  
  inflating: train_images/974_74.png  
  inflating: train_images/974_75.png  
  inflating: train_images/974_76.png  
  inflating: train_images/974_77.png  
  inflating: train_images/974_79.png  
  inflating: train_images/974_81.png  
  inflating: train_images/974_82.png  
  inflating: train_images/974_84.png  
  inflating: train_images/974_85.png  
  inflating: train_images/974_87.png  
  inflating: train_images/974_88.png  
  inflating: train_images/974_89.png  
  inflating: train_images/974_90.png  
  inflating: train_images/974_91.png  
  inflating: train_images/974_94.png  
  inflating: train_images/974_95.png  
  inflating: train_images/974_97.png  
  inflating: train_images/974_98.png  
  inflating: train_images/975_00.png  
  inflating: train_images/975_01.png  
  inflating: train_images/975_04.png  
  inflating: train_images/975_05.png  
  inflating: train_images/975_06.png  
  inflating: train_images/975_08.png  
  inflating: train_images/975_09.png  
  inflating: train_images/975_11.png  
  inflating: train_images/975_12.png  
  inflating: train_images/975_13.png  
  inflating: train_images/975_14.png  
  inflating: train_images/975_15.png  
  inflating: train_images/975_16.png  
  inflating: train_images/975_18.png  
  inflating: train_images/975_19.png  
  inflating: train_images/975_20.png  
  inflating: train_images/975_21.png  
  inflating: train_images/975_23.png  
  inflating: train_images/975_24.png  
  inflating: train_images/975_26.png  
  inflating: train_images/975_28.png  
  inflating: train_images/975_29.png  
  inflating: train_images/975_30.png  
  inflating: train_images/975_31.png  
  inflating: train_images/975_33.png  
  inflating: train_images/975_35.png  
  inflating: train_images/975_37.png  
  inflating: train_images/975_38.png  
  inflating: train_images/975_41.png  
  inflating: train_images/975_42.png  
  inflating: train_images/975_43.png  
  inflating: train_images/975_44.png  
  inflating: train_images/975_45.png  
  inflating: train_images/975_50.png  
  inflating: train_images/975_51.png  
  inflating: train_images/975_53.png  
  inflating: train_images/975_54.png  
  inflating: train_images/975_56.png  
  inflating: train_images/975_59.png  
  inflating: train_images/975_60.png  
  inflating: train_images/975_62.png  
  inflating: train_images/975_63.png  
  inflating: train_images/975_65.png  
  inflating: train_images/975_69.png  
  inflating: train_images/975_70.png  
  inflating: train_images/975_72.png  
  inflating: train_images/975_74.png  
  inflating: train_images/975_75.png  
  inflating: train_images/975_76.png  
  inflating: train_images/975_77.png  
  inflating: train_images/975_79.png  
  inflating: train_images/975_81.png  
  inflating: train_images/975_82.png  
  inflating: train_images/975_84.png  
  inflating: train_images/975_85.png  
  inflating: train_images/975_87.png  
  inflating: train_images/975_88.png  
  inflating: train_images/975_89.png  
  inflating: train_images/975_90.png  
  inflating: train_images/975_91.png  
  inflating: train_images/975_94.png  
  inflating: train_images/975_95.png  
  inflating: train_images/975_97.png  
  inflating: train_images/975_98.png  
  inflating: train_images/976_00.png  
  inflating: train_images/976_01.png  
  inflating: train_images/976_04.png  
  inflating: train_images/976_05.png  
  inflating: train_images/976_06.png  
  inflating: train_images/976_08.png  
  inflating: train_images/976_09.png  
  inflating: train_images/976_11.png  
  inflating: train_images/976_12.png  
  inflating: train_images/976_13.png  
  inflating: train_images/976_14.png  
  inflating: train_images/976_15.png  
  inflating: train_images/976_16.png  
  inflating: train_images/976_18.png  
  inflating: train_images/976_19.png  
  inflating: train_images/976_20.png  
  inflating: train_images/976_21.png  
  inflating: train_images/976_23.png  
  inflating: train_images/976_24.png  
  inflating: train_images/976_26.png  
  inflating: train_images/976_28.png  
  inflating: train_images/976_29.png  
  inflating: train_images/976_30.png  
  inflating: train_images/976_31.png  
  inflating: train_images/976_33.png  
  inflating: train_images/976_35.png  
  inflating: train_images/976_37.png  
  inflating: train_images/976_38.png  
  inflating: train_images/976_41.png  
  inflating: train_images/976_42.png  
  inflating: train_images/976_43.png  
  inflating: train_images/976_44.png  
  inflating: train_images/976_45.png  
  inflating: train_images/976_50.png  
  inflating: train_images/976_51.png  
  inflating: train_images/976_53.png  
  inflating: train_images/976_54.png  
  inflating: train_images/976_56.png  
  inflating: train_images/976_59.png  
  inflating: train_images/976_60.png  
  inflating: train_images/976_62.png  
  inflating: train_images/976_63.png  
  inflating: train_images/976_65.png  
  inflating: train_images/976_69.png  
  inflating: train_images/976_70.png  
  inflating: train_images/976_72.png  
  inflating: train_images/976_74.png  
  inflating: train_images/976_75.png  
  inflating: train_images/976_76.png  
  inflating: train_images/976_77.png  
  inflating: train_images/976_79.png  
  inflating: train_images/976_81.png  
  inflating: train_images/976_82.png  
  inflating: train_images/976_84.png  
  inflating: train_images/976_85.png  
  inflating: train_images/976_87.png  
  inflating: train_images/976_88.png  
  inflating: train_images/976_89.png  
  inflating: train_images/976_90.png  
  inflating: train_images/976_91.png  
  inflating: train_images/976_94.png  
  inflating: train_images/976_95.png  
  inflating: train_images/976_97.png  
  inflating: train_images/976_98.png  
  inflating: train_images/977_00.png  
  inflating: train_images/977_01.png  
  inflating: train_images/977_04.png  
  inflating: train_images/977_05.png  
  inflating: train_images/977_06.png  
  inflating: train_images/977_08.png  
  inflating: train_images/977_09.png  
  inflating: train_images/977_11.png  
  inflating: train_images/977_12.png  
  inflating: train_images/977_13.png  
  inflating: train_images/977_14.png  
  inflating: train_images/977_15.png  
  inflating: train_images/977_16.png  
  inflating: train_images/977_18.png  
  inflating: train_images/977_19.png  
  inflating: train_images/977_20.png  
  inflating: train_images/977_21.png  
  inflating: train_images/977_23.png  
  inflating: train_images/977_24.png  
  inflating: train_images/977_26.png  
  inflating: train_images/977_28.png  
  inflating: train_images/977_29.png  
  inflating: train_images/977_30.png  
  inflating: train_images/977_31.png  
  inflating: train_images/977_33.png  
  inflating: train_images/977_35.png  
  inflating: train_images/977_37.png  
  inflating: train_images/977_38.png  
  inflating: train_images/977_41.png  
  inflating: train_images/977_42.png  
  inflating: train_images/977_43.png  
  inflating: train_images/977_44.png  
  inflating: train_images/977_45.png  
  inflating: train_images/977_50.png  
  inflating: train_images/977_51.png  
  inflating: train_images/977_53.png  
  inflating: train_images/977_54.png  
  inflating: train_images/977_56.png  
  inflating: train_images/977_59.png  
  inflating: train_images/977_60.png  
  inflating: train_images/977_62.png  
  inflating: train_images/977_63.png  
  inflating: train_images/977_65.png  
  inflating: train_images/977_69.png  
  inflating: train_images/977_70.png  
  inflating: train_images/977_72.png  
  inflating: train_images/977_74.png  
  inflating: train_images/977_75.png  
  inflating: train_images/977_76.png  
  inflating: train_images/977_77.png  
  inflating: train_images/977_79.png  
  inflating: train_images/977_81.png  
  inflating: train_images/977_82.png  
  inflating: train_images/977_84.png  
  inflating: train_images/977_85.png  
  inflating: train_images/977_87.png  
  inflating: train_images/977_88.png  
  inflating: train_images/977_89.png  
  inflating: train_images/977_90.png  
  inflating: train_images/977_91.png  
  inflating: train_images/977_94.png  
  inflating: train_images/977_95.png  
  inflating: train_images/977_97.png  
  inflating: train_images/977_98.png  
  inflating: train_images/978_00.png  
  inflating: train_images/978_01.png  
  inflating: train_images/978_04.png  
  inflating: train_images/978_05.png  
  inflating: train_images/978_06.png  
  inflating: train_images/978_08.png  
  inflating: train_images/978_09.png  
  inflating: train_images/978_11.png  
  inflating: train_images/978_12.png  
  inflating: train_images/978_13.png  
  inflating: train_images/978_14.png  
  inflating: train_images/978_15.png  
  inflating: train_images/978_16.png  
  inflating: train_images/978_18.png  
  inflating: train_images/978_19.png  
  inflating: train_images/978_20.png  
  inflating: train_images/978_21.png  
  inflating: train_images/978_23.png  
  inflating: train_images/978_24.png  
  inflating: train_images/978_26.png  
  inflating: train_images/978_28.png  
  inflating: train_images/978_29.png  
  inflating: train_images/978_30.png  
  inflating: train_images/978_31.png  
  inflating: train_images/978_33.png  
  inflating: train_images/978_35.png  
  inflating: train_images/978_37.png  
  inflating: train_images/978_38.png  
  inflating: train_images/978_41.png  
  inflating: train_images/978_42.png  
  inflating: train_images/978_43.png  
  inflating: train_images/978_44.png  
  inflating: train_images/978_45.png  
  inflating: train_images/978_50.png  
  inflating: train_images/978_51.png  
  inflating: train_images/978_53.png  
  inflating: train_images/978_54.png  
  inflating: train_images/978_56.png  
  inflating: train_images/978_59.png  
  inflating: train_images/978_60.png  
  inflating: train_images/978_62.png  
  inflating: train_images/978_63.png  
  inflating: train_images/978_65.png  
  inflating: train_images/978_69.png  
  inflating: train_images/978_70.png  
  inflating: train_images/978_72.png  
  inflating: train_images/978_74.png  
  inflating: train_images/978_75.png  
  inflating: train_images/978_76.png  
  inflating: train_images/978_77.png  
  inflating: train_images/978_79.png  
  inflating: train_images/978_81.png  
  inflating: train_images/978_82.png  
  inflating: train_images/978_84.png  
  inflating: train_images/978_85.png  
  inflating: train_images/978_87.png  
  inflating: train_images/978_88.png  
  inflating: train_images/978_89.png  
  inflating: train_images/978_90.png  
  inflating: train_images/978_91.png  
  inflating: train_images/978_94.png  
  inflating: train_images/978_95.png  
  inflating: train_images/978_97.png  
  inflating: train_images/978_98.png  
  inflating: train_images/979_00.png  
  inflating: train_images/979_01.png  
  inflating: train_images/979_04.png  
  inflating: train_images/979_05.png  
  inflating: train_images/979_06.png  
  inflating: train_images/979_08.png  
  inflating: train_images/979_09.png  
  inflating: train_images/979_11.png  
  inflating: train_images/979_12.png  
  inflating: train_images/979_13.png  
  inflating: train_images/979_14.png  
  inflating: train_images/979_15.png  
  inflating: train_images/979_16.png  
  inflating: train_images/979_18.png  
  inflating: train_images/979_19.png  
  inflating: train_images/979_20.png  
  inflating: train_images/979_21.png  
  inflating: train_images/979_23.png  
  inflating: train_images/979_24.png  
  inflating: train_images/979_26.png  
  inflating: train_images/979_28.png  
  inflating: train_images/979_29.png  
  inflating: train_images/979_30.png  
  inflating: train_images/979_31.png  
  inflating: train_images/979_33.png  
  inflating: train_images/979_35.png  
  inflating: train_images/979_37.png  
  inflating: train_images/979_38.png  
  inflating: train_images/979_41.png  
  inflating: train_images/979_42.png  
  inflating: train_images/979_43.png  
  inflating: train_images/979_44.png  
  inflating: train_images/979_45.png  
  inflating: train_images/979_50.png  
  inflating: train_images/979_51.png  
  inflating: train_images/979_53.png  
  inflating: train_images/979_54.png  
  inflating: train_images/979_56.png  
  inflating: train_images/979_59.png  
  inflating: train_images/979_60.png  
  inflating: train_images/979_62.png  
  inflating: train_images/979_63.png  
  inflating: train_images/979_65.png  
  inflating: train_images/979_69.png  
  inflating: train_images/979_70.png  
  inflating: train_images/979_72.png  
  inflating: train_images/979_74.png  
  inflating: train_images/979_75.png  
  inflating: train_images/979_76.png  
  inflating: train_images/979_77.png  
  inflating: train_images/979_79.png  
  inflating: train_images/979_81.png  
  inflating: train_images/979_82.png  
  inflating: train_images/979_84.png  
  inflating: train_images/979_85.png  
  inflating: train_images/979_87.png  
  inflating: train_images/979_88.png  
  inflating: train_images/979_89.png  
  inflating: train_images/979_90.png  
  inflating: train_images/979_91.png  
  inflating: train_images/979_94.png  
  inflating: train_images/979_95.png  
  inflating: train_images/979_97.png  
  inflating: train_images/979_98.png  
  inflating: train_images/97_00.png  
  inflating: train_images/97_01.png  
  inflating: train_images/97_04.png  
  inflating: train_images/97_05.png  
  inflating: train_images/97_06.png  
  inflating: train_images/97_08.png  
  inflating: train_images/97_09.png  
  inflating: train_images/97_11.png  
  inflating: train_images/97_12.png  
  inflating: train_images/97_13.png  
  inflating: train_images/97_14.png  
  inflating: train_images/97_15.png  
  inflating: train_images/97_16.png  
  inflating: train_images/97_18.png  
  inflating: train_images/97_19.png  
  inflating: train_images/97_20.png  
  inflating: train_images/97_21.png  
  inflating: train_images/97_23.png  
  inflating: train_images/97_24.png  
  inflating: train_images/97_26.png  
  inflating: train_images/97_28.png  
  inflating: train_images/97_29.png  
  inflating: train_images/97_30.png  
  inflating: train_images/97_31.png  
  inflating: train_images/97_33.png  
  inflating: train_images/97_35.png  
  inflating: train_images/97_37.png  
  inflating: train_images/97_38.png  
  inflating: train_images/97_41.png  
  inflating: train_images/97_42.png  
  inflating: train_images/97_43.png  
  inflating: train_images/97_44.png  
  inflating: train_images/97_45.png  
  inflating: train_images/97_50.png  
  inflating: train_images/97_51.png  
  inflating: train_images/97_53.png  
  inflating: train_images/97_54.png  
  inflating: train_images/97_56.png  
  inflating: train_images/97_59.png  
  inflating: train_images/97_60.png  
  inflating: train_images/97_62.png  
  inflating: train_images/97_63.png  
  inflating: train_images/97_65.png  
  inflating: train_images/97_69.png  
  inflating: train_images/97_70.png  
  inflating: train_images/97_72.png  
  inflating: train_images/97_74.png  
  inflating: train_images/97_75.png  
  inflating: train_images/97_76.png  
  inflating: train_images/97_77.png  
  inflating: train_images/97_79.png  
  inflating: train_images/97_81.png  
  inflating: train_images/97_82.png  
  inflating: train_images/97_84.png  
  inflating: train_images/97_85.png  
  inflating: train_images/97_87.png  
  inflating: train_images/97_88.png  
  inflating: train_images/97_89.png  
  inflating: train_images/97_90.png  
  inflating: train_images/97_91.png  
  inflating: train_images/97_94.png  
  inflating: train_images/97_95.png  
  inflating: train_images/97_97.png  
  inflating: train_images/97_98.png  
  inflating: train_images/980_00.png  
  inflating: train_images/980_01.png  
  inflating: train_images/980_04.png  
  inflating: train_images/980_05.png  
  inflating: train_images/980_06.png  
  inflating: train_images/980_08.png  
  inflating: train_images/980_09.png  
  inflating: train_images/980_11.png  
  inflating: train_images/980_12.png  
  inflating: train_images/980_13.png  
  inflating: train_images/980_14.png  
  inflating: train_images/980_15.png  
  inflating: train_images/980_16.png  
  inflating: train_images/980_18.png  
  inflating: train_images/980_19.png  
  inflating: train_images/980_20.png  
  inflating: train_images/980_21.png  
  inflating: train_images/980_23.png  
  inflating: train_images/980_24.png  
  inflating: train_images/980_26.png  
  inflating: train_images/980_28.png  
  inflating: train_images/980_29.png  
  inflating: train_images/980_30.png  
  inflating: train_images/980_31.png  
  inflating: train_images/980_33.png  
  inflating: train_images/980_35.png  
  inflating: train_images/980_37.png  
  inflating: train_images/980_38.png  
  inflating: train_images/980_41.png  
  inflating: train_images/980_42.png  
  inflating: train_images/980_43.png  
  inflating: train_images/980_44.png  
  inflating: train_images/980_45.png  
  inflating: train_images/980_50.png  
  inflating: train_images/980_51.png  
  inflating: train_images/980_53.png  
  inflating: train_images/980_54.png  
  inflating: train_images/980_56.png  
  inflating: train_images/980_59.png  
  inflating: train_images/980_60.png  
  inflating: train_images/980_62.png  
  inflating: train_images/980_63.png  
  inflating: train_images/980_65.png  
  inflating: train_images/980_69.png  
  inflating: train_images/980_70.png  
  inflating: train_images/980_72.png  
  inflating: train_images/980_74.png  
  inflating: train_images/980_75.png  
  inflating: train_images/980_76.png  
  inflating: train_images/980_77.png  
  inflating: train_images/980_79.png  
  inflating: train_images/980_81.png  
  inflating: train_images/980_82.png  
  inflating: train_images/980_84.png  
  inflating: train_images/980_85.png  
  inflating: train_images/980_87.png  
  inflating: train_images/980_88.png  
  inflating: train_images/980_89.png  
  inflating: train_images/980_90.png  
  inflating: train_images/980_91.png  
  inflating: train_images/980_94.png  
  inflating: train_images/980_95.png  
  inflating: train_images/980_97.png  
  inflating: train_images/980_98.png  
  inflating: train_images/981_00.png  
  inflating: train_images/981_01.png  
  inflating: train_images/981_04.png  
  inflating: train_images/981_05.png  
  inflating: train_images/981_06.png  
  inflating: train_images/981_08.png  
  inflating: train_images/981_09.png  
  inflating: train_images/981_11.png  
  inflating: train_images/981_12.png  
  inflating: train_images/981_13.png  
  inflating: train_images/981_14.png  
  inflating: train_images/981_15.png  
  inflating: train_images/981_16.png  
  inflating: train_images/981_18.png  
  inflating: train_images/981_19.png  
  inflating: train_images/981_20.png  
  inflating: train_images/981_21.png  
  inflating: train_images/981_23.png  
  inflating: train_images/981_24.png  
  inflating: train_images/981_26.png  
  inflating: train_images/981_28.png  
  inflating: train_images/981_29.png  
  inflating: train_images/981_30.png  
  inflating: train_images/981_31.png  
  inflating: train_images/981_33.png  
  inflating: train_images/981_35.png  
  inflating: train_images/981_37.png  
  inflating: train_images/981_38.png  
  inflating: train_images/981_41.png  
  inflating: train_images/981_42.png  
  inflating: train_images/981_43.png  
  inflating: train_images/981_44.png  
  inflating: train_images/981_45.png  
  inflating: train_images/981_50.png  
  inflating: train_images/981_51.png  
  inflating: train_images/981_53.png  
  inflating: train_images/981_54.png  
  inflating: train_images/981_56.png  
  inflating: train_images/981_59.png  
  inflating: train_images/981_60.png  
  inflating: train_images/981_62.png  
  inflating: train_images/981_63.png  
  inflating: train_images/981_65.png  
  inflating: train_images/981_69.png  
  inflating: train_images/981_70.png  
  inflating: train_images/981_72.png  
  inflating: train_images/981_74.png  
  inflating: train_images/981_75.png  
  inflating: train_images/981_76.png  
  inflating: train_images/981_77.png  
  inflating: train_images/981_79.png  
  inflating: train_images/981_81.png  
  inflating: train_images/981_82.png  
  inflating: train_images/981_84.png  
  inflating: train_images/981_85.png  
  inflating: train_images/981_87.png  
  inflating: train_images/981_88.png  
  inflating: train_images/981_89.png  
  inflating: train_images/981_90.png  
  inflating: train_images/981_91.png  
  inflating: train_images/981_94.png  
  inflating: train_images/981_95.png  
  inflating: train_images/981_97.png  
  inflating: train_images/981_98.png  
  inflating: train_images/982_00.png  
  inflating: train_images/982_01.png  
  inflating: train_images/982_04.png  
  inflating: train_images/982_05.png  
  inflating: train_images/982_06.png  
  inflating: train_images/982_08.png  
  inflating: train_images/982_09.png  
  inflating: train_images/982_11.png  
  inflating: train_images/982_12.png  
  inflating: train_images/982_13.png  
  inflating: train_images/982_14.png  
  inflating: train_images/982_15.png  
  inflating: train_images/982_16.png  
  inflating: train_images/982_18.png  
  inflating: train_images/982_19.png  
  inflating: train_images/982_20.png  
  inflating: train_images/982_21.png  
  inflating: train_images/982_23.png  
  inflating: train_images/982_24.png  
  inflating: train_images/982_26.png  
  inflating: train_images/982_28.png  
  inflating: train_images/982_29.png  
  inflating: train_images/982_30.png  
  inflating: train_images/982_31.png  
  inflating: train_images/982_33.png  
  inflating: train_images/982_35.png  
  inflating: train_images/982_37.png  
  inflating: train_images/982_38.png  
  inflating: train_images/982_41.png  
  inflating: train_images/982_42.png  
  inflating: train_images/982_43.png  
  inflating: train_images/982_44.png  
  inflating: train_images/982_45.png  
  inflating: train_images/982_50.png  
  inflating: train_images/982_51.png  
  inflating: train_images/982_53.png  
  inflating: train_images/982_54.png  
  inflating: train_images/982_56.png  
  inflating: train_images/982_59.png  
  inflating: train_images/982_60.png  
  inflating: train_images/982_62.png  
  inflating: train_images/982_63.png  
  inflating: train_images/982_65.png  
  inflating: train_images/982_69.png  
  inflating: train_images/982_70.png  
  inflating: train_images/982_72.png  
  inflating: train_images/982_74.png  
  inflating: train_images/982_75.png  
  inflating: train_images/982_76.png  
  inflating: train_images/982_77.png  
  inflating: train_images/982_79.png  
  inflating: train_images/982_81.png  
  inflating: train_images/982_82.png  
  inflating: train_images/982_84.png  
  inflating: train_images/982_85.png  
  inflating: train_images/982_87.png  
  inflating: train_images/982_88.png  
  inflating: train_images/982_89.png  
  inflating: train_images/982_90.png  
  inflating: train_images/982_91.png  
  inflating: train_images/982_94.png  
  inflating: train_images/982_95.png  
  inflating: train_images/982_97.png  
  inflating: train_images/982_98.png  
  inflating: train_images/983_00.png  
  inflating: train_images/983_01.png  
  inflating: train_images/983_04.png  
  inflating: train_images/983_05.png  
  inflating: train_images/983_06.png  
  inflating: train_images/983_08.png  
  inflating: train_images/983_09.png  
  inflating: train_images/983_11.png  
  inflating: train_images/983_12.png  
  inflating: train_images/983_13.png  
  inflating: train_images/983_14.png  
  inflating: train_images/983_15.png  
  inflating: train_images/983_16.png  
  inflating: train_images/983_18.png  
  inflating: train_images/983_19.png  
  inflating: train_images/983_20.png  
  inflating: train_images/983_21.png  
  inflating: train_images/983_23.png  
  inflating: train_images/983_24.png  
  inflating: train_images/983_26.png  
  inflating: train_images/983_28.png  
  inflating: train_images/983_29.png  
  inflating: train_images/983_30.png  
  inflating: train_images/983_31.png  
  inflating: train_images/983_33.png  
  inflating: train_images/983_35.png  
  inflating: train_images/983_37.png  
  inflating: train_images/983_38.png  
  inflating: train_images/983_41.png  
  inflating: train_images/983_42.png  
  inflating: train_images/983_43.png  
  inflating: train_images/983_44.png  
  inflating: train_images/983_45.png  
  inflating: train_images/983_50.png  
  inflating: train_images/983_51.png  
  inflating: train_images/983_53.png  
  inflating: train_images/983_54.png  
  inflating: train_images/983_56.png  
  inflating: train_images/983_59.png  
  inflating: train_images/983_60.png  
  inflating: train_images/983_62.png  
  inflating: train_images/983_63.png  
  inflating: train_images/983_65.png  
  inflating: train_images/983_69.png  
  inflating: train_images/983_70.png  
  inflating: train_images/983_72.png  
  inflating: train_images/983_74.png  
  inflating: train_images/983_75.png  
  inflating: train_images/983_76.png  
  inflating: train_images/983_77.png  
  inflating: train_images/983_79.png  
  inflating: train_images/983_81.png  
  inflating: train_images/983_82.png  
  inflating: train_images/983_84.png  
  inflating: train_images/983_85.png  
  inflating: train_images/983_87.png  
  inflating: train_images/983_88.png  
  inflating: train_images/983_89.png  
  inflating: train_images/983_90.png  
  inflating: train_images/983_91.png  
  inflating: train_images/983_94.png  
  inflating: train_images/983_95.png  
  inflating: train_images/983_97.png  
  inflating: train_images/983_98.png  
  inflating: train_images/984_00.png  
  inflating: train_images/984_01.png  
  inflating: train_images/984_04.png  
  inflating: train_images/984_05.png  
  inflating: train_images/984_06.png  
  inflating: train_images/984_08.png  
  inflating: train_images/984_09.png  
  inflating: train_images/984_11.png  
  inflating: train_images/984_12.png  
  inflating: train_images/984_13.png  
  inflating: train_images/984_14.png  
  inflating: train_images/984_15.png  
  inflating: train_images/984_16.png  
  inflating: train_images/984_18.png  
  inflating: train_images/984_19.png  
  inflating: train_images/984_20.png  
  inflating: train_images/984_21.png  
  inflating: train_images/984_23.png  
  inflating: train_images/984_24.png  
  inflating: train_images/984_26.png  
  inflating: train_images/984_28.png  
  inflating: train_images/984_29.png  
  inflating: train_images/984_30.png  
  inflating: train_images/984_31.png  
  inflating: train_images/984_33.png  
  inflating: train_images/984_35.png  
  inflating: train_images/984_37.png  
  inflating: train_images/984_38.png  
  inflating: train_images/984_41.png  
  inflating: train_images/984_42.png  
  inflating: train_images/984_43.png  
  inflating: train_images/984_44.png  
  inflating: train_images/984_45.png  
  inflating: train_images/984_50.png  
  inflating: train_images/984_51.png  
  inflating: train_images/984_53.png  
  inflating: train_images/984_54.png  
  inflating: train_images/984_56.png  
  inflating: train_images/984_59.png  
  inflating: train_images/984_60.png  
  inflating: train_images/984_62.png  
  inflating: train_images/984_63.png  
  inflating: train_images/984_65.png  
  inflating: train_images/984_69.png  
  inflating: train_images/984_70.png  
  inflating: train_images/984_72.png  
  inflating: train_images/984_74.png  
  inflating: train_images/984_75.png  
  inflating: train_images/984_76.png  
  inflating: train_images/984_77.png  
  inflating: train_images/984_79.png  
  inflating: train_images/984_81.png  
  inflating: train_images/984_82.png  
  inflating: train_images/984_84.png  
  inflating: train_images/984_85.png  
  inflating: train_images/984_87.png  
  inflating: train_images/984_88.png  
  inflating: train_images/984_89.png  
  inflating: train_images/984_90.png  
  inflating: train_images/984_91.png  
  inflating: train_images/984_94.png  
  inflating: train_images/984_95.png  
  inflating: train_images/984_97.png  
  inflating: train_images/984_98.png  
  inflating: train_images/985_00.png  
  inflating: train_images/985_01.png  
  inflating: train_images/985_04.png  
  inflating: train_images/985_05.png  
  inflating: train_images/985_06.png  
  inflating: train_images/985_08.png  
  inflating: train_images/985_09.png  
  inflating: train_images/985_11.png  
  inflating: train_images/985_12.png  
  inflating: train_images/985_13.png  
  inflating: train_images/985_14.png  
  inflating: train_images/985_15.png  
  inflating: train_images/985_16.png  
  inflating: train_images/985_18.png  
  inflating: train_images/985_19.png  
  inflating: train_images/985_20.png  
  inflating: train_images/985_21.png  
  inflating: train_images/985_23.png  
  inflating: train_images/985_24.png  
  inflating: train_images/985_26.png  
  inflating: train_images/985_28.png  
  inflating: train_images/985_29.png  
  inflating: train_images/985_30.png  
  inflating: train_images/985_31.png  
  inflating: train_images/985_33.png  
  inflating: train_images/985_35.png  
  inflating: train_images/985_37.png  
  inflating: train_images/985_38.png  
  inflating: train_images/985_41.png  
  inflating: train_images/985_42.png  
  inflating: train_images/985_43.png  
  inflating: train_images/985_44.png  
  inflating: train_images/985_45.png  
  inflating: train_images/985_50.png  
  inflating: train_images/985_51.png  
  inflating: train_images/985_53.png  
  inflating: train_images/985_54.png  
  inflating: train_images/985_56.png  
  inflating: train_images/985_59.png  
  inflating: train_images/985_60.png  
  inflating: train_images/985_62.png  
  inflating: train_images/985_63.png  
  inflating: train_images/985_65.png  
  inflating: train_images/985_69.png  
  inflating: train_images/985_70.png  
  inflating: train_images/985_72.png  
  inflating: train_images/985_74.png  
  inflating: train_images/985_75.png  
  inflating: train_images/985_76.png  
  inflating: train_images/985_77.png  
  inflating: train_images/985_79.png  
  inflating: train_images/985_81.png  
  inflating: train_images/985_82.png  
  inflating: train_images/985_84.png  
  inflating: train_images/985_85.png  
  inflating: train_images/985_87.png  
  inflating: train_images/985_88.png  
  inflating: train_images/985_89.png  
  inflating: train_images/985_90.png  
  inflating: train_images/985_91.png  
  inflating: train_images/985_94.png  
  inflating: train_images/985_95.png  
  inflating: train_images/985_97.png  
  inflating: train_images/985_98.png  
  inflating: train_images/986_00.png  
  inflating: train_images/986_01.png  
  inflating: train_images/986_04.png  
  inflating: train_images/986_05.png  
  inflating: train_images/986_06.png  
  inflating: train_images/986_08.png  
  inflating: train_images/986_09.png  
  inflating: train_images/986_11.png  
  inflating: train_images/986_12.png  
  inflating: train_images/986_13.png  
  inflating: train_images/986_14.png  
  inflating: train_images/986_15.png  
  inflating: train_images/986_16.png  
  inflating: train_images/986_18.png  
  inflating: train_images/986_19.png  
  inflating: train_images/986_20.png  
  inflating: train_images/986_21.png  
  inflating: train_images/986_23.png  
  inflating: train_images/986_24.png  
  inflating: train_images/986_26.png  
  inflating: train_images/986_28.png  
  inflating: train_images/986_29.png  
  inflating: train_images/986_30.png  
  inflating: train_images/986_31.png  
  inflating: train_images/986_33.png  
  inflating: train_images/986_35.png  
  inflating: train_images/986_37.png  
  inflating: train_images/986_38.png  
  inflating: train_images/986_41.png  
  inflating: train_images/986_42.png  
  inflating: train_images/986_43.png  
  inflating: train_images/986_44.png  
  inflating: train_images/986_45.png  
  inflating: train_images/986_50.png  
  inflating: train_images/986_51.png  
  inflating: train_images/986_53.png  
  inflating: train_images/986_54.png  
  inflating: train_images/986_56.png  
  inflating: train_images/986_59.png  
  inflating: train_images/986_60.png  
  inflating: train_images/986_62.png  
  inflating: train_images/986_63.png  
  inflating: train_images/986_65.png  
  inflating: train_images/986_69.png  
  inflating: train_images/986_70.png  
  inflating: train_images/986_72.png  
  inflating: train_images/986_74.png  
  inflating: train_images/986_75.png  
  inflating: train_images/986_76.png  
  inflating: train_images/986_77.png  
  inflating: train_images/986_79.png  
  inflating: train_images/986_81.png  
  inflating: train_images/986_82.png  
  inflating: train_images/986_84.png  
  inflating: train_images/986_85.png  
  inflating: train_images/986_87.png  
  inflating: train_images/986_88.png  
  inflating: train_images/986_89.png  
  inflating: train_images/986_90.png  
  inflating: train_images/986_91.png  
  inflating: train_images/986_94.png  
  inflating: train_images/986_95.png  
  inflating: train_images/986_97.png  
  inflating: train_images/986_98.png  
  inflating: train_images/987_00.png  
  inflating: train_images/987_01.png  
  inflating: train_images/987_04.png  
  inflating: train_images/987_05.png  
  inflating: train_images/987_06.png  
  inflating: train_images/987_08.png  
  inflating: train_images/987_09.png  
  inflating: train_images/987_11.png  
  inflating: train_images/987_12.png  
  inflating: train_images/987_13.png  
  inflating: train_images/987_14.png  
  inflating: train_images/987_15.png  
  inflating: train_images/987_16.png  
  inflating: train_images/987_18.png  
  inflating: train_images/987_19.png  
  inflating: train_images/987_20.png  
  inflating: train_images/987_21.png  
  inflating: train_images/987_23.png  
  inflating: train_images/987_24.png  
  inflating: train_images/987_26.png  
  inflating: train_images/987_28.png  
  inflating: train_images/987_29.png  
  inflating: train_images/987_30.png  
  inflating: train_images/987_31.png  
  inflating: train_images/987_33.png  
  inflating: train_images/987_35.png  
  inflating: train_images/987_37.png  
  inflating: train_images/987_38.png  
  inflating: train_images/987_41.png  
  inflating: train_images/987_42.png  
  inflating: train_images/987_43.png  
  inflating: train_images/987_44.png  
  inflating: train_images/987_45.png  
  inflating: train_images/987_50.png  
  inflating: train_images/987_51.png  
  inflating: train_images/987_53.png  
  inflating: train_images/987_54.png  
  inflating: train_images/987_56.png  
  inflating: train_images/987_59.png  
  inflating: train_images/987_60.png  
  inflating: train_images/987_62.png  
  inflating: train_images/987_63.png  
  inflating: train_images/987_65.png  
  inflating: train_images/987_69.png  
  inflating: train_images/987_70.png  
  inflating: train_images/987_72.png  
  inflating: train_images/987_74.png  
  inflating: train_images/987_75.png  
  inflating: train_images/987_76.png  
  inflating: train_images/987_77.png  
  inflating: train_images/987_79.png  
  inflating: train_images/987_81.png  
  inflating: train_images/987_82.png  
  inflating: train_images/987_84.png  
  inflating: train_images/987_85.png  
  inflating: train_images/987_87.png  
  inflating: train_images/987_88.png  
  inflating: train_images/987_89.png  
  inflating: train_images/987_90.png  
  inflating: train_images/987_91.png  
  inflating: train_images/987_94.png  
  inflating: train_images/987_95.png  
  inflating: train_images/987_97.png  
  inflating: train_images/987_98.png  
  inflating: train_images/988_00.png  
  inflating: train_images/988_01.png  
  inflating: train_images/988_04.png  
  inflating: train_images/988_05.png  
  inflating: train_images/988_06.png  
  inflating: train_images/988_08.png  
  inflating: train_images/988_09.png  
  inflating: train_images/988_11.png  
  inflating: train_images/988_12.png  
  inflating: train_images/988_13.png  
  inflating: train_images/988_14.png  
  inflating: train_images/988_15.png  
  inflating: train_images/988_16.png  
  inflating: train_images/988_18.png  
  inflating: train_images/988_19.png  
  inflating: train_images/988_20.png  
  inflating: train_images/988_21.png  
  inflating: train_images/988_23.png  
  inflating: train_images/988_24.png  
  inflating: train_images/988_26.png  
  inflating: train_images/988_28.png  
  inflating: train_images/988_29.png  
  inflating: train_images/988_30.png  
  inflating: train_images/988_31.png  
  inflating: train_images/988_33.png  
  inflating: train_images/988_35.png  
  inflating: train_images/988_37.png  
  inflating: train_images/988_38.png  
  inflating: train_images/988_41.png  
  inflating: train_images/988_42.png  
  inflating: train_images/988_43.png  
  inflating: train_images/988_44.png  
  inflating: train_images/988_45.png  
  inflating: train_images/988_50.png  
  inflating: train_images/988_51.png  
  inflating: train_images/988_53.png  
  inflating: train_images/988_54.png  
  inflating: train_images/988_56.png  
  inflating: train_images/988_59.png  
  inflating: train_images/988_60.png  
  inflating: train_images/988_62.png  
  inflating: train_images/988_63.png  
  inflating: train_images/988_65.png  
  inflating: train_images/988_69.png  
  inflating: train_images/988_70.png  
  inflating: train_images/988_72.png  
  inflating: train_images/988_74.png  
  inflating: train_images/988_75.png  
  inflating: train_images/988_76.png  
  inflating: train_images/988_77.png  
  inflating: train_images/988_79.png  
  inflating: train_images/988_81.png  
  inflating: train_images/988_82.png  
  inflating: train_images/988_84.png  
  inflating: train_images/988_85.png  
  inflating: train_images/988_87.png  
  inflating: train_images/988_88.png  
  inflating: train_images/988_89.png  
  inflating: train_images/988_90.png  
  inflating: train_images/988_91.png  
  inflating: train_images/988_94.png  
  inflating: train_images/988_95.png  
  inflating: train_images/988_97.png  
  inflating: train_images/988_98.png  
  inflating: train_images/989_00.png  
  inflating: train_images/989_01.png  
  inflating: train_images/989_04.png  
  inflating: train_images/989_05.png  
  inflating: train_images/989_06.png  
  inflating: train_images/989_08.png  
  inflating: train_images/989_09.png  
  inflating: train_images/989_11.png  
  inflating: train_images/989_12.png  
  inflating: train_images/989_13.png  
  inflating: train_images/989_14.png  
  inflating: train_images/989_15.png  
  inflating: train_images/989_16.png  
  inflating: train_images/989_18.png  
  inflating: train_images/989_19.png  
  inflating: train_images/989_20.png  
  inflating: train_images/989_21.png  
  inflating: train_images/989_23.png  
  inflating: train_images/989_24.png  
  inflating: train_images/989_26.png  
  inflating: train_images/989_28.png  
  inflating: train_images/989_29.png  
  inflating: train_images/989_30.png  
  inflating: train_images/989_31.png  
  inflating: train_images/989_33.png  
  inflating: train_images/989_35.png  
  inflating: train_images/989_37.png  
  inflating: train_images/989_38.png  
  inflating: train_images/989_41.png  
  inflating: train_images/989_42.png  
  inflating: train_images/989_43.png  
  inflating: train_images/989_44.png  
  inflating: train_images/989_45.png  
  inflating: train_images/989_50.png  
  inflating: train_images/989_51.png  
  inflating: train_images/989_53.png  
  inflating: train_images/989_54.png  
  inflating: train_images/989_56.png  
  inflating: train_images/989_59.png  
  inflating: train_images/989_60.png  
  inflating: train_images/989_62.png  
  inflating: train_images/989_63.png  
  inflating: train_images/989_65.png  
  inflating: train_images/989_69.png  
  inflating: train_images/989_70.png  
  inflating: train_images/989_72.png  
  inflating: train_images/989_74.png  
  inflating: train_images/989_75.png  
  inflating: train_images/989_76.png  
  inflating: train_images/989_77.png  
  inflating: train_images/989_79.png  
  inflating: train_images/989_81.png  
  inflating: train_images/989_82.png  
  inflating: train_images/989_84.png  
  inflating: train_images/989_85.png  
  inflating: train_images/989_87.png  
  inflating: train_images/989_88.png  
  inflating: train_images/989_89.png  
  inflating: train_images/989_90.png  
  inflating: train_images/989_91.png  
  inflating: train_images/989_94.png  
  inflating: train_images/989_95.png  
  inflating: train_images/989_97.png  
  inflating: train_images/989_98.png  
  inflating: train_images/98_00.png  
  inflating: train_images/98_01.png  
  inflating: train_images/98_04.png  
  inflating: train_images/98_05.png  
  inflating: train_images/98_06.png  
  inflating: train_images/98_08.png  
  inflating: train_images/98_09.png  
  inflating: train_images/98_11.png  
  inflating: train_images/98_12.png  
  inflating: train_images/98_13.png  
  inflating: train_images/98_14.png  
  inflating: train_images/98_15.png  
  inflating: train_images/98_16.png  
  inflating: train_images/98_18.png  
  inflating: train_images/98_19.png  
  inflating: train_images/98_20.png  
  inflating: train_images/98_21.png  
  inflating: train_images/98_23.png  
  inflating: train_images/98_24.png  
  inflating: train_images/98_26.png  
  inflating: train_images/98_28.png  
  inflating: train_images/98_29.png  
  inflating: train_images/98_30.png  
  inflating: train_images/98_31.png  
  inflating: train_images/98_33.png  
  inflating: train_images/98_35.png  
  inflating: train_images/98_37.png  
  inflating: train_images/98_38.png  
  inflating: train_images/98_41.png  
  inflating: train_images/98_42.png  
  inflating: train_images/98_43.png  
  inflating: train_images/98_44.png  
  inflating: train_images/98_45.png  
  inflating: train_images/98_50.png  
  inflating: train_images/98_51.png  
  inflating: train_images/98_53.png  
  inflating: train_images/98_54.png  
  inflating: train_images/98_56.png  
  inflating: train_images/98_59.png  
  inflating: train_images/98_60.png  
  inflating: train_images/98_62.png  
  inflating: train_images/98_63.png  
  inflating: train_images/98_65.png  
  inflating: train_images/98_69.png  
  inflating: train_images/98_70.png  
  inflating: train_images/98_72.png  
  inflating: train_images/98_74.png  
  inflating: train_images/98_75.png  
  inflating: train_images/98_76.png  
  inflating: train_images/98_77.png  
  inflating: train_images/98_79.png  
  inflating: train_images/98_81.png  
  inflating: train_images/98_82.png  
  inflating: train_images/98_84.png  
  inflating: train_images/98_85.png  
  inflating: train_images/98_87.png  
  inflating: train_images/98_88.png  
  inflating: train_images/98_89.png  
  inflating: train_images/98_90.png  
  inflating: train_images/98_91.png  
  inflating: train_images/98_94.png  
  inflating: train_images/98_95.png  
  inflating: train_images/98_97.png  
  inflating: train_images/98_98.png  
  inflating: train_images/990_00.png  
  inflating: train_images/990_01.png  
  inflating: train_images/990_04.png  
  inflating: train_images/990_05.png  
  inflating: train_images/990_06.png  
  inflating: train_images/990_08.png  
  inflating: train_images/990_09.png  
  inflating: train_images/990_11.png  
  inflating: train_images/990_12.png  
  inflating: train_images/990_13.png  
  inflating: train_images/990_14.png  
  inflating: train_images/990_15.png  
  inflating: train_images/990_16.png  
  inflating: train_images/990_18.png  
  inflating: train_images/990_19.png  
  inflating: train_images/990_20.png  
  inflating: train_images/990_21.png  
  inflating: train_images/990_23.png  
  inflating: train_images/990_24.png  
  inflating: train_images/990_26.png  
  inflating: train_images/990_28.png  
  inflating: train_images/990_29.png  
  inflating: train_images/990_30.png  
  inflating: train_images/990_31.png  
  inflating: train_images/990_33.png  
  inflating: train_images/990_35.png  
  inflating: train_images/990_37.png  
  inflating: train_images/990_38.png  
  inflating: train_images/990_41.png  
  inflating: train_images/990_42.png  
  inflating: train_images/990_43.png  
  inflating: train_images/990_44.png  
  inflating: train_images/990_45.png  
  inflating: train_images/990_50.png  
  inflating: train_images/990_51.png  
  inflating: train_images/990_53.png  
  inflating: train_images/990_54.png  
  inflating: train_images/990_56.png  
  inflating: train_images/990_59.png  
  inflating: train_images/990_60.png  
  inflating: train_images/990_62.png  
  inflating: train_images/990_63.png  
  inflating: train_images/990_65.png  
  inflating: train_images/990_69.png  
  inflating: train_images/990_70.png  
  inflating: train_images/990_72.png  
  inflating: train_images/990_74.png  
  inflating: train_images/990_75.png  
  inflating: train_images/990_76.png  
  inflating: train_images/990_77.png  
  inflating: train_images/990_79.png  
  inflating: train_images/990_81.png  
  inflating: train_images/990_82.png  
  inflating: train_images/990_84.png  
  inflating: train_images/990_85.png  
  inflating: train_images/990_87.png  
  inflating: train_images/990_88.png  
  inflating: train_images/990_89.png  
  inflating: train_images/990_90.png  
  inflating: train_images/990_91.png  
  inflating: train_images/990_94.png  
  inflating: train_images/990_95.png  
  inflating: train_images/990_97.png  
  inflating: train_images/990_98.png  
  inflating: train_images/991_00.png  
  inflating: train_images/991_01.png  
  inflating: train_images/991_04.png  
  inflating: train_images/991_05.png  
  inflating: train_images/991_06.png  
  inflating: train_images/991_08.png  
  inflating: train_images/991_09.png  
  inflating: train_images/991_11.png  
  inflating: train_images/991_12.png  
  inflating: train_images/991_13.png  
  inflating: train_images/991_14.png  
  inflating: train_images/991_15.png  
  inflating: train_images/991_16.png  
  inflating: train_images/991_18.png  
  inflating: train_images/991_19.png  
  inflating: train_images/991_20.png  
  inflating: train_images/991_21.png  
  inflating: train_images/991_23.png  
  inflating: train_images/991_24.png  
  inflating: train_images/991_26.png  
  inflating: train_images/991_28.png  
  inflating: train_images/991_29.png  
  inflating: train_images/991_30.png  
  inflating: train_images/991_31.png  
  inflating: train_images/991_33.png  
  inflating: train_images/991_35.png  
  inflating: train_images/991_37.png  
  inflating: train_images/991_38.png  
  inflating: train_images/991_41.png  
  inflating: train_images/991_42.png  
  inflating: train_images/991_43.png  
  inflating: train_images/991_44.png  
  inflating: train_images/991_45.png  
  inflating: train_images/991_50.png  
  inflating: train_images/991_51.png  
  inflating: train_images/991_53.png  
  inflating: train_images/991_54.png  
  inflating: train_images/991_56.png  
  inflating: train_images/991_59.png  
  inflating: train_images/991_60.png  
  inflating: train_images/991_62.png  
  inflating: train_images/991_63.png  
  inflating: train_images/991_65.png  
  inflating: train_images/991_69.png  
  inflating: train_images/991_70.png  
  inflating: train_images/991_72.png  
  inflating: train_images/991_74.png  
  inflating: train_images/991_75.png  
  inflating: train_images/991_76.png  
  inflating: train_images/991_77.png  
  inflating: train_images/991_79.png  
  inflating: train_images/991_81.png  
  inflating: train_images/991_82.png  
  inflating: train_images/991_84.png  
  inflating: train_images/991_85.png  
  inflating: train_images/991_87.png  
  inflating: train_images/991_88.png  
  inflating: train_images/991_89.png  
  inflating: train_images/991_90.png  
  inflating: train_images/991_91.png  
  inflating: train_images/991_94.png  
  inflating: train_images/991_95.png  
  inflating: train_images/991_97.png  
  inflating: train_images/991_98.png  
  inflating: train_images/992_00.png  
  inflating: train_images/992_01.png  
  inflating: train_images/992_04.png  
  inflating: train_images/992_05.png  
  inflating: train_images/992_06.png  
  inflating: train_images/992_08.png  
  inflating: train_images/992_09.png  
  inflating: train_images/992_11.png  
  inflating: train_images/992_12.png  
  inflating: train_images/992_13.png  
  inflating: train_images/992_14.png  
  inflating: train_images/992_15.png  
  inflating: train_images/992_16.png  
  inflating: train_images/992_18.png  
  inflating: train_images/992_19.png  
  inflating: train_images/992_20.png  
  inflating: train_images/992_21.png  
  inflating: train_images/992_23.png  
  inflating: train_images/992_24.png  
  inflating: train_images/992_26.png  
  inflating: train_images/992_28.png  
  inflating: train_images/992_29.png  
  inflating: train_images/992_30.png  
  inflating: train_images/992_31.png  
  inflating: train_images/992_33.png  
  inflating: train_images/992_35.png  
  inflating: train_images/992_37.png  
  inflating: train_images/992_38.png  
  inflating: train_images/992_41.png  
  inflating: train_images/992_42.png  
  inflating: train_images/992_43.png  
  inflating: train_images/992_44.png  
  inflating: train_images/992_45.png  
  inflating: train_images/992_50.png  
  inflating: train_images/992_51.png  
  inflating: train_images/992_53.png  
  inflating: train_images/992_54.png  
  inflating: train_images/992_56.png  
  inflating: train_images/992_59.png  
  inflating: train_images/992_60.png  
  inflating: train_images/992_62.png  
  inflating: train_images/992_63.png  
  inflating: train_images/992_65.png  
  inflating: train_images/992_69.png  
  inflating: train_images/992_70.png  
  inflating: train_images/992_72.png  
  inflating: train_images/992_74.png  
  inflating: train_images/992_75.png  
  inflating: train_images/992_76.png  
  inflating: train_images/992_77.png  
  inflating: train_images/992_79.png  
  inflating: train_images/992_81.png  
  inflating: train_images/992_82.png  
  inflating: train_images/992_84.png  
  inflating: train_images/992_85.png  
  inflating: train_images/992_87.png  
  inflating: train_images/992_88.png  
  inflating: train_images/992_89.png  
  inflating: train_images/992_90.png  
  inflating: train_images/992_91.png  
  inflating: train_images/992_94.png  
  inflating: train_images/992_95.png  
  inflating: train_images/992_97.png  
  inflating: train_images/992_98.png  
  inflating: train_images/993_00.png  
  inflating: train_images/993_01.png  
  inflating: train_images/993_04.png  
  inflating: train_images/993_05.png  
  inflating: train_images/993_06.png  
  inflating: train_images/993_08.png  
  inflating: train_images/993_09.png  
  inflating: train_images/993_11.png  
  inflating: train_images/993_12.png  
  inflating: train_images/993_13.png  
  inflating: train_images/993_14.png  
  inflating: train_images/993_15.png  
  inflating: train_images/993_16.png  
  inflating: train_images/993_18.png  
  inflating: train_images/993_19.png  
  inflating: train_images/993_20.png  
  inflating: train_images/993_21.png  
  inflating: train_images/993_23.png  
  inflating: train_images/993_24.png  
  inflating: train_images/993_26.png  
  inflating: train_images/993_28.png  
  inflating: train_images/993_29.png  
  inflating: train_images/993_30.png  
  inflating: train_images/993_31.png  
  inflating: train_images/993_33.png  
  inflating: train_images/993_35.png  
  inflating: train_images/993_37.png  
  inflating: train_images/993_38.png  
  inflating: train_images/993_41.png  
  inflating: train_images/993_42.png  
  inflating: train_images/993_43.png  
  inflating: train_images/993_44.png  
  inflating: train_images/993_45.png  
  inflating: train_images/993_50.png  
  inflating: train_images/993_51.png  
  inflating: train_images/993_53.png  
  inflating: train_images/993_54.png  
  inflating: train_images/993_56.png  
  inflating: train_images/993_59.png  
  inflating: train_images/993_60.png  
  inflating: train_images/993_62.png  
  inflating: train_images/993_63.png  
  inflating: train_images/993_65.png  
  inflating: train_images/993_69.png  
  inflating: train_images/993_70.png  
  inflating: train_images/993_72.png  
  inflating: train_images/993_74.png  
  inflating: train_images/993_75.png  
  inflating: train_images/993_76.png  
  inflating: train_images/993_77.png  
  inflating: train_images/993_79.png  
  inflating: train_images/993_81.png  
  inflating: train_images/993_82.png  
  inflating: train_images/993_84.png  
  inflating: train_images/993_85.png  
  inflating: train_images/993_87.png  
  inflating: train_images/993_88.png  
  inflating: train_images/993_89.png  
  inflating: train_images/993_90.png  
  inflating: train_images/993_91.png  
  inflating: train_images/993_94.png  
  inflating: train_images/993_95.png  
  inflating: train_images/993_97.png  
  inflating: train_images/993_98.png  
  inflating: train_images/994_00.png  
  inflating: train_images/994_01.png  
  inflating: train_images/994_04.png  
  inflating: train_images/994_05.png  
  inflating: train_images/994_06.png  
  inflating: train_images/994_08.png  
  inflating: train_images/994_09.png  
  inflating: train_images/994_11.png  
  inflating: train_images/994_12.png  
  inflating: train_images/994_13.png  
  inflating: train_images/994_14.png  
  inflating: train_images/994_15.png  
  inflating: train_images/994_16.png  
  inflating: train_images/994_18.png  
  inflating: train_images/994_19.png  
  inflating: train_images/994_20.png  
  inflating: train_images/994_21.png  
  inflating: train_images/994_23.png  
  inflating: train_images/994_24.png  
  inflating: train_images/994_26.png  
  inflating: train_images/994_28.png  
  inflating: train_images/994_29.png  
  inflating: train_images/994_30.png  
  inflating: train_images/994_31.png  
  inflating: train_images/994_33.png  
  inflating: train_images/994_35.png  
  inflating: train_images/994_37.png  
  inflating: train_images/994_38.png  
  inflating: train_images/994_41.png  
  inflating: train_images/994_42.png  
  inflating: train_images/994_43.png  
  inflating: train_images/994_44.png  
  inflating: train_images/994_45.png  
  inflating: train_images/994_50.png  
  inflating: train_images/994_51.png  
  inflating: train_images/994_53.png  
  inflating: train_images/994_54.png  
  inflating: train_images/994_56.png  
  inflating: train_images/994_59.png  
  inflating: train_images/994_60.png  
  inflating: train_images/994_62.png  
  inflating: train_images/994_63.png  
  inflating: train_images/994_65.png  
  inflating: train_images/994_69.png  
  inflating: train_images/994_70.png  
  inflating: train_images/994_72.png  
  inflating: train_images/994_74.png  
  inflating: train_images/994_75.png  
  inflating: train_images/994_76.png  
  inflating: train_images/994_77.png  
  inflating: train_images/994_79.png  
  inflating: train_images/994_81.png  
  inflating: train_images/994_82.png  
  inflating: train_images/994_84.png  
  inflating: train_images/994_85.png  
  inflating: train_images/994_87.png  
  inflating: train_images/994_88.png  
  inflating: train_images/994_89.png  
  inflating: train_images/994_90.png  
  inflating: train_images/994_91.png  
  inflating: train_images/994_94.png  
  inflating: train_images/994_95.png  
  inflating: train_images/994_97.png  
  inflating: train_images/994_98.png  
  inflating: train_images/995_00.png  
  inflating: train_images/995_01.png  
  inflating: train_images/995_04.png  
  inflating: train_images/995_05.png  
  inflating: train_images/995_06.png  
  inflating: train_images/995_08.png  
  inflating: train_images/995_09.png  
  inflating: train_images/995_11.png  
  inflating: train_images/995_12.png  
  inflating: train_images/995_13.png  
  inflating: train_images/995_14.png  
  inflating: train_images/995_15.png  
  inflating: train_images/995_16.png  
  inflating: train_images/995_18.png  
  inflating: train_images/995_19.png  
  inflating: train_images/995_20.png  
  inflating: train_images/995_21.png  
  inflating: train_images/995_23.png  
  inflating: train_images/995_24.png  
  inflating: train_images/995_26.png  
  inflating: train_images/995_28.png  
  inflating: train_images/995_29.png  
  inflating: train_images/995_30.png  
  inflating: train_images/995_31.png  
  inflating: train_images/995_33.png  
  inflating: train_images/995_35.png  
  inflating: train_images/995_37.png  
  inflating: train_images/995_38.png  
  inflating: train_images/995_41.png  
  inflating: train_images/995_42.png  
  inflating: train_images/995_43.png  
  inflating: train_images/995_44.png  
  inflating: train_images/995_45.png  
  inflating: train_images/995_50.png  
  inflating: train_images/995_51.png  
  inflating: train_images/995_53.png  
  inflating: train_images/995_54.png  
  inflating: train_images/995_56.png  
  inflating: train_images/995_59.png  
  inflating: train_images/995_60.png  
  inflating: train_images/995_62.png  
  inflating: train_images/995_63.png  
  inflating: train_images/995_65.png  
  inflating: train_images/995_69.png  
  inflating: train_images/995_70.png  
  inflating: train_images/995_72.png  
  inflating: train_images/995_74.png  
  inflating: train_images/995_75.png  
  inflating: train_images/995_76.png  
  inflating: train_images/995_77.png  
  inflating: train_images/995_79.png  
  inflating: train_images/995_81.png  
  inflating: train_images/995_82.png  
  inflating: train_images/995_84.png  
  inflating: train_images/995_85.png  
  inflating: train_images/995_87.png  
  inflating: train_images/995_88.png  
  inflating: train_images/995_89.png  
  inflating: train_images/995_90.png  
  inflating: train_images/995_91.png  
  inflating: train_images/995_94.png  
  inflating: train_images/995_95.png  
  inflating: train_images/995_97.png  
  inflating: train_images/995_98.png  
  inflating: train_images/996_00.png  
  inflating: train_images/996_01.png  
  inflating: train_images/996_04.png  
  inflating: train_images/996_05.png  
  inflating: train_images/996_06.png  
  inflating: train_images/996_08.png  
  inflating: train_images/996_09.png  
  inflating: train_images/996_11.png  
  inflating: train_images/996_12.png  
  inflating: train_images/996_13.png  
  inflating: train_images/996_14.png  
  inflating: train_images/996_15.png  
  inflating: train_images/996_16.png  
  inflating: train_images/996_18.png  
  inflating: train_images/996_19.png  
  inflating: train_images/996_20.png  
  inflating: train_images/996_21.png  
  inflating: train_images/996_23.png  
  inflating: train_images/996_24.png  
  inflating: train_images/996_26.png  
  inflating: train_images/996_28.png  
  inflating: train_images/996_29.png  
  inflating: train_images/996_30.png  
  inflating: train_images/996_31.png  
  inflating: train_images/996_33.png  
  inflating: train_images/996_35.png  
  inflating: train_images/996_37.png  
  inflating: train_images/996_38.png  
  inflating: train_images/996_41.png  
  inflating: train_images/996_42.png  
  inflating: train_images/996_43.png  
  inflating: train_images/996_44.png  
  inflating: train_images/996_45.png  
  inflating: train_images/996_50.png  
  inflating: train_images/996_51.png  
  inflating: train_images/996_53.png  
  inflating: train_images/996_54.png  
  inflating: train_images/996_56.png  
  inflating: train_images/996_59.png  
  inflating: train_images/996_60.png  
  inflating: train_images/996_62.png  
  inflating: train_images/996_63.png  
  inflating: train_images/996_65.png  
  inflating: train_images/996_69.png  
  inflating: train_images/996_70.png  
  inflating: train_images/996_72.png  
  inflating: train_images/996_74.png  
  inflating: train_images/996_75.png  
  inflating: train_images/996_76.png  
  inflating: train_images/996_77.png  
  inflating: train_images/996_79.png  
  inflating: train_images/996_81.png  
  inflating: train_images/996_82.png  
  inflating: train_images/996_84.png  
  inflating: train_images/996_85.png  
  inflating: train_images/996_87.png  
  inflating: train_images/996_88.png  
  inflating: train_images/996_89.png  
  inflating: train_images/996_90.png  
  inflating: train_images/996_91.png  
  inflating: train_images/996_94.png  
  inflating: train_images/996_95.png  
  inflating: train_images/996_97.png  
  inflating: train_images/996_98.png  
  inflating: train_images/997_00.png  
  inflating: train_images/997_01.png  
  inflating: train_images/997_04.png  
  inflating: train_images/997_05.png  
  inflating: train_images/997_06.png  
  inflating: train_images/997_08.png  
  inflating: train_images/997_09.png  
  inflating: train_images/997_11.png  
  inflating: train_images/997_12.png  
  inflating: train_images/997_13.png  
  inflating: train_images/997_14.png  
  inflating: train_images/997_15.png  
  inflating: train_images/997_16.png  
  inflating: train_images/997_18.png  
  inflating: train_images/997_19.png  
  inflating: train_images/997_20.png  
  inflating: train_images/997_21.png  
  inflating: train_images/997_23.png  
  inflating: train_images/997_24.png  
  inflating: train_images/997_26.png  
  inflating: train_images/997_28.png  
  inflating: train_images/997_29.png  
  inflating: train_images/997_30.png  
  inflating: train_images/997_31.png  
  inflating: train_images/997_33.png  
  inflating: train_images/997_35.png  
  inflating: train_images/997_37.png  
  inflating: train_images/997_38.png  
  inflating: train_images/997_41.png  
  inflating: train_images/997_42.png  
  inflating: train_images/997_43.png  
  inflating: train_images/997_44.png  
  inflating: train_images/997_45.png  
  inflating: train_images/997_50.png  
  inflating: train_images/997_51.png  
  inflating: train_images/997_53.png  
  inflating: train_images/997_54.png  
  inflating: train_images/997_56.png  
  inflating: train_images/997_59.png  
  inflating: train_images/997_60.png  
  inflating: train_images/997_62.png  
  inflating: train_images/997_63.png  
  inflating: train_images/997_65.png  
  inflating: train_images/997_69.png  
  inflating: train_images/997_70.png  
  inflating: train_images/997_72.png  
  inflating: train_images/997_74.png  
  inflating: train_images/997_75.png  
  inflating: train_images/997_76.png  
  inflating: train_images/997_77.png  
  inflating: train_images/997_79.png  
  inflating: train_images/997_81.png  
  inflating: train_images/997_82.png  
  inflating: train_images/997_84.png  
  inflating: train_images/997_85.png  
  inflating: train_images/997_87.png  
  inflating: train_images/997_88.png  
  inflating: train_images/997_89.png  
  inflating: train_images/997_90.png  
  inflating: train_images/997_91.png  
  inflating: train_images/997_94.png  
  inflating: train_images/997_95.png  
  inflating: train_images/997_97.png  
  inflating: train_images/997_98.png  
  inflating: train_images/998_00.png  
  inflating: train_images/998_01.png  
  inflating: train_images/998_04.png  
  inflating: train_images/998_05.png  
  inflating: train_images/998_06.png  
  inflating: train_images/998_08.png  
  inflating: train_images/998_09.png  
  inflating: train_images/998_11.png  
  inflating: train_images/998_12.png  
  inflating: train_images/998_13.png  
  inflating: train_images/998_14.png  
  inflating: train_images/998_15.png  
  inflating: train_images/998_16.png  
  inflating: train_images/998_18.png  
  inflating: train_images/998_19.png  
  inflating: train_images/998_20.png  
  inflating: train_images/998_21.png  
  inflating: train_images/998_23.png  
  inflating: train_images/998_24.png  
  inflating: train_images/998_26.png  
  inflating: train_images/998_28.png  
  inflating: train_images/998_29.png  
  inflating: train_images/998_30.png  
  inflating: train_images/998_31.png  
  inflating: train_images/998_33.png  
  inflating: train_images/998_35.png  
  inflating: train_images/998_37.png  
  inflating: train_images/998_38.png  
  inflating: train_images/998_41.png  
  inflating: train_images/998_42.png  
  inflating: train_images/998_43.png  
  inflating: train_images/998_44.png  
  inflating: train_images/998_45.png  
  inflating: train_images/998_50.png  
  inflating: train_images/998_51.png  
  inflating: train_images/998_53.png  
  inflating: train_images/998_54.png  
  inflating: train_images/998_56.png  
  inflating: train_images/998_59.png  
  inflating: train_images/998_60.png  
  inflating: train_images/998_62.png  
  inflating: train_images/998_63.png  
  inflating: train_images/998_65.png  
  inflating: train_images/998_69.png  
  inflating: train_images/998_70.png  
  inflating: train_images/998_72.png  
  inflating: train_images/998_74.png  
  inflating: train_images/998_75.png  
  inflating: train_images/998_76.png  
  inflating: train_images/998_77.png  
  inflating: train_images/998_79.png  
  inflating: train_images/998_81.png  
  inflating: train_images/998_82.png  
  inflating: train_images/998_84.png  
  inflating: train_images/998_85.png  
  inflating: train_images/998_87.png  
  inflating: train_images/998_88.png  
  inflating: train_images/998_89.png  
  inflating: train_images/998_90.png  
  inflating: train_images/998_91.png  
  inflating: train_images/998_94.png  
  inflating: train_images/998_95.png  
  inflating: train_images/998_97.png  
  inflating: train_images/998_98.png  
  inflating: train_images/999_00.png  
  inflating: train_images/999_01.png  
  inflating: train_images/999_04.png  
  inflating: train_images/999_05.png  
  inflating: train_images/999_06.png  
  inflating: train_images/999_08.png  
  inflating: train_images/999_09.png  
  inflating: train_images/999_11.png  
  inflating: train_images/999_12.png  
  inflating: train_images/999_13.png  
  inflating: train_images/999_14.png  
  inflating: train_images/999_15.png  
  inflating: train_images/999_16.png  
  inflating: train_images/999_18.png  
  inflating: train_images/999_19.png  
  inflating: train_images/999_20.png  
  inflating: train_images/999_21.png  
  inflating: train_images/999_23.png  
  inflating: train_images/999_24.png  
  inflating: train_images/999_26.png  
  inflating: train_images/999_28.png  
  inflating: train_images/999_29.png  
  inflating: train_images/999_30.png  
  inflating: train_images/999_31.png  
  inflating: train_images/999_33.png  
  inflating: train_images/999_35.png  
  inflating: train_images/999_37.png  
  inflating: train_images/999_38.png  
  inflating: train_images/999_41.png  
  inflating: train_images/999_42.png  
  inflating: train_images/999_43.png  
  inflating: train_images/999_44.png  
  inflating: train_images/999_45.png  
  inflating: train_images/999_50.png  
  inflating: train_images/999_51.png  
  inflating: train_images/999_53.png  
  inflating: train_images/999_54.png  
  inflating: train_images/999_56.png  
  inflating: train_images/999_59.png  
  inflating: train_images/999_60.png  
  inflating: train_images/999_62.png  
  inflating: train_images/999_63.png  
  inflating: train_images/999_65.png  
  inflating: train_images/999_69.png  
  inflating: train_images/999_70.png  
  inflating: train_images/999_72.png  
  inflating: train_images/999_74.png  
  inflating: train_images/999_75.png  
  inflating: train_images/999_76.png  
  inflating: train_images/999_77.png  
  inflating: train_images/999_79.png  
  inflating: train_images/999_81.png  
  inflating: train_images/999_82.png  
  inflating: train_images/999_84.png  
  inflating: train_images/999_85.png  
  inflating: train_images/999_87.png  
  inflating: train_images/999_88.png  
  inflating: train_images/999_89.png  
  inflating: train_images/999_90.png  
  inflating: train_images/999_91.png  
  inflating: train_images/999_94.png  
  inflating: train_images/999_95.png  
  inflating: train_images/999_97.png  
  inflating: train_images/999_98.png  
  inflating: train_images/99_00.png  
  inflating: train_images/99_01.png  
  inflating: train_images/99_04.png  
  inflating: train_images/99_05.png  
  inflating: train_images/99_06.png  
  inflating: train_images/99_08.png  
  inflating: train_images/99_09.png  
  inflating: train_images/99_11.png  
  inflating: train_images/99_12.png  
  inflating: train_images/99_13.png  
  inflating: train_images/99_14.png  
  inflating: train_images/99_15.png  
  inflating: train_images/99_16.png  
  inflating: train_images/99_18.png  
  inflating: train_images/99_19.png  
  inflating: train_images/99_20.png  
  inflating: train_images/99_21.png  
  inflating: train_images/99_23.png  
  inflating: train_images/99_24.png  
  inflating: train_images/99_26.png  
  inflating: train_images/99_28.png  
  inflating: train_images/99_29.png  
  inflating: train_images/99_30.png  
  inflating: train_images/99_31.png  
  inflating: train_images/99_33.png  
  inflating: train_images/99_35.png  
  inflating: train_images/99_37.png  
  inflating: train_images/99_38.png  
  inflating: train_images/99_41.png  
  inflating: train_images/99_42.png  
  inflating: train_images/99_43.png  
  inflating: train_images/99_44.png  
  inflating: train_images/99_45.png  
  inflating: train_images/99_50.png  
  inflating: train_images/99_51.png  
  inflating: train_images/99_53.png  
  inflating: train_images/99_54.png  
  inflating: train_images/99_56.png  
  inflating: train_images/99_59.png  
  inflating: train_images/99_60.png  
  inflating: train_images/99_62.png  
  inflating: train_images/99_63.png  
  inflating: train_images/99_65.png  
  inflating: train_images/99_69.png  
  inflating: train_images/99_70.png  
  inflating: train_images/99_72.png  
  inflating: train_images/99_74.png  
  inflating: train_images/99_75.png  
  inflating: train_images/99_76.png  
  inflating: train_images/99_77.png  
  inflating: train_images/99_79.png  
  inflating: train_images/99_81.png  
  inflating: train_images/99_82.png  
  inflating: train_images/99_84.png  
  inflating: train_images/99_85.png  
  inflating: train_images/99_87.png  
  inflating: train_images/99_88.png  
  inflating: train_images/99_89.png  
  inflating: train_images/99_90.png  
  inflating: train_images/99_91.png  
  inflating: train_images/99_94.png  
  inflating: train_images/99_95.png  
  inflating: train_images/99_97.png  
  inflating: train_images/99_98.png  
  inflating: train_images/9_00.png   
  inflating: train_images/9_01.png   
  inflating: train_images/9_04.png   
  inflating: train_images/9_05.png   
  inflating: train_images/9_06.png   
  inflating: train_images/9_08.png   
  inflating: train_images/9_09.png   
  inflating: train_images/9_11.png   
  inflating: train_images/9_12.png   
  inflating: train_images/9_13.png   
  inflating: train_images/9_14.png   
  inflating: train_images/9_15.png   
  inflating: train_images/9_16.png   
  inflating: train_images/9_18.png   
  inflating: train_images/9_19.png   
  inflating: train_images/9_20.png   
  inflating: train_images/9_21.png   
  inflating: train_images/9_23.png   
  inflating: train_images/9_24.png   
  inflating: train_images/9_26.png   
  inflating: train_images/9_28.png   
  inflating: train_images/9_29.png   
  inflating: train_images/9_30.png   
  inflating: train_images/9_31.png   
  inflating: train_images/9_33.png   
  inflating: train_images/9_35.png   
  inflating: train_images/9_37.png   
  inflating: train_images/9_38.png   
  inflating: train_images/9_41.png   
  inflating: train_images/9_42.png   
  inflating: train_images/9_43.png   
  inflating: train_images/9_44.png   
  inflating: train_images/9_45.png   
  inflating: train_images/9_50.png   
  inflating: train_images/9_51.png   
  inflating: train_images/9_53.png   
  inflating: train_images/9_54.png   
  inflating: train_images/9_56.png   
  inflating: train_images/9_59.png   
  inflating: train_images/9_60.png   
  inflating: train_images/9_62.png   
  inflating: train_images/9_63.png   
  inflating: train_images/9_65.png   
  inflating: train_images/9_69.png   
  inflating: train_images/9_70.png   
  inflating: train_images/9_72.png   
  inflating: train_images/9_74.png   
  inflating: train_images/9_75.png   
  inflating: train_images/9_76.png   
  inflating: train_images/9_77.png   
  inflating: train_images/9_79.png   
  inflating: train_images/9_81.png   
  inflating: train_images/9_82.png   
  inflating: train_images/9_84.png   
  inflating: train_images/9_85.png   
  inflating: train_images/9_87.png   
  inflating: train_images/9_88.png   
  inflating: train_images/9_89.png   
  inflating: train_images/9_90.png   
  inflating: train_images/9_91.png   
  inflating: train_images/9_94.png   
  inflating: train_images/9_95.png   
  inflating: train_images/9_97.png   
  inflating: train_images/9_98.png   
import os

os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers, regularizers
from tensorflow.keras.datasets import mnist

# Use Pandas to load dataset from csv file
import pandas as pd

# HYPERPARAMETERS
BATCH_SIZE = 64
WEIGHT_DECAY = 0.001
LEARNING_RATE = 0.001

# Make sure we don't get any GPU errors, no need if you are using Google Colab
physical_devices = tf.config.list_physical_devices("GPU")
tf.config.experimental.set_memory_growth(physical_devices[0], True)

train_df = pd.read_csv("/content/train.csv")
test_df = pd.read_csv("/content/test.csv")
train_images = "/content/train_images/" + train_df.iloc[:, 0].values
test_images = "/content/test_images/" + test_df.iloc[:, 0].values

train_labels = train_df.iloc[:, 1:].values
test_labels = test_df.iloc[:, 1:].values


def read_image(image_path, label):
    image = tf.io.read_file(image_path)
    image = tf.image.decode_image(image, channels=1, dtype=tf.float32)

    # In older versions you need to set shape in order to avoid error
    # on newer (2.3.0+) the following 3 lines can safely be removed
    image.set_shape((64, 64, 1))
    label[0].set_shape([])
    label[1].set_shape([])

    labels = {"first_num": label[0], "second_num": label[1]}
    return image, labels


AUTOTUNE = tf.data.experimental.AUTOTUNE
train_dataset = tf.data.Dataset.from_tensor_slices((train_images, train_labels))
train_dataset = (
    train_dataset.shuffle(buffer_size=len(train_labels))
    .map(read_image)
    .batch(batch_size=BATCH_SIZE)
    .prefetch(buffer_size=AUTOTUNE)
)

test_dataset = tf.data.Dataset.from_tensor_slices((test_images, test_labels))
test_dataset = (
    test_dataset.map(read_image)
    .batch(batch_size=BATCH_SIZE)
    .prefetch(buffer_size=AUTOTUNE)
)

inputs = keras.Input(shape=(64, 64, 1))
x = layers.Conv2D(
    filters=32,
    kernel_size=3,
    padding="same",
    kernel_regularizer=regularizers.l2(WEIGHT_DECAY),
)(inputs)
x = layers.BatchNormalization()(x)
x = keras.activations.relu(x)
x = layers.Conv2D(64, 3, kernel_regularizer=regularizers.l2(WEIGHT_DECAY),)(x)
x = layers.BatchNormalization()(x)
x = keras.activations.relu(x)
x = layers.MaxPooling2D()(x)
x = layers.Conv2D(
    64, 3, activation="relu", kernel_regularizer=regularizers.l2(WEIGHT_DECAY),
)(x)
x = layers.Conv2D(128, 3, activation="relu")(x)
x = layers.MaxPooling2D()(x)
x = layers.Flatten()(x)
x = layers.Dense(128, activation="relu")(x)
x = layers.Dropout(0.5)(x)
x = layers.Dense(64, activation="relu")(x)
output1 = layers.Dense(10, activation="softmax", name="first_num")(x)
output2 = layers.Dense(10, activation="softmax", name="second_num")(x)
model = keras.Model(inputs=inputs, outputs=[output1, output2])

model.compile(
    optimizer=keras.optimizers.Adam(LEARNING_RATE),
    loss=keras.losses.SparseCategoricalCrossentropy(),
    metrics=["accuracy"],
)

model.fit(train_dataset, epochs=5, verbose=2)
model.evaluate(test_dataset, verbose=2)
Epoch 1/5
1000/1000 - 33s - loss: 1.7513 - first_num_loss: 0.8472 - second_num_loss: 0.8236 - first_num_accuracy: 0.7005 - second_num_accuracy: 0.7139
Epoch 2/5
1000/1000 - 27s - loss: 0.5215 - first_num_loss: 0.2282 - second_num_loss: 0.2246 - first_num_accuracy: 0.9253 - second_num_accuracy: 0.9282
Epoch 3/5
1000/1000 - 28s - loss: 0.3395 - first_num_loss: 0.1399 - second_num_loss: 0.1377 - first_num_accuracy: 0.9556 - second_num_accuracy: 0.9564
Epoch 4/5
1000/1000 - 28s - loss: 0.2717 - first_num_loss: 0.1091 - second_num_loss: 0.1050 - first_num_accuracy: 0.9650 - second_num_accuracy: 0.9666
Epoch 5/5
1000/1000 - 27s - loss: 0.2349 - first_num_loss: 0.0932 - second_num_loss: 0.0872 - first_num_accuracy: 0.9704 - second_num_accuracy: 0.9725
313/313 - 6s - loss: 0.9557 - first_num_loss: 0.2400 - second_num_loss: 0.6635 - first_num_accuracy: 0.9284 - second_num_accuracy: 0.8163
[0.9557247161865234,
 0.23999570310115814,
 0.66352379322052,
 0.9283999800682068,
 0.8162500262260437]

MODEL SUBCLASSING WITH KERAS

import os

os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.datasets import mnist

physical_devices = tf.config.list_physical_devices("GPU")
tf.config.experimental.set_memory_growth(physical_devices[0], True)

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(-1, 28, 28, 1).astype("float32") / 255.0
x_test = x_test.reshape(-1, 28, 28, 1).astype("float32") / 255.0

# CNN -> BatchNorm -> ReLU (common structure)
# x10 (a lot of code to write!)
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step
class CNNBlock(layers.Layer):
    def __init__(self, out_channels, kernel_size=3):
        super(CNNBlock, self).__init__()
        self.conv = layers.Conv2D(out_channels, kernel_size, padding="same")
        self.bn = layers.BatchNormalization()

    def call(self, input_tensor, training=False):
        x = self.conv(input_tensor)
        x = self.bn(x, training=training)
        x = tf.nn.relu(x)
        return x

# model = keras.Sequential(
#     [CNNBlock(32), CNNBlock(64), CNNBlock(128), layers.Flatten(), layers.Dense(10),]
# )
# model.compile(
#     optimizer=keras.optimizers.Adam(lr=0.001),
#     loss=keras.losses.SparseCategoricalCrossentropy(),
#     metrics=["accuracy"],
# )

# model.fit(x_train, y_train, batch_size=64, epochs=2, verbose =2)
# print(model.summary())
Epoch 1/2
938/938 - 17s - loss: 2.5179 - accuracy: 0.1896
Epoch 2/2
938/938 - 10s - loss: 2.2146 - accuracy: 0.1937
Model: "sequential_3"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
cnn_block_9 (CNNBlock)       (None, 28, 28, 32)        448       
_________________________________________________________________
cnn_block_10 (CNNBlock)      (None, 28, 28, 64)        18752     
_________________________________________________________________
cnn_block_11 (CNNBlock)      (None, 28, 28, 128)       74368     
_________________________________________________________________
flatten_3 (Flatten)          (None, 100352)            0         
_________________________________________________________________
dense_3 (Dense)              (None, 10)                1003530   
=================================================================
Total params: 1,097,098
Trainable params: 1,096,650
Non-trainable params: 448
_________________________________________________________________
None
class ResBlock(layers.Layer):
    def __init__(self, channels):
        super(ResBlock, self).__init__()
        self.channels = channels
        self.cnn1 = CNNBlock(channels[0], 3)
        self.cnn2 = CNNBlock(channels[1], 3)
        self.cnn3 = CNNBlock(channels[2], 3)
        self.pooling = layers.MaxPooling2D()
        self.identity_mapping = layers.Conv2D(channels[1], 3, padding="same")

    def call(self, input_tensor, training=False):
        x = self.cnn1(input_tensor, training=training)
        x = self.cnn2(x, training=training)
        x = self.cnn3(x + self.identity_mapping(input_tensor), training=training,)
        x = self.pooling(x)
        return x
class ResNet_Like(keras.Model):
    def __init__(self, num_classes=10):
        super(ResNet_Like, self).__init__()
        self.block1 = ResBlock([32, 32, 64])
        self.block2 = ResBlock([128, 128, 256])
        self.block3 = ResBlock([128, 256, 512])
        self.pool = layers.Flatten()
        self.classifier = layers.Dense(num_classes)

    def call(self, input_tensor, training=False):
        x = self.block1(input_tensor, training=training)
        x = self.block2(x, training=training)
        x = self.block3(x, training=training)
        x = self.pool(x, training=training)
        x = self.classifier(x)
        return x

    def model(self):
        x = keras.Input(shape=(28, 28, 1))
        return keras.Model(inputs=[x], outputs=self.call(x))

# we can use layers.Flatten() instead of layers.GlobalAveragePooling2D()
model = ResNet_Like().model()
base_input = model.layers[0].input
base_output = model.layers[2].output
output = layers.Dense(10)(layers.Flatten()(base_output))
model = keras.Model(base_input, output)

model.compile(
    optimizer=keras.optimizers.Adam(),
    loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    metrics=["accuracy"],
)

model.fit(x_train, y_train, batch_size=64, epochs=20, verbose=2)
print(model.summary())
model.evaluate(x_test, y_test, batch_size=64, verbose=2)
Epoch 1/20
938/938 - 17s - loss: 0.1054 - accuracy: 0.9672
Epoch 2/20
938/938 - 16s - loss: 0.0406 - accuracy: 0.9877
Epoch 3/20
938/938 - 16s - loss: 0.0286 - accuracy: 0.9911
Epoch 4/20
938/938 - 16s - loss: 0.0243 - accuracy: 0.9924
Epoch 5/20
938/938 - 16s - loss: 0.0196 - accuracy: 0.9939
Epoch 6/20
938/938 - 16s - loss: 0.0177 - accuracy: 0.9945
Epoch 7/20
938/938 - 16s - loss: 0.0159 - accuracy: 0.9947
Epoch 8/20
938/938 - 16s - loss: 0.0133 - accuracy: 0.9961
Epoch 9/20
938/938 - 16s - loss: 0.0122 - accuracy: 0.9964
Epoch 10/20
938/938 - 16s - loss: 0.0116 - accuracy: 0.9964
Epoch 11/20
938/938 - 16s - loss: 0.0074 - accuracy: 0.9978
Epoch 12/20
938/938 - 16s - loss: 0.0128 - accuracy: 0.9961
Epoch 13/20
938/938 - 16s - loss: 0.0074 - accuracy: 0.9978
Epoch 14/20
938/938 - 16s - loss: 0.0095 - accuracy: 0.9971
Epoch 15/20
938/938 - 16s - loss: 0.0120 - accuracy: 0.9966
Epoch 16/20
938/938 - 16s - loss: 0.0066 - accuracy: 0.9981
Epoch 17/20
938/938 - 16s - loss: 0.0092 - accuracy: 0.9976
Epoch 18/20
938/938 - 16s - loss: 0.0049 - accuracy: 0.9987
Epoch 19/20
938/938 - 16s - loss: 0.0118 - accuracy: 0.9970
Epoch 20/20
938/938 - 16s - loss: 0.0041 - accuracy: 0.9988
Model: "model_3"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_2 (InputLayer)         [(None, 28, 28, 1)]       0         
_________________________________________________________________
res_block_3 (ResBlock)       (None, 14, 14, 64)        28896     
_________________________________________________________________
res_block_4 (ResBlock)       (None, 7, 7, 256)         592512    
_________________________________________________________________
flatten_5 (Flatten)          (None, 12544)             0         
_________________________________________________________________
dense_7 (Dense)              (None, 10)                125450    
=================================================================
Total params: 746,858
Trainable params: 745,578
Non-trainable params: 1,280
_________________________________________________________________
None
157/157 - 1s - loss: 0.0389 - accuracy: 0.9931
[0.03885483369231224, 0.9930999875068665]

CUSTOM LAYERS

import os

os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.datasets import mnist

# To Avoid GPU errors
physical_devices = tf.config.list_physical_devices("GPU")
tf.config.experimental.set_memory_growth(physical_devices[0], True)

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(-1, 28 * 28).astype("float32") / 255.0
x_test = x_test.reshape(-1, 28 * 28).astype("float32") / 255.0


class Dense(layers.Layer):
    print("in dense1")
    def __init__(self, units, input_dim):
        super(Dense, self).__init__()
        self.w = self.add_weight(
            name="w",
            shape=(input_dim, units),
            initializer="random_normal",
            trainable=True,
        )

        self.b = self.add_weight(
            name="b", shape=(units,), initializer="zeros", trainable=True
        )

    def call(self, inputs):
        return tf.matmul(inputs, self.w) + self.b


class Dense(layers.Layer):
    print("in dense2")
    def __init__(self, units):
        super(Dense, self).__init__()
        self.units = units

    def build(self, input_shape):
        self.w = self.add_weight(
            name="w",
            shape=(input_shape[-1], self.units),
            initializer="random_normal",
            trainable=True,
        )
        self.b = self.add_weight(
            name="b", shape=(self.units,), initializer="random_normal", trainable=True,
        )

    def call(self, inputs):
        return tf.matmul(inputs, self.w) + self.b


class MyReLU(layers.Layer):
    def __init__(self):
        super(MyReLU, self).__init__()

    def call(self, x):
        return tf.math.maximum(x, 0)


class MyModel(keras.Model):  # model.fit, model.evalute, model.predict
    def __init__(self, num_classes=10):
        super(MyModel, self).__init__()
        self.dense1 = Dense(64)
        self.dense2 = Dense(num_classes)
        self.relu = MyReLU()

        # self.dense1 = layers.Dense(64)
        # self.dense3 = layers.Dense(num_classes)

    def call(self, x):
        x = self.relu(self.dense1(x))
        return self.dense2(x)


model = MyModel()
model.compile(
    loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer=keras.optimizers.Adam(),
    metrics=["accuracy"],
)

model.fit(x_train, y_train, batch_size=32, epochs=2, verbose=2)
model.evaluate(x_test, y_test, batch_size=32, verbose=2)
in dense1
in dense2
Epoch 1/2
1875/1875 - 4s - loss: 0.3468 - accuracy: 0.9036
Epoch 2/2
1875/1875 - 2s - loss: 0.1615 - accuracy: 0.9527
313/313 - 0s - loss: 0.1433 - accuracy: 0.9549
[0.14334601163864136, 0.9549000263214111]

SAVE & LOADING MODELS

 import os

os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.datasets import mnist

# To Avoid GPU errors
physical_devices = tf.config.list_physical_devices("GPU")
tf.config.experimental.set_memory_growth(physical_devices[0], True)

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(-1, 28 * 28).astype("float32") / 255.0
x_test = x_test.reshape(-1, 28 * 28).astype("float32") / 255.0


# 1. How to save and load model weights
# 2. Save and loading entire model (Serializing model)
#   - Saves weights
#   - Model architecture
#   - Training Configuration (model.compile())
#   - Optimizer and states


# method1: Sequential API
model1 = keras.Sequential([layers.Dense(64, activation="relu"), layers.Dense(10)])


# method1: Functional API
inputs = keras.Input(784)
x = layers.Dense(64, activation="relu")(inputs)
outputs = layers.Dense(10)(x)
model2 = keras.Model(inputs=inputs, outputs=outputs)


# Model subclassing
class MyModel(keras.Model):
    def __init__(self):
        super(MyModel, self).__init__()
        self.dense1 = layers.Dense(64, activation="relu")
        self.dense2 = layers.Dense(10)

    def call(self, input_tensor):
        x = tf.nn.relu(self.dense1(input_tensor))
        return self.dense2(x)


# SavedModel format or HDF5 format
model3 = MyModel()
# model = keras.models.load_model('saved_model/')
# model.load_weights('checkpoint_folder/')

model.compile(
    loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer=keras.optimizers.Adam(),
    metrics=["accuracy"],
)

model.fit(x_train, y_train, batch_size=32, epochs=2, verbose=2)
model.evaluate(x_test, y_test, batch_size=32, verbose=2)
# model.save_weights('checkpoint_folder/')
model.save("saved_model/")