当前位置:   article > 正文

Matlab深度学习网络转为tflite格式_matlab深度学习文件转为tflite

matlab深度学习文件转为tflite

进行深度学习网络训练时,有着可视化设计、简化训练过程、高效的编程、自动化参数选择、高度可扩展、和深度学习工具完美结合等优势,是一种非常强大的深度学习工具。

tflite格式网络是一种高效的轻量级神经网络模型格式,它被设计用于在移动设备、嵌入式设备等资源受限的环境中进行推理。tflite格式模型结构轻量,模型大小相对较小,可以在移动设备上进行分布式推理,具有更高的性能和更短的响应时间。

当需要把matlab的预训练网络或者训练好的网络部署到移动设备时,神经网络的格式转换就是其中必不可少的一部分。详细过程如下:

1、将深度学习工具箱网络或层图导出到 TensorFlow:

exportNetworkToTensorFlow(net,modelPackage) 导出 MATLAB 深度学习网络,并将其作为 TensorFlow™ 模型保存在 Python 包中。(详细信息可以点击链接到MATLAB官网查看。)

  1. % Load pretrained network
  2. %加载预训练网络resnet50
  3. net = resnet50();
  4. %需要的话将resnet50转为onnx格式
  5. exportONNXNetwork(net,"resnet50.onnx");
  6. %将resnet50网络转为tensorflow的python包 生成一个文件夹
  7. exportNetworkToTensorFlow(net,"resnet50");
  1. %首先生成训练集imds或者特征向量及标签trainingFeatures and trainingFeatures,自定义训练网络net和选项options
  2. %训练网络
  3. net1 = trainNetwork(trainingFeatures,trainingFeatures,net,options);
  4. %生成net1的tensorflow文件夹
  5. exportNetworkToTensorFlow(net1,"net1");

2、将 TensorFlow模型所在的 Python 包转为tflite格式,需要使用的TensorFlow库和NumPy库可以按提示下载。

  1. import numpy as np
  2. #在MATLAB保存的tensorflow包名称
  3. import net1
  4. import tensorflow as tf
  5. # Step 1: 加载 Keras 模型
  6. net1_model = net1.load_model()
  7. # Step 2: 转换模型为 TFLite 格式
  8. converter = tf.lite.TFLiteConverter.from_keras_model(net1_model)
  9. net1_tflite = converter.convert()
  10. # Step 3: 保存 TFLite 模型 命名为net1.tflite
  11. with tf.io.gfile.GFile('net1.tflite', 'wb') as f:
  12. f.write(net1_tflite)

3、最后生成的tflite文件,可以直接导入AS中的项目中进行使用,当然需要提前在gradle文件中添加依赖项进行下载 然后引用tflite相关包才能达到目的。关于怎么在AS中使用导入的tflite文件进行分类,我后面会出一篇文章详细聊聊。

欢迎讨论~ღ

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/442344
推荐阅读
相关标签
  

闽ICP备14008679号