예제 #1
0
def train_network(weights_file="weights.hdf5", classpath="Preproc/Train/", epochs=50, batch_size=20, val_split=0.25,tile=False):
    np.random.seed(1)
    from keras import backend as K
    print("GPU available ", K.tensorflow_backend._get_available_gpus())
    # prevent TF from consuming whole memory in GPU
    config = tf.ConfigProto(device_count = {'GPU': 1})
    config.gpu_options.allow_growth = True
    # config.gpu_options.per_process_gpu_memory_fraction = 0.9
    sess = tf.Session(config=config)
    K.set_session(sess)
    K.set_image_data_format('channels_last') #make sure we use current 

    
    # Get the data
    X_train, Y_train, paths_train, class_names = build_dataset(path=classpath, batch_size=batch_size, tile=tile)


    # Score the model against Test dataset
    X_test, Y_test, paths_test, class_names_test  = build_dataset(path=classpath+"../Test/", tile=tile)
    shape=get_sample_dimensions(class_names,path=classpath)
    n_epochs = [200, 200, 500]  ## DNN-RNN-CNN
    Random_Deep = [0, 0, 3]  ## DNN-RNN-CNN
    assert( class_names == class_names_test )
    RMDL_Image.Image_Classification(X_train, Y_train, X_test, Y_test, shape, batch_size=batch_size,
                         sparse_categorical=True, random_deep=Random_Deep, epochs=n_epochs, plot=True)
예제 #2
0
 * Refrenced paper : RMDL: Random Multimodel Deep Learning for Classification
 * Refrenced paper : An Improvement of Data Classification using Random Multimodel Deep Learning (RMDL)
 * Comments and Error: email: [email protected]
''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' ''

from keras.datasets import cifar10
from RMDL import RMDL_Image as RMDL

if __name__ == "__main__":
    number_of_classes = 40
    shape = (64, 64, 1)

    (x_train, y_train), (x_test, y_test) = cifar10.load_data()
    x_train = x_train.astype('float32')
    x_test = x_test.astype('float32')
    x_train /= 255
    x_test /= 255

    batch_size = 100
    sparse_categorical = 0
    n_epochs = [500, 500, 500]  ## DNN--RNN-CNN
    Random_Deep = [3, 0, 3]  ## DNN--RNN-CNN

    RMDL.Image_Classification(x_train,
                              y_train,
                              x_test,
                              y_test, (32, 32, 3),
                              batch_size=batch_size,
                              random_deep=Random_Deep,
                              epochs=n_epochs)
예제 #3
0
""" """""" """""" """""" """""" """""" """""" """""" """""" """""" ""

from keras.datasets import mnist
import numpy as np

from RMDL import RMDL_Image as RMDL

if __name__ == "__main__":
    (X_train, y_train), (X_test, y_test) = mnist.load_data()
    X_train_D = X_train.reshape(X_train.shape[0], 28, 28, 1).astype('float32')
    X_test_D = X_test.reshape(X_test.shape[0], 28, 28, 1).astype('float32')
    X_train = X_train_D / 255.0
    X_test = X_test_D / 255.0
    number_of_classes = np.unique(y_train).shape[0]
    shape = (28, 28, 1)
    batch_size = 128
    sparse_categorical = 0

    n_epochs = [100, 100, 100]  ## DNN--RNN-CNN
    Random_Deep = [0, 0, 3]  ## DNN--RNN-CNN
    RMDL.Image_Classification(X_train,
                              y_train,
                              X_test,
                              y_test,
                              shape,
                              batch_size=batch_size,
                              sparse_categorical=True,
                              random_deep=Random_Deep,
                              epochs=n_epochs)
예제 #4
0
 * Comments and Error: email: [email protected]
''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' ''

from sklearn.datasets import fetch_olivetti_faces
from sklearn.model_selection import train_test_split
from RMDL import RMDL_Image as RMDL

if __name__ == "__main__":
    number_of_classes = 40
    shape = (64, 64, 1)
    data = fetch_olivetti_faces()
    X_train, X_test, y_train, y_test = train_test_split(data.data,
                                                        data.target,
                                                        stratify=data.target,
                                                        test_size=40)
    X_train = X_train.reshape(X_train.shape[0], 64, 64, 1).astype('float32')
    X_test = X_test.reshape(X_test.shape[0], 64, 64, 1).astype('float32')

    batch_size = 100
    sparse_categorical = 0
    n_epochs = [150, 150, 150]  ## DNN--RNN-CNN
    Random_Deep = [0, 0, 3]  ## DNN--RNN-CNN
    RMDL.Image_Classification(X_train,
                              y_train,
                              X_test,
                              y_test,
                              shape,
                              random_optimizor=False,
                              batch_size=batch_size,
                              random_deep=Random_Deep,
                              epochs=n_epochs)