Python项目的一些问题及解决方法
1. 接口加载速度过慢
- 原因:每一次请求都要加载模型,增加了IO请求的时间,时间在0.3-0.5秒左右,并且每一次IO都会消耗系统资源,
所以,接口的返回时间随请求次数的增加而增加,最后超过1秒,系统超负荷 - 解决办法:在初始化的时候就加载模型,然后整个过程都使用该模型,这样只需要加载一次,并且不影响接口的调用,
也不消耗多余资源,这样处理后每一次请求的时间0.03-0.06秒左右,大大缩短了时间 - 具体方法:在views方法的开头就加载模型
model = Model.load()
- 小插曲:直接加载模型会报错,需要先执行预测方法,我们任意加载一个.wav文件,预测即可,加载模型后执行如下代码:
init_wav = 'init.wav'
predict(init_wav)
参考:https://blog.csdn.net/Maisie_Nan/article/details/103121134
2. 无法返回ndarray类型
- 原因:未知
- 解决办法:转化为list,返回list
result_prob = Model.predict_proba() # 返回ndarray
result_prob = result_prob.tolis