from ssd.ssdmodel import SSDModel from trainer.trainer import Trainer from trainer.preparedata import PrepareData from trainer.postprocessingdata import PostProcessingData #from experiments import mobilenet_sdd from experiments import inceptionv3_ssd if __name__ == '__main__': params = inceptionv3_ssd.train1_4 feature_extractor = params.feature_extractor model_name = params.model_name weight_decay = params.weight_decay batch_size = params.batch_size labels_offset = params.labels_offset matched_thresholds = params.matched_thresholds ssd_model = SSDModel(feature_extractor, model_name, weight_decay) data_preparer = PrepareData(ssd_model, batch_size, labels_offset, matched_thresholds) data_postprocessor = PostProcessingData(ssd_model) ssd_trainer = Trainer(ssd_model, data_preparer, data_postprocessor, params) ssd_trainer.start_training()
# Input placeholder. net_shape = (512, 512) data_format = 'NHWC' img_input = tf.placeholder(tf.uint8, shape=(None, None, 3)) # Evaluation pre-processing: resize to SSD net shape. image_pre, labels_pre, bboxes_pre, bbox_img = ssd_vgg_preprocessing.preprocess_for_eval( img_input, None, None, net_shape, data_format, resize=ssd_vgg_preprocessing.Resize.WARP_RESIZE) image_4d = tf.expand_dims(image_pre, 0) # Define the SSD model. g_ssd_model = SSDModel('vgg_16', 'ssd512', weight_decay=0.0005) predictions, localisations, _, _ = g_ssd_model.get_model(image_4d) # Restore SSD model. ckpt_filename = tf.train.latest_checkpoint( '/home/yjin/SSD/experiments/ssd512_voc0712_29-11-2017/logs/finetune_person' ) isess.run(tf.global_variables_initializer()) saver = tf.train.Saver() saver.restore(isess, ckpt_filename) # SSD default anchor boxes. ssd_anchors = g_ssd_model.get_anchors_all_layers() # Main image processing routine.