Module monk.tf_keras_1.finetune.level_1_dataset_base
Expand source code
from system.imports import *
from tf_keras_1.finetune.imports import *
from system.base_class import system
class finetune_dataset(system):
'''
Base class for dataset params
Args:
verbose (int): Set verbosity levels
0 - Print Nothing
1 - Print desired details
'''
def __init__(self, verbose=1):
super().__init__(verbose=verbose);
###############################################################################################################################################
def set_dataset_dataloader(self, test=False, estimate=False):
'''
Setup the dataloader.
Args:
test (bool): If True then test data is loaded, else train data is loaded.
estimate (bool): When estimating training time, estimate is True
Returns:
None
'''
if(test):
num_workers = self.system_dict["dataset"]["params"]["num_workers"];
csv_test = self.system_dict["dataset"]["csv_test"];
dataset_test_path = self.system_dict["dataset"]["test_path"];
delimiter = self.system_dict["dataset"]["params"]["test_delimiter"];
if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list):
h = self.system_dict["dataset"]["params"]["input_size"][0];
w = self.system_dict["dataset"]["params"]["input_size"][1];
else:
h = self.system_dict["dataset"]["params"]["input_size"];
w = self.system_dict["dataset"]["params"]["input_size"];
target_size = (h, w);
color_mode='rgb';
class_mode='categorical';
if(self.system_dict["dataset"]["params"]["dataset_test_type"] == "foldered"):
self.system_dict["local"]["data_loaders"]["test"] = self.system_dict["local"]["data_generators"]["test"].flow_from_directory(dataset_test_path,
target_size=target_size,
color_mode=color_mode,
batch_size=1,
class_mode=class_mode,
shuffle=False
);
elif(self.system_dict["dataset"]["params"]["dataset_test_type"] == "csv"):
test_df, columns = parse_csv2(csv_test, delimiter);
self.system_dict["local"]["data_loaders"]["test"] = self.system_dict["local"]["data_generators"]["test"].flow_from_dataframe(
dataframe=test_df,
directory=dataset_test_path,
x_col=columns[0],
y_col=columns[1],
target_size=target_size,
color_mode=color_mode,
batch_size=1,
class_mode=class_mode,
shuffle=False
);
if(not self.system_dict["dataset"]["params"]["classes"]):
self.system_dict["dataset"]["params"]["classes"] = self.system_dict["local"]["data_loaders"]["test"].class_indices;
self.system_dict["dataset"]["params"]["num_test_images"] = len(self.system_dict["local"]["data_loaders"]["test"].labels);
elif(estimate):
sampled_dataset = None;
image_datasets = {};
dataset_type = self.system_dict["dataset"]["dataset_type"];
dataset_train_path = self.system_dict["dataset"]["train_path"];
dataset_val_path = self.system_dict["dataset"]["val_path"];
csv_train = self.system_dict["dataset"]["csv_train"];
csv_val = self.system_dict["dataset"]["csv_val"];
train_val_split = self.system_dict["dataset"]["params"]["train_val_split"];
delimiter = self.system_dict["dataset"]["params"]["delimiter"];
batch_size = self.system_dict["dataset"]["params"]["batch_size"];
shuffle = self.system_dict["dataset"]["params"]["train_shuffle"];
num_workers = self.system_dict["dataset"]["params"]["num_workers"];
if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list):
h = self.system_dict["dataset"]["params"]["input_size"][0];
w = self.system_dict["dataset"]["params"]["input_size"][1];
else:
h = self.system_dict["dataset"]["params"]["input_size"];
w = self.system_dict["dataset"]["params"]["input_size"];
target_size = (h, w);
color_mode='rgb';
class_mode='categorical';
if("csv" in dataset_type):
train_df, columns = parse_csv2(csv_train, delimiter);
self.system_dict["local"]["data_loaders"]["estimate"] = self.system_dict["local"]["data_generators"]["estimate"].flow_from_dataframe(
dataframe=train_df,
directory=dataset_train_path,
x_col=columns[0],
y_col=columns[1],
subset="training",
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle
);
else:
self.system_dict["local"]["data_loaders"]["estimate"] = self.system_dict["local"]["data_generators"]["estimate"].flow_from_directory(dataset_train_path,
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle,
subset='training');
else:
sampled_dataset = None;
image_datasets = {};
dataset_type = self.system_dict["dataset"]["dataset_type"];
dataset_train_path = self.system_dict["dataset"]["train_path"];
dataset_val_path = self.system_dict["dataset"]["val_path"];
csv_train = self.system_dict["dataset"]["csv_train"];
csv_val = self.system_dict["dataset"]["csv_val"];
train_val_split = self.system_dict["dataset"]["params"]["train_val_split"];
delimiter = self.system_dict["dataset"]["params"]["delimiter"];
batch_size = self.system_dict["dataset"]["params"]["batch_size"];
shuffle = self.system_dict["dataset"]["params"]["train_shuffle"];
num_workers = self.system_dict["dataset"]["params"]["num_workers"];
if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list):
h = self.system_dict["dataset"]["params"]["input_size"][0];
w = self.system_dict["dataset"]["params"]["input_size"][1];
else:
h = self.system_dict["dataset"]["params"]["input_size"];
w = self.system_dict["dataset"]["params"]["input_size"];
target_size = (h, w);
color_mode='rgb';
class_mode='categorical';
if(dataset_type == "train"):
self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path,
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle,
subset='training');
self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path,
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle,
subset='validation');
elif(dataset_type == "train-val"):
self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path,
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle);
self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["val"].flow_from_directory(dataset_val_path,
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle);
elif(dataset_type == "csv_train"):
train_df, columns = parse_csv2(csv_train, delimiter);
self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe(
dataframe=train_df,
directory=dataset_train_path,
x_col=columns[0],
y_col=columns[1],
subset="training",
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle
);
self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe(
dataframe=train_df,
directory=dataset_train_path,
x_col=columns[0],
y_col=columns[1],
subset="validation",
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle
);
elif(dataset_type == "csv_train-val"):
train_df, columns = parse_csv2(csv_train, delimiter);
self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe(
dataframe=train_df,
directory=dataset_train_path,
x_col=columns[0],
y_col=columns[1],
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle
);
val_df, columns = parse_csv2(csv_val, delimiter);
self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["val"].flow_from_dataframe(
dataframe=val_df,
directory=dataset_val_path,
x_col=columns[0],
y_col=columns[1],
target_size=target_size,
color_mode=color_mode,
batch_size=batch_size,
class_mode=class_mode,
shuffle=shuffle
);
self.system_dict["dataset"]["params"]["classes"] = self.system_dict["local"]["data_loaders"]["train"].class_indices;
self.system_dict["dataset"]["params"]["num_classes"] = len(self.system_dict["dataset"]["params"]["classes"]);
self.system_dict["dataset"]["params"]["num_train_images"] = len(self.system_dict["local"]["data_loaders"]["train"].labels);
self.system_dict["dataset"]["params"]["num_val_images"] = len(self.system_dict["local"]["data_loaders"]["val"].labels);
self.system_dict["dataset"]["status"]= True;
###############################################################################################################################################
###############################################################################################################################################
def set_dataset_final(self, test=False):
'''
Set the transforms and then invoke data loader.
Args:
test (bool): If True then test tranforms are set and test dataloader is prepared data,
else train transforms are set and train dataloader is prepared.
Returns:
None
'''
if(test):
self.system_dict = set_transform_test(self.system_dict);
else:
self.system_dict = set_transform_trainval(self.system_dict);
self.set_dataset_dataloader(test=test);
###############################################################################################################################################
Classes
class finetune_dataset (verbose=1)
-
Base class for dataset params
Args
verbose
:int
- Set verbosity levels 0 - Print Nothing 1 - Print desired details
Expand source code
class finetune_dataset(system): ''' Base class for dataset params Args: verbose (int): Set verbosity levels 0 - Print Nothing 1 - Print desired details ''' def __init__(self, verbose=1): super().__init__(verbose=verbose); ############################################################################################################################################### def set_dataset_dataloader(self, test=False, estimate=False): ''' Setup the dataloader. Args: test (bool): If True then test data is loaded, else train data is loaded. estimate (bool): When estimating training time, estimate is True Returns: None ''' if(test): num_workers = self.system_dict["dataset"]["params"]["num_workers"]; csv_test = self.system_dict["dataset"]["csv_test"]; dataset_test_path = self.system_dict["dataset"]["test_path"]; delimiter = self.system_dict["dataset"]["params"]["test_delimiter"]; if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list): h = self.system_dict["dataset"]["params"]["input_size"][0]; w = self.system_dict["dataset"]["params"]["input_size"][1]; else: h = self.system_dict["dataset"]["params"]["input_size"]; w = self.system_dict["dataset"]["params"]["input_size"]; target_size = (h, w); color_mode='rgb'; class_mode='categorical'; if(self.system_dict["dataset"]["params"]["dataset_test_type"] == "foldered"): self.system_dict["local"]["data_loaders"]["test"] = self.system_dict["local"]["data_generators"]["test"].flow_from_directory(dataset_test_path, target_size=target_size, color_mode=color_mode, batch_size=1, class_mode=class_mode, shuffle=False ); elif(self.system_dict["dataset"]["params"]["dataset_test_type"] == "csv"): test_df, columns = parse_csv2(csv_test, delimiter); self.system_dict["local"]["data_loaders"]["test"] = self.system_dict["local"]["data_generators"]["test"].flow_from_dataframe( dataframe=test_df, directory=dataset_test_path, x_col=columns[0], y_col=columns[1], target_size=target_size, color_mode=color_mode, batch_size=1, class_mode=class_mode, shuffle=False ); if(not self.system_dict["dataset"]["params"]["classes"]): self.system_dict["dataset"]["params"]["classes"] = self.system_dict["local"]["data_loaders"]["test"].class_indices; self.system_dict["dataset"]["params"]["num_test_images"] = len(self.system_dict["local"]["data_loaders"]["test"].labels); elif(estimate): sampled_dataset = None; image_datasets = {}; dataset_type = self.system_dict["dataset"]["dataset_type"]; dataset_train_path = self.system_dict["dataset"]["train_path"]; dataset_val_path = self.system_dict["dataset"]["val_path"]; csv_train = self.system_dict["dataset"]["csv_train"]; csv_val = self.system_dict["dataset"]["csv_val"]; train_val_split = self.system_dict["dataset"]["params"]["train_val_split"]; delimiter = self.system_dict["dataset"]["params"]["delimiter"]; batch_size = self.system_dict["dataset"]["params"]["batch_size"]; shuffle = self.system_dict["dataset"]["params"]["train_shuffle"]; num_workers = self.system_dict["dataset"]["params"]["num_workers"]; if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list): h = self.system_dict["dataset"]["params"]["input_size"][0]; w = self.system_dict["dataset"]["params"]["input_size"][1]; else: h = self.system_dict["dataset"]["params"]["input_size"]; w = self.system_dict["dataset"]["params"]["input_size"]; target_size = (h, w); color_mode='rgb'; class_mode='categorical'; if("csv" in dataset_type): train_df, columns = parse_csv2(csv_train, delimiter); self.system_dict["local"]["data_loaders"]["estimate"] = self.system_dict["local"]["data_generators"]["estimate"].flow_from_dataframe( dataframe=train_df, directory=dataset_train_path, x_col=columns[0], y_col=columns[1], subset="training", target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); else: self.system_dict["local"]["data_loaders"]["estimate"] = self.system_dict["local"]["data_generators"]["estimate"].flow_from_directory(dataset_train_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle, subset='training'); else: sampled_dataset = None; image_datasets = {}; dataset_type = self.system_dict["dataset"]["dataset_type"]; dataset_train_path = self.system_dict["dataset"]["train_path"]; dataset_val_path = self.system_dict["dataset"]["val_path"]; csv_train = self.system_dict["dataset"]["csv_train"]; csv_val = self.system_dict["dataset"]["csv_val"]; train_val_split = self.system_dict["dataset"]["params"]["train_val_split"]; delimiter = self.system_dict["dataset"]["params"]["delimiter"]; batch_size = self.system_dict["dataset"]["params"]["batch_size"]; shuffle = self.system_dict["dataset"]["params"]["train_shuffle"]; num_workers = self.system_dict["dataset"]["params"]["num_workers"]; if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list): h = self.system_dict["dataset"]["params"]["input_size"][0]; w = self.system_dict["dataset"]["params"]["input_size"][1]; else: h = self.system_dict["dataset"]["params"]["input_size"]; w = self.system_dict["dataset"]["params"]["input_size"]; target_size = (h, w); color_mode='rgb'; class_mode='categorical'; if(dataset_type == "train"): self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle, subset='training'); self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle, subset='validation'); elif(dataset_type == "train-val"): self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle); self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["val"].flow_from_directory(dataset_val_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle); elif(dataset_type == "csv_train"): train_df, columns = parse_csv2(csv_train, delimiter); self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe( dataframe=train_df, directory=dataset_train_path, x_col=columns[0], y_col=columns[1], subset="training", target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe( dataframe=train_df, directory=dataset_train_path, x_col=columns[0], y_col=columns[1], subset="validation", target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); elif(dataset_type == "csv_train-val"): train_df, columns = parse_csv2(csv_train, delimiter); self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe( dataframe=train_df, directory=dataset_train_path, x_col=columns[0], y_col=columns[1], target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); val_df, columns = parse_csv2(csv_val, delimiter); self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["val"].flow_from_dataframe( dataframe=val_df, directory=dataset_val_path, x_col=columns[0], y_col=columns[1], target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); self.system_dict["dataset"]["params"]["classes"] = self.system_dict["local"]["data_loaders"]["train"].class_indices; self.system_dict["dataset"]["params"]["num_classes"] = len(self.system_dict["dataset"]["params"]["classes"]); self.system_dict["dataset"]["params"]["num_train_images"] = len(self.system_dict["local"]["data_loaders"]["train"].labels); self.system_dict["dataset"]["params"]["num_val_images"] = len(self.system_dict["local"]["data_loaders"]["val"].labels); self.system_dict["dataset"]["status"]= True; ############################################################################################################################################### ############################################################################################################################################### def set_dataset_final(self, test=False): ''' Set the transforms and then invoke data loader. Args: test (bool): If True then test tranforms are set and test dataloader is prepared data, else train transforms are set and train dataloader is prepared. Returns: None ''' if(test): self.system_dict = set_transform_test(self.system_dict); else: self.system_dict = set_transform_trainval(self.system_dict); self.set_dataset_dataloader(test=test);
Ancestors
- system.base_class.system
Methods
def set_dataset_dataloader(self, test=False, estimate=False)
-
Setup the dataloader.
Args
test
:bool
- If True then test data is loaded, else train data is loaded.
estimate
:bool
- When estimating training time, estimate is True
Returns
None
Expand source code
def set_dataset_dataloader(self, test=False, estimate=False): ''' Setup the dataloader. Args: test (bool): If True then test data is loaded, else train data is loaded. estimate (bool): When estimating training time, estimate is True Returns: None ''' if(test): num_workers = self.system_dict["dataset"]["params"]["num_workers"]; csv_test = self.system_dict["dataset"]["csv_test"]; dataset_test_path = self.system_dict["dataset"]["test_path"]; delimiter = self.system_dict["dataset"]["params"]["test_delimiter"]; if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list): h = self.system_dict["dataset"]["params"]["input_size"][0]; w = self.system_dict["dataset"]["params"]["input_size"][1]; else: h = self.system_dict["dataset"]["params"]["input_size"]; w = self.system_dict["dataset"]["params"]["input_size"]; target_size = (h, w); color_mode='rgb'; class_mode='categorical'; if(self.system_dict["dataset"]["params"]["dataset_test_type"] == "foldered"): self.system_dict["local"]["data_loaders"]["test"] = self.system_dict["local"]["data_generators"]["test"].flow_from_directory(dataset_test_path, target_size=target_size, color_mode=color_mode, batch_size=1, class_mode=class_mode, shuffle=False ); elif(self.system_dict["dataset"]["params"]["dataset_test_type"] == "csv"): test_df, columns = parse_csv2(csv_test, delimiter); self.system_dict["local"]["data_loaders"]["test"] = self.system_dict["local"]["data_generators"]["test"].flow_from_dataframe( dataframe=test_df, directory=dataset_test_path, x_col=columns[0], y_col=columns[1], target_size=target_size, color_mode=color_mode, batch_size=1, class_mode=class_mode, shuffle=False ); if(not self.system_dict["dataset"]["params"]["classes"]): self.system_dict["dataset"]["params"]["classes"] = self.system_dict["local"]["data_loaders"]["test"].class_indices; self.system_dict["dataset"]["params"]["num_test_images"] = len(self.system_dict["local"]["data_loaders"]["test"].labels); elif(estimate): sampled_dataset = None; image_datasets = {}; dataset_type = self.system_dict["dataset"]["dataset_type"]; dataset_train_path = self.system_dict["dataset"]["train_path"]; dataset_val_path = self.system_dict["dataset"]["val_path"]; csv_train = self.system_dict["dataset"]["csv_train"]; csv_val = self.system_dict["dataset"]["csv_val"]; train_val_split = self.system_dict["dataset"]["params"]["train_val_split"]; delimiter = self.system_dict["dataset"]["params"]["delimiter"]; batch_size = self.system_dict["dataset"]["params"]["batch_size"]; shuffle = self.system_dict["dataset"]["params"]["train_shuffle"]; num_workers = self.system_dict["dataset"]["params"]["num_workers"]; if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list): h = self.system_dict["dataset"]["params"]["input_size"][0]; w = self.system_dict["dataset"]["params"]["input_size"][1]; else: h = self.system_dict["dataset"]["params"]["input_size"]; w = self.system_dict["dataset"]["params"]["input_size"]; target_size = (h, w); color_mode='rgb'; class_mode='categorical'; if("csv" in dataset_type): train_df, columns = parse_csv2(csv_train, delimiter); self.system_dict["local"]["data_loaders"]["estimate"] = self.system_dict["local"]["data_generators"]["estimate"].flow_from_dataframe( dataframe=train_df, directory=dataset_train_path, x_col=columns[0], y_col=columns[1], subset="training", target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); else: self.system_dict["local"]["data_loaders"]["estimate"] = self.system_dict["local"]["data_generators"]["estimate"].flow_from_directory(dataset_train_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle, subset='training'); else: sampled_dataset = None; image_datasets = {}; dataset_type = self.system_dict["dataset"]["dataset_type"]; dataset_train_path = self.system_dict["dataset"]["train_path"]; dataset_val_path = self.system_dict["dataset"]["val_path"]; csv_train = self.system_dict["dataset"]["csv_train"]; csv_val = self.system_dict["dataset"]["csv_val"]; train_val_split = self.system_dict["dataset"]["params"]["train_val_split"]; delimiter = self.system_dict["dataset"]["params"]["delimiter"]; batch_size = self.system_dict["dataset"]["params"]["batch_size"]; shuffle = self.system_dict["dataset"]["params"]["train_shuffle"]; num_workers = self.system_dict["dataset"]["params"]["num_workers"]; if(type(self.system_dict["dataset"]["params"]["input_size"]) == tuple or type(self.system_dict["dataset"]["params"]["input_size"]) == list): h = self.system_dict["dataset"]["params"]["input_size"][0]; w = self.system_dict["dataset"]["params"]["input_size"][1]; else: h = self.system_dict["dataset"]["params"]["input_size"]; w = self.system_dict["dataset"]["params"]["input_size"]; target_size = (h, w); color_mode='rgb'; class_mode='categorical'; if(dataset_type == "train"): self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle, subset='training'); self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle, subset='validation'); elif(dataset_type == "train-val"): self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_directory(dataset_train_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle); self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["val"].flow_from_directory(dataset_val_path, target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle); elif(dataset_type == "csv_train"): train_df, columns = parse_csv2(csv_train, delimiter); self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe( dataframe=train_df, directory=dataset_train_path, x_col=columns[0], y_col=columns[1], subset="training", target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe( dataframe=train_df, directory=dataset_train_path, x_col=columns[0], y_col=columns[1], subset="validation", target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); elif(dataset_type == "csv_train-val"): train_df, columns = parse_csv2(csv_train, delimiter); self.system_dict["local"]["data_loaders"]["train"] = self.system_dict["local"]["data_generators"]["train"].flow_from_dataframe( dataframe=train_df, directory=dataset_train_path, x_col=columns[0], y_col=columns[1], target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); val_df, columns = parse_csv2(csv_val, delimiter); self.system_dict["local"]["data_loaders"]["val"] = self.system_dict["local"]["data_generators"]["val"].flow_from_dataframe( dataframe=val_df, directory=dataset_val_path, x_col=columns[0], y_col=columns[1], target_size=target_size, color_mode=color_mode, batch_size=batch_size, class_mode=class_mode, shuffle=shuffle ); self.system_dict["dataset"]["params"]["classes"] = self.system_dict["local"]["data_loaders"]["train"].class_indices; self.system_dict["dataset"]["params"]["num_classes"] = len(self.system_dict["dataset"]["params"]["classes"]); self.system_dict["dataset"]["params"]["num_train_images"] = len(self.system_dict["local"]["data_loaders"]["train"].labels); self.system_dict["dataset"]["params"]["num_val_images"] = len(self.system_dict["local"]["data_loaders"]["val"].labels); self.system_dict["dataset"]["status"]= True;
def set_dataset_final(self, test=False)
-
Set the transforms and then invoke data loader.
Args
test
:bool
- If True then test tranforms are set and test dataloader is prepared data, else train transforms are set and train dataloader is prepared.
Returns
None
Expand source code
def set_dataset_final(self, test=False): ''' Set the transforms and then invoke data loader. Args: test (bool): If True then test tranforms are set and test dataloader is prepared data, else train transforms are set and train dataloader is prepared. Returns: None ''' if(test): self.system_dict = set_transform_test(self.system_dict); else: self.system_dict = set_transform_trainval(self.system_dict); self.set_dataset_dataloader(test=test);