import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.applications.vgg16 import VGG16, preprocess_input import helpers import rpn import faster_rcnn args = helpers.handle_args() if args.handle_gpu: helpers.handle_gpu_compatibility() batch_size = 8 epochs = 50 load_weights = False hyper_params = helpers.get_hyper_params() VOC_train_data, VOC_info = helpers.get_dataset("voc/2007", "train+validation") VOC_val_data, _ = helpers.get_dataset("voc/2007", "test") VOC_train_total_items = helpers.get_total_item_size(VOC_info, "train+validation") VOC_val_total_items = helpers.get_total_item_size(VOC_info, "test") step_size_train = helpers.get_step_size(VOC_train_total_items, batch_size) step_size_val = helpers.get_step_size(VOC_val_total_items, batch_size) labels = helpers.get_labels(VOC_info) # We add 1 class for background hyper_params["total_labels"] = len(labels) + 1 # If you want to use different dataset and don't know max height and width values # You can use calculate_max_height_width method in helpers max_height, max_width = helpers.VOC["max_height"], helpers.VOC["max_width"] VOC_train_data = VOC_train_data.map(lambda x : helpers.preprocessing(x, max_height, max_width)) VOC_val_data = VOC_val_data.map(lambda x : helpers.preprocessing(x, max_height, max_width))
import tensorflow as tf from tensorflow.keras.applications.vgg16 import VGG16, preprocess_input from tensorflow.keras.models import load_model, Sequential from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint import helpers import rpn import faster_rcnn args = helpers.handle_args() if args.handle_gpu: helpers.handle_gpu_compatibility() batch_size = 1 # If you have trained faster rcnn model you can load weights from faster rcnn model load_weights_from_frcnn = False hyper_params = helpers.get_hyper_params(nms_topn=10) VOC_test_data, VOC_info = helpers.get_dataset("voc/2007", "test") labels = helpers.get_labels(VOC_info) # We add 1 class for background hyper_params["total_labels"] = len(labels) + 1 # If you want to use different dataset and don't know max height and width values # You can use calculate_max_height_width method in helpers max_height, max_width = helpers.VOC["max_height"], helpers.VOC["max_width"] VOC_test_data = VOC_test_data.map(lambda x : helpers.preprocessing(x, max_height, max_width)) padded_shapes, padding_values = helpers.get_padded_batch_params() VOC_test_data = VOC_test_data.padded_batch(batch_size, padded_shapes=padded_shapes, padding_values=padding_values) base_model = VGG16(include_top=False) if hyper_params["stride"] == 16:
import tensorflow as tf from tensorflow.keras.applications.vgg16 import VGG16, preprocess_input from tensorflow.keras.models import load_model, Sequential from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint import helpers import rpn import faster_rcnn args = helpers.handle_args() if args.handle_gpu: helpers.handle_gpu_compatibility() batch_size = 1 # If you have trained faster rcnn model you can load weights from faster rcnn model load_weights_from_frcnn = False hyper_params = helpers.get_hyper_params(post_nms_topn=10) VOC_test_data, VOC_info = helpers.get_dataset("voc/2007", "test") labels = helpers.get_labels(VOC_info) # We add 1 class for background hyper_params["total_labels"] = len(labels) + 1 # If you want to use different dataset and don't know max height and width values # You can use calculate_max_height_width method in helpers max_height, max_width = helpers.VOC["max_height"], helpers.VOC["max_width"] VOC_test_data = VOC_test_data.map( lambda x: helpers.preprocessing(x, max_height, max_width)) padded_shapes, padding_values = helpers.get_padded_batch_params() VOC_test_data = VOC_test_data.padded_batch(batch_size, padded_shapes=padded_shapes, padding_values=padding_values)