keras预训练模型 如何提高keras模型预测速度?
如何提高keras模型预测速度?
Keras模型一旦确定,在不自己修改keras框架源码的前提下,什么都不会变。换大GPU是唯一出路。
一般我们只能设法去修改模型结构,量化剪枝等手段,自己去修改框架源码,没太大必要。
通常我们为了加快模型的预测速度,模型加载一次就够了。
在模型预测时间太长,通常我们会采用缩小卷积核,减少卷积核数量,增大步长,增大池化单元等手段。也可能会更换一些参数较少的backbone。
或者考虑把模型采用移动端的分离卷积和空洞卷积等手段。
最后我们的模型默认是floaf32的精度来表示的,可以采用适当的量化。用16位,8位,甚至2位精度来表示。只要模型精度没有明显下降,又满足使用场景,就是合理的。
如果有任何这方面的其他问题,欢迎关注我,一起学习。
keras已训练好模型,一段时间后又有新数据,如何在已有模型基础上继续做增量训练?
我也是菜鸟,可以当做交流。。。
我觉得,如果网络不需要调整的话(如不增加新的类别),直接用小的学习速率用所有数据微调网络就行了。
如果网络结构变了(如增加了新类别),固定早期阶段的网络(如conv层)参数,直接重新学后面(如fc层)的参数。然后再放开冻结,全局微调。
keras训练好的网络,怎么在c 程序中调用?
我试过用其他训练的数据,在java调用,有些建议吧。
首先,如果训练的模型不大,这个可以把训练参数获取到,然后在c 中调用,当然矩阵计算要自己准备。
我以前就是这样的,但这种局限性很大,最大的问题就是这种方法的前提,模型不复杂情况下。这样普通的应用服务器还是可以承担运算负荷的。
但如果模型复杂,还是不建议这样弄了,机器跑不过来,其中的针对性的浮点运算优化也不是一时半会搞定的。这个时候还是建议使用训练机器用python通过webservice完成远程调用实现业务应用。
keras预训练模型 keras调用官方模型 keras模型部署
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。