TensorFlow入门 - Android机器学习Demo

tensorflow-android 官方demo源码分析 开发是面向对象。我们找工作应该更多是面向面试。哪怕进大厂真的只是去宁螺丝,但你要进去得先学会面试的时候造飞机不是么?作者13年java转Android开发,在小厂待过,也去过华为,OPPO等,去年四月份进了阿里一直到现在。等大厂待过也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。 阅读详情

相关介绍

Google开源项目TensorFlow-Android Example 中实现了Android 应用中使用TF模型 进行机器学习的功能。

阅读 TensorFlow-Android REDDME 自己尝试基于TensorFlow示例中已有的模型来构建Android的应用。

获取已有的数据模型

可以在我的项目示例的 asstes 中复制,也可以去下载 Google 提供的一个数据模型 inception5h.zip;

其中 .pb 后缀的文件是已经训练好的模型,而 .txt 对应的是训练数据包含的所有标签。

这个模型可对 1008 种物品识别分类,具体有哪些类可以查看标签信息,至于每个类别到底训练了多少张图片就不得而知了。

在Android项目中引入TensorFlow

如果你使用的是AndroidStudio,那么恭喜你可以像集成其他第三方库一样,通过Jcenter就可以完成库的依赖;

allprojects{
   repositories{
       jcenter()
  }
}
​
dependencies{
   //使用+号 可以保持最新的版本
   implementation'org.tensorflow:tensorflow-android:+'
}

如果有兴趣可以阅读TensorFlow的JavaAPI TensorFlow Java API

这里我们直接使用了 Google 为我们编译好的 TensorFlow 现成库了,如果你想自行对 TensorFlow 进行 NDK 交叉编译得到库文件也可以。具体交叉编译,看教程 TensorFlow-Android REDDME

图片识别功能的实现

将获取到的数据模型,复制到项目的assets 文件下;

---asstes
---model
---imagenet_comp_graph_label_strings.txt//  对应的是训练数据包含的所有标签
---tensorflow_inception_graph.pb//已经训练好的模型
---LICENSE//开源协议

代码构建

   //权限是必须的
   <uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
   <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
   <uses-permissionandroid:name="android.permission.CAMERA"/>

直接使用 Google demo 项目中提供的 Classifier.java 和 TensorFlowImageClassifier.java 这两个类来实现;

其中重点的注意的方法是如下两个:

TensorFlowImageClassifier的静态create方法;

/**
    * Initializes a native TensorFlow session for classifying images.
    *
    * @param assetManager The asset manager to be used to load assets.
    * @param modelFilename The filepath of the model GraphDef protocol buffer.
    * @param labelFilename The filepath of label file for classes.
    * @param inputSize The input size. A square image of inputSize x inputSize is assumed.
    * @param imageMean The assumed mean of the image values.
    * @param imageStd The assumed std of the image values.
    * @param inputName The label of the image input node.
    * @param outputName The label of the output node.
    * @throws IOException
    */
publicstaticClassifiercreate(AssetManagerassetManager, StringmodelFilename, StringlabelFilename,intinputSize, intimageMean, floatimageStd, StringinputName, StringoutputName)

该方法需要传入模型相关的参数进行初始化,完成后返回一个 Classifier 实例。

通过 Classifier 对象,我们可以调用其 recognizeImage 方法来识别我们传入的 bitmap 图像数据,该方法会返回图像类别后对物品类别进行推断的标签结果:

/**
* 进行图片识别
*/
publicList<Recognition>recognizeImage(finalBitmapbitmap)

代码下载地址

效果


