深度学习模型在移动端部署方法

Posted xueliangliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习模型在移动端部署方法相关的知识,希望对你有一定的参考价值。

1. Keras 转 tflite

def keras2tflite(keras_model, tflitefile)
	converter = tf.lite.TFLiteConverter.from_keras_model(model_2)
	# Indicate that we want to perform the default optimizations,
	converter.optimizations = [tf.lite.Optimize.DEFAULT]
	tflite_model = converter.convert()
	open(tflitefile, "wb").write(tflite_model)

  模型转化之后,就可以在移动端通过tflite相应的工具进行调用了。比如,如果需要通过c语言的调用的话,则可以将得到的模型转化为c语言的代码。

apt-get -qq install xxd
xxd -i model.tflite > model.cc
cat model.cc  #查看生成的模型文件

2. Pytorch to Onnx

def pytorch2onnx(model, onnxfile,cpu = True):
    device = torch.device("cpu" if cpu else "cuda")
    net = model.to(device)
    inputs = torch.randn(1, 3, WIDTH, HEIGHT).to(device)
    torch_out = torch.onnx._export(net, inputs, output_onnx, export_params=True, verbose=False)

  

 

以上是关于深度学习模型在移动端部署方法的主要内容,如果未能解决你的问题,请参考以下文章

将深度学习模型部署为exe需要哪些工具

AI学习移动端深度学习框架盘点

深度学习模型压缩

资源 | 小米开源移动端深度学习框架MACE:可转换TensorFlow模型

终于!谷歌移动端深度学习框架 TensorFlow Lite 正式发布

移动端部署深度学习应用之yolov5--android