# 重复构造定时器
    thread = threading.Thread(target=dynamic_modification_timer, args=(mutex, ))
    thread.start()


#parsing instrutions

parser = argparse.ArgumentParser(description='Image Retrieval')
parser.add_argument('--update', action='store_true', help='update database')
args = parser.parse_args()

if args.update:
    # Create thumb images.  创建缩略图
    create_thumb_images(full_folder='./static/image_database/',
                        thumb_folder='./static/thumb_images/',
                        suffix='',
                        height=200,
                        del_former_thumb=True,
                        )



# Prepare model. 加载预训练的model
model = load_model(pretrained_model=os.path.join('./DealNet/checkpoint', 'DealNet', 'ckpt.t7'), use_gpu=True)
print("Model load successfully!")
local_dir = './static/image_database/'
# Extract database features.
# 在数据库图片不改变的情况下 选择是否保存特征向量 以节约时间
if args.update:
    # Extract database features.
    for dir_name in os.listdir(local_dir):
        # Prepare data set.
import os
import cv2
import time
from datetime import timedelta
from retrieval.create_thumb_images import create_thumb_images
from flask import Flask, render_template, request, redirect, url_for, make_response, jsonify, flash
from retrieval.retrieval_DaiNet import load_model, load_data, extract_feature, load_query_image, sort_img, extract_feature_query

# Create thumb images.
create_thumb_images(full_folder=os.path.join(os.path.dirname(__file__),
                                             'static/image_database'),
                    thumb_folder=os.path.join(os.path.dirname(__file__),
                                              'static/thumb_images'),
                    suffix='',
                    height=200,
                    del_former_thumb=True)

# Prepare data set.
data_loader = load_data(data_path=os.path.join(os.path.dirname(__file__),
                                               'static/image_database'),
                        batch_size=2,
                        shuffle=False,
                        transform='default')

# Prepare model.
model = load_model(pretrained_model=os.path.join(os.path.dirname(__file__), 'DaiNet/checkpoint', 'DaiNet', 'ckpt.t7'), \
                   use_gpu=True)
print("Model load successfully!")

# Extract database features.
gallery_feature, image_paths = extract_feature(