【tensorflowflutterweb】机器学习模型怎样用到前端上(未写完)

news2024/11/27 8:28:59

书接上回

        在上一章 我们谈了怎么根据项目需求构建一个简单的机器学习模型。

     ​​​​​​ ​​​​​​【tensorflow&flutter】自己写个机器学习模型用在项目上?-CSDN博客文章浏览阅读852次,点赞22次,收藏15次。【tensorflow&flutter】自己写个机器学习模型用在项目上? 拍摄APP项目上线有一阵了,每天的拍摄数据呈现波动上升状态、业务方需要对数据进行加工,如果能有对未来的数据量的预测就好了 。https://blog.csdn.net/qq_36544007/article/details/135404222?spm=1001.2014.3001.5502        其实上期的项目完全可以用tensorflow serving去获取数据,或者是一个web 页面去加载tensorflow js去计算更加方便部署。

        哦,至于你说什么是tensorflow serving、什么是tensorflow js,本期咱们说一下机器学习模型用在前端的几种方式。

部署机器学习模型的方式

        咱们还是继续以tensorflow为例子(大家也可以了解一下PyTorch)

先说总结

         TensorFlow 可提供强大的功能,以便您在任何环境(包括服务器、边缘设备、浏览器、移动设备、微控制器、CPU、GPU、FPGA)中部署模型。TensorFlow Serving 可以在先进的处理器(包括 Google 的自定义张量处理单元 [TPU])上以生产规模运行机器学习模型。
        如果您需要在靠近数据源的位置分析数据,以缩短延迟时间并更好地保护数据隐私,可以借助 TensorFlow Lite 框架在移动设备、边缘计算设备甚至微控制器上运行模型,还可以借助 TensorFlow.js 框架仅使用网络浏览器就能运行机器学习模型

  就是如上所说的一样 可以在设备上、浏览器中、本地云端都可以部署模型。

1.Tensorflow Serving

        先说一下tensorflow serving这种常规后端,直接返回推断好的数据。 比如千人千面的淘宝推荐,头条不同的广告,又或者是这种与前端相对交互更多的:交互式推荐在外卖场景的探索与应用。

简易使用

          很简单 大家可以试一试。先下载Docker,然后按照以下步骤尝试:

# Download the TensorFlow Serving Docker image and repo 下载TensorFlow Serving Docker镜像
docker pull tensorflow/serving
# 获取模型
git clone https://github.com/tensorflow/serving
# 定义模型
TESTDATA="$(pwd)/serving/tensorflow_serving/servables/tensorflow/testdata"

# Start TensorFlow Serving container and open the REST API port 启动TensorFlow Serving容器并打开REST API端口
docker run -t --rm -p 8501:8501 \
    -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" \
    -e MODEL_NAME=half_plus_two \
    tensorflow/serving &

# Query the model using the predict API  本地就可以请求了
curl -d '{"instances": [1.0, 2.0, 5.0]}' \
    -X POST http://localhost:8501/v1/models/half_plus_two:predict

# Returns => { "predictions": [2.5, 3.0, 4.5] }

介绍 

         使用docker 实现了:只需要传递参数请求就可以输出推断结果的最简单节点。遇到问题可以参考官方链接或者网上查询。 

        比如大家制作好的模型/网上更有实力的模型/针对项目强化学习的模型 都可以通过这样的情况进行部署,然后通过后端包装一下、或者直接调用。

        适用的场景就如上面所说,还包括我上篇文章的数据推断、票房预测、一次推断多处使用,或者计算量数据大、资源来自服务器的情况。

模型保存格式及使用

         TensorFlow保存模型有2种方式,checkpoint和saved_model格式,其中checkpoint格式用户模型训练过程中的保存,saved_model用户模型线上部署,方便grpc的远程调用。 

        咱们使用saved_model格式,形式如下,serving自动取版本号最高的模型,以下是以saved_model格式00001版本的代码。

 model.save('saved_model/my_model/00001')

