我有一个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))
............
答案 0 :(得分:0)
Keras不会删除您不再使用的模型,因此仍在使用内存。
您可以尝试here所示的clear_session(),或者如果模型相同但权重不同,则可以尝试重用模型但替换权重。