2016 - 2024

感恩一路有你

keras预训练模型 如何提高keras模型预测速度?

浏览量:1595 时间:2021-03-16 18:43:21 作者:admin

如何提高keras模型预测速度?

Keras模型一旦确定,在不自己修改keras框架源码的前提下,什么都不会变。换大GPU是唯一出路。

一般我们只能设法去修改模型结构,量化剪枝等手段,自己去修改框架源码,没太大必要。

通常我们为了加快模型的预测速度,模型加载一次就够了。

在模型预测时间太长,通常我们会采用缩小卷积核,减少卷积核数量,增大步长,增大池化单元等手段。也可能会更换一些参数较少的backbone。

或者考虑把模型采用移动端的分离卷积和空洞卷积等手段。

最后我们的模型默认是floaf32的精度来表示的,可以采用适当的量化。用16位,8位,甚至2位精度来表示。只要模型精度没有明显下降,又满足使用场景,就是合理的。

如果有任何这方面的其他问题,欢迎关注我,一起学习。

keras已训练好模型,一段时间后又有新数据,如何在已有模型基础上继续做增量训练?

我也是菜鸟,可以当做交流。。。

我觉得,如果网络不需要调整的话(如不增加新的类别),直接用小的学习速率用所有数据微调网络就行了。

如果网络结构变了(如增加了新类别),固定早期阶段的网络(如conv层)参数,直接重新学后面(如fc层)的参数。然后再放开冻结,全局微调。

keras训练好的网络,怎么在c 程序中调用?

我试过用其他训练的数据,在java调用,有些建议吧。

首先,如果训练的模型不大,这个可以把训练参数获取到,然后在c 中调用,当然矩阵计算要自己准备。

我以前就是这样的,但这种局限性很大,最大的问题就是这种方法的前提,模型不复杂情况下。这样普通的应用服务器还是可以承担运算负荷的。

但如果模型复杂,还是不建议这样弄了,机器跑不过来,其中的针对性的浮点运算优化也不是一时半会搞定的。这个时候还是建议使用训练机器用python通过webservice完成远程调用实现业务应用。

keras预训练模型 keras调用官方模型 keras模型部署

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。