2.TensorflowJS

    介绍

     在web上 要用这个 TensorFlow.js 是 TensorFlow 的 JavaScript 版本,支持 GPU 硬件加速,可以运行在 Node.js 或浏览器环境中。

      它不但支持完全基于 JavaScript 从头开发、训练和部署模型,也可以用来运行已有的 Python 版 TensorFlow 模型,或者基于现有的模型进行继续训练。(flutter web 和flutter端侧用的依赖库不一样)。

官方示例    https://www.tensorflow.org/js/demos?hl=zh-cn

模型转换

        可以通过tfjs-converter进行模型转换模型转换  |  TensorFlow.js.

3.Tensorflow Lite

结语

      我一开始学习机器学习 大家都是介绍其中的部分 比如就介绍了怎么建模,具体技术细节,没有说从前端、或是其他角度说介绍这件事。在我学习的前期有一种盲人摸象的感觉,希望我写的文章对你有帮助。 

参考文档

docker安装&tensorflow serving使用

tensorflow 官网 部署模型

平台和环境  |  TensorFlow.js

tensorflow.js有哪些局限?-CDA数据分析师官网

在浏览器中使用TensorFlow.js-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1365830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

结队编程 - 华为OD统一考试

OD统一考试 题解: Java / Python / C++ 题目描述 某部门计划通过结队编程来进行项目开发,已知该部门有 N 名员工,每个员工有独一无二的职级,每三个员工形成一个小组进行结队编程,结队分组规则如下: 从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分别为 level[…

在docker中搭建部署clickhouse

因需要给网关日志拉取并存储供数据分析师分析,由于几十个项目的网关请求数量很大,放在mysql不合适,MongoDB不适合分析,于是准备存放在clickhouse,clickhouse对于读写支持也比较友好,说干就干 1、在服务器中…

6.综合案例

1. 需求描述 1.1 显示所有员工信息 URI:emps 请求方式:GET 显示效果 1.2 添加操作- 去往添加页面 显示添加页面: URI:emp 请求方式:GET 显示效果 1.3 添加操作- 添加员工 添加员工信息: URI:emp 请求方式:POST 显示效果:完成添加, 重定向到 list 页面。 1.4…

Java-网络爬虫(一)

文章目录 前言一、网络爬虫1. 介绍2. 爬虫协议3. 法律法规 二、相关知识1. HttpClient2. Jsoup 三、综合案例1. 案例一2. 案例二 四、总结 前言 下篇:Java-网络爬虫(二) 在大数据时代,信息采集是一项重要的工作,而互联网中的数据是海量的&am…

2024年第01周农产品价格报告

一、摘要 农产品价格监测主要涉及对畜禽类产品、水产品、蔬菜类产品、水果类产品的价格,以周为单位,进行变化情况的数据监测。其中,蔬菜类产品共18种,分别为大白菜、西红柿、黄瓜、青椒、芹菜、土豆、白萝卜、茄子、豆角、胡萝卜…

和可被K整除的子数组(Java详解)

目录 一、题目描述 二、题解 思路分析 具体实现 完整代码 一、题目描述 给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的(连续、非空) 子数组 的数目。 子数组 是数组的 连续 部分。 示例: 输入&#…

MYSQL学习之buffer pool的理论学习

MYSQL学习之buffer pool的理论学习 by 小乌龟 文章目录 MYSQL学习之buffer pool的理论学习前言一、buffer pool是什么?二、buffer pool 的内存结构三、buffer pool 的初始化和配置初始化配置 四、buffer pool 空间管理LRU淘汰法冷热数据分离的LRU算法1.引入库2.读入…

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使用…

RT-Thread 内核基础(一)

内核基础 包括:内核简介、系统的启动流程及内核配置的部分内容,为后面的章节奠定基础。 RT-Thread 内核介绍 内核是一个操作系统的核心,是操作系统最基础也最重要的部分。它负责管理系统的线程、线程间通信、系统时钟、中断及内存等。 下…

使用tailscale访问对端局域网上的其他设备

当tailscale客户端应用程序直接安装在组织中的每个客户端、服务器和虚拟机上时,Tailscale 效果最佳。这样,流量就会被端到端加密,并且无需配置即可在物理位置之间移动机器。 但是,在某些情况下,你不能或不想在每台设备…

AI人工智能学习路线图

学习人工智能 AI 的路线通常包括以下几个步骤:了解人工智能的基本概念和历史,包括机器学习、神经网络、深度学习等技术。学习数学基础知识,包括线性代数、微积分、概率论和统计学等。学习编程基础知识,包括 Python、C 等编程语言。…

[嵌入式AI从0开始到入土]10_yolov5在昇腾上应用

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第一章 昇腾Altas 200 DK上手 第二章 下载昇腾案例并运行 第三章…

源码编译部署篇(二)源码编译milvus成功后如何启动standalone并调试成功!

Milvus启动和调试 0 前言1 Milvus启动【问题描述】出现Aborted问题【问题分析】【解决方法】安装Pulsar服务执行单机启动命令解决监听端口号 2 Milvus调试编写launch.json验证单例调试成功 3 遇到的问题汇总问题1问题2:Permission denied 0 前言 由于Milvus官方文档只提及如何…

VX小程序Burp抓包

方法有很多,工具也各有差异,主要是学代理流量的思路 Burp流量代理工具小程序 一、Burp证书导入 1、开启代理 开启浏览器的代理,火狐推荐FoxyProxy,Google推荐SwitchyOmega,设置代理为127.0.0.1:8080。 2、下载证书…

[C#]Onnxruntime部署Chinese CLIP实现以文搜图以文找图功能

【官方框架地址】 https://github.com/OFA-Sys/Chinese-CLIP 【算法介绍】 在当今的大数据时代,文本信息处理已经成为了计算机科学领域的核心议题之一。为了高效地处理海量的文本数据,自然语言处理(NLP)技术应运而生。而在诸多N…

性能分析与调优: Linux 使用ELRepo升级CentOS内核

目录 一、实验 1.环境 2.agent 服务器使用ELRepo升级CentOS内核 二、问题 1. RHEL-7, SL-7 或者 CentOS-7系统如何安装ELRepo 2.RHEL-8或者RHEL-9系统如何安装ELRepo 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系…

超维空间M1无人机使用说明书——21、基于opencv的人脸识别

引言:M1型号无人机不仅提供了yolo进行物体识别,也增加了基于opencv的人脸识别功能包,仅需要启动摄像头和识别节点即可 链接: 源码链接 一、一键启动摄像头和人脸识别节点 roslaunch robot_bringup bringup_face_detect.launch无报错&#…

Maven在java中的实现(对java的项目进行打包)

前言: 在前面的文章中我们了解了Maven的作用,并在自己的电脑上安装配置好了Maven,也成功的在IDEA中添加了Maven,但是具体的实现还是有一些些小问题,那么接下来,我将带着大家对Java项目进行一次打包,系统的完成一次,并在途中解决一下会出现的问题. 我以图片中选中的这个包为例,…

在docker上运行LCM

目录 1.加载镜像并进入容器 2.安装依赖 3.在docker外部git-clone lcm 4.将get-clone的lcm复制到容器中 5.编译库 6.将可执行文件复制到容器中 7.进入可执行文件 8.编译可执行文件 9.再开一个终端运行程序 10.将以上容器打成镜像并导出 1.加载镜像并进入容器 sudo do…

【无标题】山姆奥特曼喊话AI创业者

这里写自定山姆奥特曼充满激情地向创业者们发出呼吁,他表示AI是一个可以媲美互联网早期机遇的巨大机会。与此相关的人士认为,现在是互联网和移动互联网创业者们行动起来的时候了!他们应该全面拥抱大模型的应用层创业。第一波红利期在6-8个月内…