tflite专题

2022年了,PyTorch、TensorFlow选哪个【模型可用性、部署便捷性、生态系统(嵌入式/物联网首选:TFLite + Coral)】

坊间传闻:「TensorFlow 适合业界,PyTorch 适合学界」。都 2022 年了,还是这样吗? 快到 2022 了,你是选 PyTorch 还是 TensorFlow?之前有一种说法:TensorFlow 适合业界,PyTorch 适合学界。这种说法到 2022 年还成立吗?在这篇文章中,作者从模型可用性、部署便捷度和生态系统三个方面对比了两个框架的优缺点,并针对不同身份的读者给

【ATU Book-i.MX8系列 - TFLite 进阶】 NXP i.MX8M Plus 实现高效 Mobilenet SSD 物体检测

NXP i.MX8M Plus 实现高效 Mobilenet SSD 物体检测 一、概述 在 边缘运算(Edge Computing) 领域中,轻量级的模型扮演着举足轻重的角色。因此,如何在有限硬体资源下实现电脑视觉(Computer vision) 应用是个极具挑战性的课题。特别是在效能与准确度之间寻求平衡。在本节中,我们将深入剖析 深度学习(Deep Learning) 领域中一个备受关注

TFLite: 代码组成结构

编译命令 bazel build --cxxopt=--std=c++11 //tensorflow/contrib/lite/java/demo/app/src/main:TfLiteCameraDemo 编译目标从WORKSPACE所在的路径开始到package路径(BUILD文件所在路径) : target(name) 编译输出结果 Target //tensorflow/contri

TFLite: TfLiteCameraDemo bazel file

编译源码使用的命令 bazel build --cxxopt='--std=c++11' //tensorflow/lite/java:TfLiteCameraDemo \ --crosstool_top=//external:android/crosstool \ --host_crosstool_top=@bazel_tools//tools/cpp:toolchain \ --cpu=ar

TFLite:编译(app, so,jar, aar)

对Lite : NDK r14b,bazel 0.18, tensorflow 1.12以下是没问题的 对mobile:NDK R16b, bazel 0.18 tensorflow 1.12是没有问题的。   bazel 编译app bazel build --cxxopt=--std=c++11 //tensorflow/contrib/lite/java/demo/app/src/m

TFLite: 编译(rpi)

看rpi的编译过程,分析TFLite的代码组成,参考tensorflow/lite/g3doc/rpi.md。 .sh相关目录修改 因为lite代码从contrib移动到上级目录,而rpi编译相关的sh并没有做对应的修改如: tensorflow/lite/tools/make/download_dependencies.sh -cd "$SCRIPT_DIR/../../../../..

TFLite: neon基础知识

neon介绍        Neon是适用于ARM Cortex-A系列处理器的一种SIMD(Single Instruction, Multiple Data)扩展结构。NEON有自己的执行管道和寄存器组,neon寄存器组包含32个64位的寄存器和16个128位的寄存器,它们分别被标识为(D0-D31),(Q0-Q15)。 实际上D寄存器和Q寄存器是重叠的,如下图所示。NEON 技术本质上是一

TFLite: TFLiteCameraDemo代码分析

综述 分析TFliteCameraDemo的目的是分析怎么在手机上使用TFLite,使用TFLite reference的流程是: 根据模型文件创建Interpreter,获得Interpreter的输入,提供输出结果保存的地方,最后运行Interpreter.  tflite提供的java接口很简单:构建Interpeter, 运行Interpreter得到结果。 demo运行效果图

TfLite: TensorFlow模型格式和Post-training quantization

TensorFlow的模型格式 TensorFlow的模型格式有很多种,针对不同场景可以使用不同的格式,只要符合规范的模型都可以轻易部署到在线服务或移动设备上,这里简单列举一下。 Checkpoint: 用于保存模型的权重,主要用于模型训练过程中参数的备份和模型训练热启动。GraphDef:用于保存模型的Graph,不包含模型权重,加上checkpoint后就有模型上线的全部信息。SavedM

TfLite: mcu代码分析