tensorflow 几个android demo源码环境搭建 tensorflow 几个android demo源码环境搭建说明tensorflow上有几个example,本文重点关注其在android上的应用,源码在gitHub上有,这个apk是什么样子,大家可以通过点击这里进行下载。系统要求 如果需要独立的库,需要分开构建tensorflow的源码 物体追踪以及YUV转RGB在libtensorflow_demo.so中 android5.0 ( API2 阅读详情

相关推荐

安卓AI入门:机器学习核心术语与TensorFlow Lite端侧部署实践

人工智能、机器学习与深度学习是三个范围层层包含的概念:人工智能是目标领域,机器学习是实现路径,深度学习是其中处理图像、语音等复杂数据的主流方法。在移动端工程中,开发者通常不参与模型训练,而是直接加载训练好的模型完成推理。理解特征、标签、训练集、测试集、过拟合、损失函数等术语,是看懂模型文档和评估模型效果的基础。端侧部署的主流方案包括TensorFlow Lite与ML Kit:前者需将模型转换为.tflite格式,并处理输入张量、归一化等细节;后者则直接提供人脸检测、文本识别等现成能力。掌握从数据准备到模型

dengjuanshou7445的博客 908

TensorFlow on Android(9): 运行一个DEMO

在Object Detection API的示例代码中包含了一个训练识别宠物的Demo,包括数据集和相应的一些代码。 虽然本系列中我们会自己准备数据和脚本来进行训练, 但是在这之前我们还需要安装一些库,配置一下环境。 在配置完成之后,我们可以运行一下这个训练宠物的Demo, 以便检查我们的环境配置是否OK,同时对训练过程有先有个整体的了解,然后我们再准备自己的数据和训练脚本。 请确保已经安装好了P...

sufish的专栏 657

实现TensorFlow Lite安卓小demo

1.简介 TensorFlow Lite 是一组工具,可帮助开发者在移动设备、嵌入式设备和 IoT 设备上运行 TensorFlow 模型。它支持设备端机器学习推断,延迟较低,并且二进制文件很小。 本文中将介绍一个简单的TensorFlow Lite官方提供的在安卓环境下运行花朵识别小demo 2.下载训练模型 3.下载代码 git clone https://github.com/hoitab/TFLClassify.git 4.将TensorFlow Lite加载到代码中 在start上点击右键

bruce_zhao1407的博客 647

Android端运行Tensorflow的demo去分类自己的数据集

声明: 本人的第一篇博客, 描述不清楚请见谅。 毕业设计用到了tensorflow, 最近在看其github库时发现tf 可以在手机上运行。 官方的链接 于是就按照官方的教程用Bazel 编译 Tensorflow 环境,并参考这一篇教程, 训练一个分类自己数据集合的模型(fine tuning Inception net)并把它部署在了安卓手机上。

啦啦头头 7186

安卓开发者AI术语全解析:从机器学习到端侧部署

机器学习与深度学习已成为移动应用智能化升级的核心技术,但安卓开发者面对训练集、过拟合、Transformer、RAG、量化、蒸馏等术语时往往难以快速建立完整认知。理解机器学习的基本原理,掌握训练与推理的根本区别,是踏入AI应用开发的第一步。模型训练产出参数文件,推理则在端侧执行预测,这一过程涉及数据标注、算法选择、模型压缩与部署优化。TensorFlow Lite、ML Kit 等工具让端侧推理成为现实,而大模型 API 则提供了云端智能能力。无论是实现图片分类还是智能问答,工程师都需要透析从数据准备到模型

weixin_34055787的博客 361

一文带你完成ARMv8架构中的cache知识点

【摘要】 在最初开发ARM架构时,处理器的时钟速度和内存的访问速度大致相同。今天的处理器内核要复杂得多,其时钟速度可以快上几个数量级。但是,外部总线和内存设备的频率并没有扩大到同样的程度。有可能实现小块的片上SRAM,它可以以与内核相同的速度运行,但是与标准的DRAM块相比,这种RAM非常昂贵,因为后者的容量可以达到数千倍。在许多基于ARM处理器的系统中,访问外部存储器需要几十甚至几百个内核周期。 cache的技术背景 在最初开发ARM架构时,处理器的时钟速度和内存的访问速度大致相同。今天的处.

ABCCloud的博客 1853

TensorFlow 在android上的Demo(1)

转载时请注明出处: 修雨轩陈 系统环境说明: ------------------------------------ 操作系统 : ubunt 14.03 _ x86_64 操作系统 内存: 8GB 硬盘 500G ------------------------------------ 一、编译TensorFlow在android上的Demo 1.1 搭建环境 l ...

weixin_30877227的博客 184

【Docker】Docker安装Hadoop分布式集群

hadoop目录安装在:/usr/local/hadoop-2.7.0/etc/hadoop。访问Hadoop102:9870,查看是否能够看到hdfs界面。访问hadoop103:8088,查看能够看到yarn界面。在yarn上可以看到执行情况。

weixin_46429290的博客 3460

TensorFlowAndroidDemo:让AI走进你的安卓应用

TensorFlowAndroidDemo:让AI走进你的安卓应用 1、项目介绍 在这个快速发展的科技时代,人工智能已经无处不在,尤其在移动设备上表现得尤为突出。TensorFlowAndroidDemo是一个专门为Android开发者设计的项目,它提供了一个简单的平台,帮助开发者将TensorFlow模型无缝集成到自己的应用程序中。该项目的灵感来源于ildoonet/tf-pose-estima...

gitblog_00025的博客 416

ros2 humble中使用realsense t265与d435

前提,安装realsense SDK 2.51.1版本并且能成功启动realsense-viewer V2.51.1想要在ros2中使用realsense t265,必须配合realsense SDK v2.51.1使用realsense-ros 4.51.1版本,因为新版本realsense ros2不再对t265支持下面记录源码编译安装 realsense-ros 4.51.1版本。

m0_72797388的博客 952

拆解博世、大陆的EMB方案:自增力机构如何省下83%的能耗?

本文深度解析了博世和大陆的电子机械制动(EMB)技术,重点探讨了自增力机构如何实现83%的能耗节省。通过对比电机直驱型和自增力型EMB的技术参数,揭示了自增力机构在能量优化和系统集成方面的创新优势,为汽车电动化和智能化提供了关键技术支持。

weixin_42665725的博客 393

使用TensorFlow实现MNIST识别的Android Demo:轻量级AI入门实践

使用TensorFlow实现MNIST识别的Android Demo:轻量级AI入门实践 项目简介 是一个基于TensorFlow和Android平台的简单手写数字识别应用。它利用了TensorFlow的模型能力,将经典的MNIST数据集集成到Android应用中,让开发者可以直观地了解如何在移动设备上运行机器学习模型。 技术分析 TensorFlow TensorFlow 是Google开源的一...

gitblog_00026的博客 519

PX4控制云台的两种方式 方法适用控舵机 控灯

云台控制插件是mount_control,运行mavros启动文件的时候需要注意该插件是否正常启动,需要在px4_pluginlists.yaml配置文件中将mount_control从blacklisted中移除后才可启动。后会默认占用AUX端口1-4,此时通过AUX通道1-4输出PWM控制信号至云台,对应的RC通道映射功能失效。控制信号输入为RC 则接收机必须连接对应的通道至AUX辅助通道,并通过MNT_MAN_*参数设置pitch/roll/yaw对应的AUX通道。配置为AUTO或MAVLINK,

z1872385的博客 3669

在Android上使用Tensorflow

在安卓平台使用tensorflow项目github 最近更新 2017.6.7添加了app预览如下,更详细请到github 分类预览1: 拍照分类: 程序启动: 自动分类为相册: 最近更新 2017.3.7注意 最近有几个小伙伴询问移动端平台怎样使用自己的模型以及其他相关问题,我对部分问题做了总结,相关的内容在另外一篇博客中,点这里查看。另外大家要使用自己的模型请直接到上述

dongchang's blog 3万+

MATLAB与图像处理(一):图像中结构张量的求法(Structure Tensor)

1.结构张量的作用:       能够区分图像中的平坦区域,边缘,角点; 2.图像中的结构张量的定义    1)是一个矩阵;    2)与图像的水平,垂直梯度有关,定义如下: 在MATLAB中,可以用如下语句求解:[Ix,Iy]=gradient(Image); 3)求出结构张量矩阵的行列式,和迹(矩阵对角线之和)   行列式:K=det(E);   迹:  

