def split(data, size=0.2, random_state=42): #Version 2.0 : VIRTUAL IMAGE SET if hasattr(data, "virtual"): if data.virtual == True: return split_virtual(data, size, random_state) X_train, X_test, y_train, y_test = train_test_split(data.X, data.y, test_size=size, random_state=42) print("[X] Test set generation (size = ,", str(size), ",): Done") print("--- Train set : ", X_train.shape[0], "samples") print("--- Test set : ", X_test.shape[0], "samples") print("\n") train = ezset() train.X = X_train train.y = y_train train.synsets = data.synsets test = ezset() test.X = X_test test.y = y_test test.synsets = data.synsets return train, test
def split_virtual(data, size, random_state): data.imagedg._validation_split = size print("[Notice: ezutils.split_virtual(): Unused argument 'random_state']") train = ezset() train.virtual = True train.params = data.params train.imagedg = data.imagedg train.generator = train.imagedg.flow_from_directory( train.params["path"], target_size=train.params["resize"], batch_size=train.params["batch_size"], color_mode=train.params["color_mode"], class_mode=train.params["class_mode"], shuffle=True, subset="training") #Create virtual entry from memory (no memory consumption) train.X = np.zeros((train.generator.samples, ) + train.generator.image_shape) train.y = np.zeros((train.generator.samples, ) + (train.generator.num_classes, )) test = ezset() test.virtual = True test.params = data.params test.imagedg = data.imagedg test.generator = test.imagedg.flow_from_directory( test.params["path"], target_size=test.params["resize"], batch_size=test.params["batch_size"], color_mode=test.params["color_mode"], class_mode=test.params["class_mode"], shuffle=True, subset="validation") #Create virtual entry from memory (no memory consumption) test.X = np.zeros((test.generator.samples, ) + test.generator.image_shape) test.y = np.zeros((test.generator.samples, ) + (test.generator.num_classes, )) return train, test
import keras import matplotlib.pyplot as plt import cv2 import numpy as np from skimage.filters import prewitt from skimage.filters import threshold_otsu import time # [EZSET] ------------------------------------------------------------------- parameters = { "name": "Blob Test", "path": "C:\\Users\\daian\\Desktop\\DATA\\Blob_test\\", "resize": (64, 64) } data = ezset(parameters) print(data.X.mean()) # [EZMODEL] ---------------------------------------------------------------- ez = load_ezmodel(filename="blob") print(ez.data_test.X.max()) print(ez.data_test.X.mean()) import sys sys.exit() ez.data_test = data ez.transformerY = None p = ez.predict()
from ezmodel.ezmodel import ezmodel from ezmodel.ezutils import split from ezmodel.ezblocks import * import keras # [EZSET] ------------------------------------------------------------------- parameters = { "name": "Bacteria", "path": "C:\\Users\\daian\\Desktop\\DATA\\Bacteria8bit\\", "resize": (32, 32), "scaling": 1. / 255, "batch_size": 32, "color_mode": "grayscale", "class_mode": "categorical" } data = ezset(parameters, virtual=True) #Split dataset into Train/Test subset train, test = split(data, size=0.2) # Show 1 images using generator # x,y = train_gen.next() # print(x) # import matplotlib.pyplot as plt # for i in range(0,1): # image = np.squeeze(x[i]) # plt.imshow(image,cmap="gray") # plt.show() # # sys.exit()