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

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

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

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

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

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

% Load pretrained network
%加载预训练网络resnet50
net = resnet50(); 

%需要的话将resnet50转为onnx格式
exportONNXNetwork(net,"resnet50.onnx");

%将resnet50网络转为tensorflow的python包 生成一个文件夹
exportNetworkToTensorFlow(net,"resnet50");
%首先生成训练集imds或者特征向量及标签trainingFeatures and trainingFeatures,自定义训练网络net和选项options
%训练网络
net1 = trainNetwork(trainingFeatures,trainingFeatures,net,options);
%生成net1的tensorflow文件夹
exportNetworkToTensorFlow(net1,"net1");

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

import numpy as np
#在MATLAB保存的tensorflow包名称
import net1
import tensorflow as tf

# Step 1: 加载 Keras 模型
net1_model = net1.load_model()
# Step 2: 转换模型为 TFLite 格式
converter = tf.lite.TFLiteConverter.from_keras_model(net1_model)
net1_tflite = converter.convert()
# Step 3: 保存 TFLite 模型 命名为net1.tflite
with tf.io.gfile.GFile('net1.tflite', 'wb') as f:
    f.write(net1_tflite)

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

欢迎讨论~ღ

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樱花唯美的季节。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值