wenyusuran的专栏 5242

MATLAB基础应用精讲-【数模应用】游程检验(附MATLAB、R语言和python代码实现)

游程检验是一种非参数性统计假设的检验方法,它是游程总数检验和最大游程检验的总称,用于两个独立样本的比较和观测结果随机性的检验测试。​游程检验亦称“连贯检验”,是根据样本标志表现排列所形成的游程的多少进行判断的检验方法。[2]例1:设某样本n=12人的标志表现为男、女,有以下三种排列。(i) 男\男,女\女\女,男,女\女,男\男\男\男;(ii) 男\男\男\男\男\男\男,女\女\女\女\女;(iii) 男,女,男,女,男,女,男,女,男,女,男\男;连续出现男或女的区段称为游程。

qq_36130719的博客 608

TensorFlow Lite在Android手机上实现图像分类的demo

TensorFlow Lite在Android手机上实现图像分类的demo 去发现同类优质开源项目:https://gitcode.com/ 此仓库包含了一个使用TensorFlow Lite在Android手机上实现图像分类功能的demo。通过这个demo,您可以学习如何将TensorFlow Lite模型集成到Android应用中,实现对图像的实时分类。 简介 图像分类是计算机视觉领域的一项基...

gitblog_06773的博客 567

LPDDR6 技术标准详解(JESD209-6)

是继 LPDDR5/5X 之后的新一代低功耗 DRAM 标准,专为满足移动终端、AI、边缘计算等高带宽、低功耗场景而设计。该标准通过全新架构、动态功耗控制机制和增强型数据完整性机制,实现性能、能效与可靠性的全面升级。LPDDR6 并非仅是速度升级,更是内存架构设计思路的演进,围绕“低功耗 + 高带宽 + 强安全”的三维目标,构建下一代 SoC 平台关键基础。✅ 高带宽:支持 32B/64B 动态突发✅ 低功耗:动态电压、通道切换✅ 高可靠性:ECC + 自测试 + 安全区。

