from __future__ import print_function, division
from builtins import range
# Note: you may need to update your version of future
# sudo pip install -U future

from keras.models import Model
from keras.layers import Dense, Activation, Conv2D, MaxPooling2D, Flatten, Input

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

from util import getKaggleMNIST3D, getKaggleFashionMNIST3D, getCIFAR10

# get the data
Xtrain, Ytrain, Xtest, Ytest = getKaggleFashionMNIST3D()

# get shapes
N, H, W, C = Xtrain.shape
K = len(set(Ytrain))

# make the CNN
i = Input(shape=(H, W, C))
x = Conv2D(filters=32, kernel_size=(3, 3))(i)
x = Activation('relu')(x)
x = MaxPooling2D()(x)

x = Conv2D(filters=64, kernel_size=(3, 3))(x)
x = Activation('relu')(x)
x = MaxPooling2D()(x)
from builtins import range
# Note: you may need to update your version of future
# sudo pip install -U future

from keras.models import Model
from keras.layers import Dense, Activation, Conv2D, MaxPooling2D, Flatten, Input

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

from util import getKaggleMNIST3D, getKaggleFashionMNIST3D, getCIFAR10


# get the data
Xtrain, Ytrain, Xtest, Ytest = getKaggleFashionMNIST3D()

# get shapes
N, H, W, C = Xtrain.shape
K = len(set(Ytrain))




# make the CNN
i = Input(shape=(H, W, C))
x = Conv2D(filters=32, kernel_size=(3, 3))(i)
x = Activation('relu')(x)
x = MaxPooling2D()(x)

x = Conv2D(filters=64, kernel_size=(3, 3))(x)