예제 #1
0
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()
예제 #2
0
# 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.