weixin_43199439的博客 2573

TensorFlow,从一个 Android Demo 开始

最近要调研 TensorFlow 在 Android 平台的应用场景,熟话说万事开头难,然后中间也难,最后更难。那就先来看看官方提供的 Demo 效果。 TensorFlow Android Demo 项目地址 Machine Learning 既然提到了 TensorFlow,那是不是得神经网络、机器学习了解下? 如果你能坚持把 机器学习速成课程 给啃完了,觉得还挺...

shenhe123的博客 231

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

TensorFlow Lite与ML Kit强强联合:打造智能移动应用的5个实战案例

TensorFlow Lite是一套帮助将TensorFlow模型转换和优化以在移动和边缘设备上运行的工具,目前已在超过40亿台设备上运行!ML Kit则是一个移动SDK,为移动开发者带来了Google的机器学习专业知识。两者的结合为智能移动应用开发提供了强大支持,下面为你介绍5个实战案例。 [![TensorFlow Lite与ML Kit集成概览](https://raw.gitcode.c

gitblog_00665的博客 651

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Android TensorFlow Lite 初探 数字分类器(JAVA DEMO)

TensorFlow Lite TensorFlow Lite 是一种用于设备端推断的开源深度学习框架, 在移动设备和 IoT 设备上部署机器学习模型 环境 AndroidStudio 4.0 + JAVA 数字分类器 通过 TensorFlow Lite 模型对手写数字进行分类。 关于DEMO Github demo 源码(kotlin) 上面图片的DEMO Github demo 源码(Java) 历程 刚开始并没有找到图片中的DEMO源码, 于是自己根据kotlin的DEMO移植了一下, 以下是

ansondroider的博客 1027

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

安卓开发者入门AI:关键术语与端侧推理部署指南

在移动应用开发中,机器学习已不再是算法团队的专属领域,安卓开发者经常需要与AI能力集成打交道。面对特征、标签、训练、推理、过拟合、量化等概念,如何快速理解并落地?端侧推理通过将模型部署在手机本地,带来低延迟、离线可用与隐私保护等优势,而TensorFlow Lite、ML Kit与ONNX Runtime则为开发者提供了实用工具链。从模型格式转换、性能指标分析到数据前处理与结果后处理,掌握这些基础术语是工程实践的第一步。本文从机器学习的基本原理出发,梳理数据与效果评估指标,解释模型压缩技术,并结合端侧推理的

weixin_30247307的博客 418

谈一谈前端机器学习和安卓机器学习

谈一谈前端机器学习和安卓机器学习第一篇 前端机器学习前端机器学习是什么,优势及应用场景前端机器学习技术链及参考资料前端机器学习做法举例以及我们的项目前端机器学习未来发展插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入第二篇 安卓机器学习安卓机器学习定义,优势及应用场景安卓机器学习技术链及参考

weixin_42466194的博客 441

机器学习(tensorflow实现安卓物体识别)

参考网页: 基础模型训练:https://codelabs.tensorflowers.cn/codelabs/tensorflow-for-poets/index.html#0 转换模型:https://codelabs.tensorflowers.cn/codelabs/tensorflow-for-poets-2-tflite/index.html#0 安装Python 3.6.2 pyth...

qq_39252578的博客 1163

机器学习:在Android中集成TensorFlow (深度学习,AI,人工智能,DL,ML,神经网络)

众所周知,google谷歌有一个名为TensorFlow的开源库,可用来在Android中实现机器学习。 TensorFlow是一个由google谷歌提供的机器智能开源软件库。我在网上搜索了很多关于在Android端 构建 TensorFlow的简单简单方法和简单demo,都一无所获。在阅读了众多资源后,我总算可以构建成功了。然后我决定写下这篇博客,以便其他人不用花费太多时间。 本篇Demo——

塑料机霸 1万+

在安卓上运行TensorFlow:让深度学习进入移动端

我会一步一步地介绍如何在安卓设备上运行定制化的图片分类器。实现这个功能需要很多步骤,而且其他地方没有这样的介绍,只能通过反复地查看TensorFlow的GitHub论坛。我希望这篇帖子能帮你避免很多的麻烦。

OReillyData 1218
上一篇: Casperjs 入门自动化注册
下一篇: 安装机器学习库时遇到的numpy问题
熊帽男孩
博客等级 码龄14年 19粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值