micro_framework和lite_framework的对比找到公共部分 cc_library(     name = "micro_framework",     srcs = [          "micro_error_reporter.cc",         "micro_interpreter.cc",         "micro_mutable_op_resolver.c

TFLite:使用1维CNN处理序列数据的过程

开发环境 tf.__version__ '2.0.0-beta1' tf.keras.__version__ '2.2.4-tf' 数据来源 http://www.cis.fordham.edu/wisdm/dataset.php 根据sensor数据x, y, z分类出Downstairs, Upstairs, jogging, sitting, standing, walking 6

TfLite: 把pb、h5文件转换为TfLite格式and quantilize

现在不是都用keras生成h5格式文件,然后用tflite_convert 吗? 问题来源 写了个很简单的RNN LSTM 模型 input = keras.Input(shape=(X_train.shape[1], X_train.shape[2])) x = layers.LSTM(64, return_sequences = True)(input) x = layers.LSTM(

TfLite porting: 生成目标文件太大的问题

TfLite移植到其他环境如MCU等其他RAM较小硬件,要控制TfLite image的大小。 1. 生成的文件是否包含debug信息 再次感谢前面提到的那本书,知道了file命令 file file是Unix 系统的一条标准命令,用来确认文件的类型 比如: file chre_app_oem.so chre_app_oem.so: ELF 32-bit LSB shared obje

TFLite Porting遇到的 undefined symbol问题

因为编译的目标是动态文件 so, 所以上面编译通过并没有万事大吉,当加载so时出现了 undefined symbol问题,当时有点慌,其实,这是常见问题。 _ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv      _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allo

tflite micro makefile and test

Makefile  怎么控制的target target 控制的是target相关的功能如: 打印log的方法,timer的方法等 lite/micro/stm32f4/debug_log.cc   extern "C" void DebugLog(const char* s) {     asm("mov r0, #0x04\n"  // SYS_WRITE0

TFLite JNI 接口实现

JNI is a C interface, which is not object-oriented. It does not really pass the objects. 要实现Mace JNI 接口,先研究下TFLite的 JNI接口实现 Java Code Examples for org.tensorflow.lite.Tensor Java Code Examples for

tflite模型可视化工具-Netron(支持各种格式模型结构的可视化)

有一个.tflite的深度学习模型框架文件需要可视化展示,网上搜到一个好用的可视化工具Netron,分享一下。 在线直接打开:https://netron.app/ github地址:https://github.com/lutzroeder/netron Netron的介绍 Netron supports ONNX (.onnx, .pb, .pbtxt), Keras (.h5, .k

Yolov8目标检测——在Android上部署Yolov8 tflite模型

1. 简介 YOLOv8 是一种用于目标检测的深度学习模型,它是 YOLO(You Only Look Once)系列的最新版本之一。YOLO 系列因其高效和准确性而在计算机视觉领域非常受欢迎,特别是在需要实时目标检测的应用中,如视频监控、自动驾驶汽车、机器人视觉等。 以下是 YOLOv8 的一些关键特点: 实时性能:YOLOv8 旨在提供实时目标检测,即使在资源受限的设备上也能快速运行。准

[ESP32]:TFLite Micro推理CIFAR10模型

[ESP32]:TFLite Micro推理CIFAR10模型 模型训练 数据集处理 from keras.datasets import cifar10from keras.preprocessing.image import ImageDataGeneratorfrom keras.models import Sequential, load_model, Modelfrom ke

手把手教你从.pb转换为.tflite文件 附加不同版本tensorflow对应的TFLite Python API语句

引言 很多博客教程都需要安装bazel编译工具,并且编译tensorflow的源码,过程繁琐。本篇博文教你如何用几行代码就实现.pb到.tflite文件转换。 代码 .pb到.tflite文件转换代码先贴上来,随后做详细讲解。 import tensorflow as tfin_path = r'.\yolov3_coco.pb'out_path = r'.\yolov3_coco.tf

TFLite JNI 接口实现

JNI is a C interface, which is not object-oriented. It does not really pass the objects. 要实现Mace JNI 接口,先研究下TFLite的 JNI接口实现 Java Code Examples for org.tensorflow.lite.Tensor Java Code Examples for

【嵌入式AI】python转换tflite模型并在PC上调用

用python转换tflite模型并在PC上调用 环境 python3.6tf-nightly 1.13win10 64位i7 8550U 制作frozen模型 就是后缀为pb的模型文件,转换直接调用TF的接口来保存frozen模型文件即可。 转换为tflite模型 非量化转换 转换代码: # -*- coding:utf-8 -*-import tensorflow a

tf.keras转换tflite出错ConverterError: See console for info. b“‘toco_from_protos‘ \xb2\xbb\xca\xc7\

问题 tf.keras转换tflite出错ConverterError: See console for info. b"‘toco_from_protos’ \xb2\xbb\xca\xc7… 那一串十六进制的字符是说toco_from_protos不是内部或外部命令,也不是可运行的程序。这句话是不是很熟悉?是我们在cmd中经常会遇见的,一般多为没有配置环境变量导致的。 原因 但是这

树莓派深度学习系统镜像,包含opencv、pytorch、tensorflow、pytorch_lightning、tflite等

纯净树莓派镜像,基于官方Raspberry Pi OS (64 bit)——“raspios_arm64-2021-05-28”,适用Raspberry Pi 3及以上(Pi 3/3B/3B+、Pi 4/4B等均可)。 镜像包含opencv 4.5.1、pytorch 1.6.0、torchvision 0.7.0、pytorch_lightning 1.5.0、tensorflow 2.4.0