多次加载时,keras的“ load_model”时间增加

时间:2018-07-31 04:18:36

标签: python keras execution-time

我有一个python rest API(keras),其中有5个用于5个用户的模型文件。请求到来时会发生以下事情 1.检查用户 2.为该特定用户加载相关模型 3.执行并输出结果。

但是我的问题是,当请求计数增加时,执行时间也会增加。 debug output in the console

帖子请求的

代码如下(烧瓶应用程序):

my_path = os.path.abspath(os.path.dirname(__file__))
    model_name = "./"+userName+"/model.h5"
    scaler_name = "./"+userName+"/scaler.sc"
    modelPath = os.path.join(my_path, model_name)
    scalerPath = os.path.join(my_path, scaler_name)

    start_time = time.time()
    # load the model
    model = load_model(modelPath)
    scaler = joblib.load(scalerPath)
    print("--- %s seconds ---" % (time.time() - start_time))
    ............

1 个答案:

答案 0 :(得分:0)

Keras不会删除您不再使用的模型,因此仍在使用内存。

您可以尝试here所示的clear_session(),或者如果模型相同但权重不同,则可以尝试重用模型但替换权重。