长春小学网站建设网页视频下载提取器

web/2025/9/30 17:03:45/文章来源:
长春小学网站建设,网页视频下载提取器,领地免费网站开发,p2p网站如何建设时间序列数据分析在工业#xff0c;能源#xff0c;医疗#xff0c;交通#xff0c;金融#xff0c;零售等多个领域都有广泛应用。其中时间序列数据分类是分析时序数据的常见任务之一。本文将通过一个具体的案例#xff0c;介绍 Intel 团队如何使用 TDengine 作为基础软件…时间序列数据分析在工业能源医疗交通金融零售等多个领域都有广泛应用。其中时间序列数据分类是分析时序数据的常见任务之一。本文将通过一个具体的案例介绍 Intel 团队如何使用 TDengine 作为基础软件存储实验数据并通过 TDengine 高效的查询能力在 OpenVINO 部署深度学习模型最终在 AIxBoard 开发板上实时运行分类任务。 模型简介 近年来机器学习和深度学习在时序数据分类任务中取得了显著进展HIVE-COTE 和 InceptionTime 模型都取得了不错的成果。相比基于 Nearest Neighbor 和 DTW 算法的 HIVE-COTE 模型基于一维卷积 (Conv1D) 的 InceptionTime 模型成果更为显著其在极大降低计算复杂度的基础上还达到了与 HIVE-COTE 相当的分类精度。 如下图所示Inception 模块是 InceptionTime 模型的基本组成模块由多个一维卷积 (Conv1D) 操作堆叠并于残差连接而成。 完整的 InceptionTime 模型由多个 Inception 模块连接而成。 关于 InceptionTime 的更多细节请参考论文https://arxiv.org/abs/1909.04939。 数据集 本文采用的数据集来自 Time Series Classification Website由 128 个时间序列分类任务组成。其中的 Wafer 数据集包含 1000 条训练数据和和 6164 条测试数据每条数据均包含标签值和长度 152 的时间序列数据。数据通过程序提前写入到 TDengine 中。 这里描述的时序数据是晶片生成过程中同一个工具通过单个传感器记录的时间序列数据。下图展示了正常 (class 1) 和异常 (class 0) 两种标签对应的时序数据示例。 不难看出这是一个标准的监督学习分类任务。我们希望找到一个模型在每输入长度 152 的时序数据时模型输出 0 或 1以此判断输入时序数据对应的晶片在生成过程是否存在异常。 模型训练 本文中我们将使用 Wafer 数据集训练一个 InceptionTime 模型。训练得到的模型可以根据晶片生产过程中传感器记录的时序数据判断某个晶片的生产过程是否存在异常。 InceptionTime 的作者开源了基于 tensorflow.keras 的实现本文的模型代码基于 InceptionTime 开源版本并集成 TDengine 支持 GitHub - sangshuduo/InceptionTime: InceptionTime: Finding AlexNet for Time Series Classification。 首先加载 Python 库。 from os import path import numpy as np from sklearn import preprocessingfrom tensorflow import keras from tensorflow.keras.layers import (Activation, Add, BatchNormalization, Concatenate,Conv1D, Dense, Input, GlobalAveragePooling1D, MaxPool1D )from sqlalchemy import create_engine, text 然后使用 TDengine 的 SQLAlchemy 驱动加载 Wafer 数据集并进行预处理。 def readucr(conn, dbName, tableName):data pd.read_sql(text(select * from dbName . tableName),conn,)y data[:, 0]x data[:, 1:]return x, ydef load_data(db):engine create_engine(taos://root:taosdatalocalhost:6030/ db)try:conn engine.connect()except Exception as e:print(e)exit(1)if conn is not None:print(Connected to the TDengine ...)else:print(Failed to connect to taos)exit(1)x_train, y_train readucr(conn, db _TRAIN.tsv)x_test, y_test readucr(conn, db _TEST.tsv)n_classes len(np.unique(y_train))enc preprocessing.OneHotEncoder()y np.concatenate((y_train, y_test), axis0).reshape(-1,1)enc.fit(y)y_tr enc.transform(y_train.reshape(-1,1)).toarray()y_te enc.transform(y_test.reshape(-1,1)).toarray()x_tr, x_te map(lambda x: x.reshape(x.shape[0], x.shape[1], 1), [x_train, x_test])return x_tr, y_tr, x_te, y_te, n_classesx_tr, y_tr, x_te, y_te, n_classes load_data(Wafer) 再使用 tensorflow.keras 实现 IncetionTime并创建模型。 def inception_module(input_tensor, filters, kernel_size, bottleneck_size,activationrelu, use_bottleneckTrue):if use_bottleneck and int(input_tensor.shape[-1]) 1:input_inception Conv1D(filtersbottleneck_size, kernel_size1, paddingsame,activationactivation, use_biasFalse)(input_tensor)else:input_inception input_tensorkernel_size_s [kernel_size // (2 ** i) for i in range(3)] # [40, 20, 10]conv_list []for i in range(len(kernel_size_s)):conv Conv1D(filtersfilters, kernel_sizekernel_size_s[i],strides1, paddingsame, activationactivation,use_biasFalse)(input_inception)conv_list.append(conv)max_pool MaxPool1D(pool_size3, strides1, paddingsame)(input_tensor)conv_6 Conv1D(filtersfilters, kernel_size1, paddingsame,activationactivation, use_biasFalse)(max_pool)conv_list.append(conv_6)x Concatenate(axis2)(conv_list)x BatchNormalization()(x)x Activation(activationrelu)(x)return xdef shortcut_layer(input_tensor, output_tensor):y Conv1D(filtersint(output_tensor.shape[-1]), kernel_size1,paddingsame, use_biasFalse)(input_tensor)y BatchNormalization()(y)x Add()([y, output_tensor])x Activation(activationrelu)(x)return xdef build_model(input_shape, n_classes, depth6,filters32, kernel_size40, bottleneck_size32,use_residualTrue):input_layer Input(input_shape)x input_layerinput_res input_layerfor d in range(depth):x inception_module(x, filters, kernel_size, bottleneck_size)if use_residual and d % 3 2:x shortcut_layer(input_res, x)input_res xgap_layer GlobalAveragePooling1D()(x)output_layer Dense(n_classes, activationsoftmax)(gap_layer)model keras.Model(input_layer, output_layer)return modelmodel build_model(x_tr.shape[1:], n_classes)model.compile(optimizeradam,losscategorical_crossentropy,metrics[accuracy] ) 训练模型 ckpt_path path.sep.join([., models, inception_wafer.h5])callbacks [keras.callbacks.ReduceLROnPlateau(monitorval_loss, factor0.5, patience20, min_lr0.0001),keras.callbacks.EarlyStopping(monitorval_loss, patience20, verbose1),keras.callbacks.ModelCheckpoint(filepathckpt_path, monitorval_loss, save_best_onlyTrue) ]batch_size 32 epochs 500history model.fit(x_tr, y_tr, batch_size, epochs, verboseauto, shuffleTrue, validation_split0.2, callbackscallbacks) 简单显示一下训练过程 metric accuracy plt.figure(figsize(10, 5)) plt.plot(history.history[metric]) plt.plot(history.history[val_metric]) plt.title(model metric) plt.ylabel(metric, fontsizelarge) plt.xlabel(epoch, fontsizelarge) plt.legend([train, val], locbest) plt.show() plt.close() 使用测试数据验证模型的推理精度。 classifier keras.models.load_model(ckpt_path) test_loss, test_acc classifier.evaluate(x_te, y_te) print(Test accuracy: , test_acc) print(Test loss: , test_loss) 193/193 [] - 2s 11ms/step - loss: 0.0142 - accuracy: 0.9958 Test accuracy: 0.9957819581031799 Test loss: 0.014155667275190353 我们的模型在 Wafer 测试数据上取得了 99.58% 的精度。 模型转换 为了达成使用 OpenVINO Runtime 进行推理计算的目的我们需要将 tensorflow 模型转换为 OpenVINO IR 格式。 from pathlib import Path from openvino.tools import mo from tensorflow import kerasmodel keras.models.load_model(models/inception_wafer.h5)model_path Path(models/inception.0_float) model.save(model_path)model_dir Path(ov) model_dir.mkdir(exist_okTrue) ir_path Path(ov/inception.xml)input_shape [1, 152, 1]if not ir_path.exists():print(Exporting TensorFlow model to IR...)ov_model mo.convert_model(saved_model_dirmodel_path, input_shapeinput_shape, compress_to_fp16True)serialize(ov_model, ir_path) else:print(fIR model {ir_path} already exists.) 转换完成后生成的 IR 格式模型被存储为模型定义文件 inception.xml 和二进制文件 inception.bin。 模型部署 接下来我们在 AIxBoard 开发板上部署刚刚训练的 IncetpionTime 模型。首先将 inception.bin、inception.xml 和 Wafer_TEST.tsv 几个文件复制到 AIxBoard 板上。 加载 Python 库。 from pathlib import Path import numpy as np from openvino.runtime import Core, serialize 使用 OpenVINO 运行 Inception 模型。 ir_path Path(inception.xml) core Core() model core.read_model(ir_path) import ipywidgets as widgetsdevice widgets.Dropdown(optionscore.available_devices [AUTO],valueAUTO,descriptionDevice:,disabledFalse )device 0.995782 使用OpenVINO推理的精度跟tensorflow模型推理精度一致同样达到了99.58%。我们在模型转换时将原模型数据格式压缩为 FP16这一操作并没有导致精度下降。 性能测试 使用 OpenVINO 自带的 benchmark 工具可以轻松地在 AIxBoard 上进行性能测试。 benchmark_app -m inception.xml -hint latency -d CPU [ INFO ] First inference took 8.59 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:[CPU] [ INFO ] Count: 8683 iterations [ INFO ] Duration: 60012.27 ms [ INFO ] Latency: [ INFO ] Median: 6.44 ms [ INFO ] Average: 6.81 ms [ INFO ] Min: 6.34 ms [ INFO ] Max: 37.13 ms [ INFO ] Throughput: 144.69 FPS benchmark_app -m inception.xml -hint latency -d GPU [ INFO ] First inference took 10.58 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:[GPU.0] [ INFO ] Count: 7151 iterations [ INFO ] Duration: 60026.34 ms [ INFO ] Latency: [ INFO ] Median: 7.50 ms [ INFO ] Average: 8.23 ms [ INFO ] Min: 7.04 ms [ INFO ] Max: 21.78 ms [ INFO ] Throughput: 119.13 FPS 从上面结果可以看出使用AIxBoard的CPU运行InceptionTime模型推理平均时长为6.81ms。使用集成 GPU 推理平均时长为 8.23ms。 总结 本文介绍了如何利用 TDengine 支持时间序列数据的底层存储以及如何通过分类模型 InceptionTime 在 UCR 时序数据集的 Wafer 分类任务上进行训练。最后我们使用 OpenVINO 将该模型部署在 AIxBoard 开发板上实现了高效的实时时序数据分类任务。希望本文的内容能够帮助大家在项目中利用 TDengine、OpenVINO 和 AIxBoard 来解决更多的时间序列分析问题。 关于 AIxBoard 英特尔开发者套件 AIxBoard爱克斯开发板是专为支持入门级边缘 AI 应用程序和设备而设计能够满足人工智能学习、开发、实训等应用场景。该开发板是类树莓派的 x86 主机可支持 Linux Ubuntu 及完整版 Windows 操作系统板载一颗英特尔 4 核处理器最高运行频率可达 2.9 GHz且内置核显iGPU板载 64GB eMMC 存储及 LPDDR4x 2933MHz4GB/6GB/8GB内置蓝牙和 Wi-Fi 模组支持 USB 3.0、HDMI 视频输出、3.5mm 音频接口1000Mbps 以太网口完全可把它作为一台 mini 小电脑来看待且其可集成一块 Arduino Leonardo 单片机可外拓各种传感器模块。此外其接口与 Jetson Nano 载板兼容GPIO 与树莓派兼容能够最大限度地复用树莓派、Jetson Nano 等生态资源无论是摄像头物体识别3D 打印还是 CNC 实时插补控制都能稳定运行不仅可作为边缘计算引擎用于人工智能产品验证、开发也可作为域控核心用于机器人产品开发。 产品链接首页_蓝蛙智能 关于 TDengine TDengine 核心是一款高性能、集群开源、云原生的时序数据库Time Series DatabaseTSDB专为物联网、工业互联网、电力、IT 运维等场景设计并优化具有极强的弹性伸缩能力。同时它还带有内建的缓存、流式计算、数据订阅等系统功能能大幅减少系统设计的复杂度降低研发和运营成本是一个高性能、分布式的物联网、工业大数据平台。当前 TDengine 主要提供两大版本分别是支持私有化部署的 TDengine Enterprise 以及全托管的物联网、工业互联网云服务平台 TDengine Cloud两者在开源时序数据库 TDengine OSS 的功能基础上有更多加强用户可根据自身业务体量和需求进行版本选择。 关于作者 冯伟英特尔软件架构师16 年软件研发经验涵盖浏览器、计算机视觉、虚拟机等多个领域。2015 年加入英特尔近年来专注于边缘计算、深度学习模型落地以及时序数据分析等方向。 了解更多 TDengine Database的具体细节可在GitHub上查看相关源代码。

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

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

相关文章

服务外包网站西安高端网站设计公司

1.call/apply/bind方法的来源 首先,在使用call,apply,bind方法时,我们有必要知道这三个方法究竟是来自哪里?为什么可以使用的到这三个方法? call,apply,bind这三个方法其实都是继承自…

dedecms 网站名称标签优化关键词首页排行榜

0 设备 创龙C6657Artix-7工业评估板 SEED-XDS560v2 1 实现功能 控制评估底板 LED1 、 LED2 、 LED3 每隔 0.5s 将状态同时翻转一次。 采用查询的方式控制评估版的KEY2控制LED2亮灭。 2 代码 2.1 GPIO驱动 2.1.1 c66x_gpio.c /* Compiler Header files */ #include …

购物商城网站都有哪些功能小程序推广工作怎么样

面试篇就是复习前面学的 什么是JVM 1.定义:JVM指的是Java虚拟机,本质是一个运行在计算机上的程序 2.作用:为了支持Java中Write Once ,Run Anywhere 编写一次 到处运行的跨平台特性 功能: 1.解释和运行 2.内存管理…

商城类网站建设篇青岛手机网站建设报价

这里是Z哥的个人公众号每周五11:45 按时送达有时也会有感而发,来加个餐~我的第「84」篇原创敬上前天早上,在36kr看到一篇文章《一个负能量的人,可以轻易搞垮周围人的生活》,讲述了可能我们每个人身边都存在…

网站建设wap网站建设插件代码大全

1.动态链接库的编写 1.1 在项目中涉及到很多动态链接库的时候,可创建一个总的动态链接库,把所有的其他的动态链接库放到它的下面作为它的子项目,这样在qmake和编译的时候,只需要对总的动态链接库做操作,而不需要对每个…

银川网站建设有哪些公司网站要什么做

jxls使用excel公司这篇文章展示了如何使用jXLS将Excel文件解析为JavaBeans列表。 这是我编写的通用实用程序方法&#xff1a; /** * Parses an excel file into a list of beans. * * param <T> the type of the bean * param xlsFile the excel data file to parse * …

个旧市建设网站蓝色清新phpcms企业网站模板

油封也称为轴封&#xff0c;是各类机械中不可或缺的部件。它们主要用于密封机械设备中固定部件和移动部件之间的开口。大多数应用中较常用的油封是橡胶壳油封或金属壳油封。 橡胶壳油封广泛用于存在金属壳油封因热膨胀而失效的风险的应用中。橡胶外壳油封不会生锈&#xff0c;…

云主机怎么上传网站网站建设管理工作情况的通报

阿里云服务器可以干嘛&#xff1f;能干啥你还不知道么&#xff01;简单来讲可用来搭建网站、个人博客、企业官网、论坛、电子商务、AI、LLM大语言模型、测试环境等&#xff0c;阿里云百科aliyunbaike.com整理阿里云服务器的用途&#xff1a; 阿里云服务器活动 aliyunbaike.com…

网站二级菜单模板湖南电子科技网站建设

DB_RECOVERY_FILE_DEST参数是默认的flashrecovery area的路径&#xff0c;里面存放有归档日志、闪回日志以及rman的备份文件等文件。LOG_ARCHIVE_DEST_n参数是存放归档日志的路径&#xff0c;n表示1~10的一个整数&#xff0c;由于归档日志在recovery的时候担当了重要的角色&…

商标查询网站建设网站添加后台

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 学C的第三十三天【C语言文件操作】_高高的胖子的博客-CSDN博客 1 . 程序的翻译环境和执行环境 在ANSI C(C语言标准)的任何一种实现中&#xff0c;存在两个不同的环境。 &#xff0…

windows2012iis网站默认设置wordpress博客 知乎

实现效果 DAC输出的电压 同过电压表测量电压 1.DAC配置的步骤 初始化DAC时钟。配置DAC的GPIO端口。设置DAC的工作模式&#xff08;例如&#xff0c;是否使用触发功能&#xff0c;是否启用DAC中断等&#xff09;。启动DAC。 2常用的函数 函数 HAL_DAC_Start() - 开启指定…

网上如何建网站卖量具网站建设外包公司招聘

目录 二、从回归到线性分类模型&#xff1a;分类 3.分类模型损失函数推导——极大似然估计法 &#xff08;1&#xff09;二分类损失函数——极大似然估计 &#xff08;2&#xff09;多分类损失函数——极大似然估计 4.模型损失函数推导新视角——交叉熵 &#xff08;1&#x…

用typecho做的网站提供网站建设哪家好

目录 1.对真实值类别编码&#xff1a;2.预测值&#xff1a;3.目标函数要求&#xff1a;4.使用Softmax模型将输出置信度Oi计算转换为输出匹配概率y^i&#xff1a;5.使用交叉熵作为损失函数&#xff1a;6.代码实现&#xff1a; 1.对真实值类别编码&#xff1a; y为真实值&#xf…

桂林网站优化公司企业品牌类网站有哪些

doi&#xff1a;10.11884/HPLPB202335.230026 大视场中的目标丢失后需要再次检测&#xff0c;但是大视场的检测比较耗时。但是根据实验发现丢失目标通常发生在无人机运动区域的320x320范围内&#xff0c;所以设计辅助网络&#xff0c;当目标丢失后&#xff0c;以320x320区域图像…

二手车网站模板建设做营销的网站推广

Pandas 是数据科学社区中使用最广泛的库之一&#xff0c;它是一个强大的工具&#xff0c;可以进行数据操作、清理和分析。 本文将提供最常用的 Pandas 函数以及如何实际使用它们的样例。我们将涵盖从基本数据操作到高级数据分析技术的所有内容&#xff0c;到本文结束时&#xf…

长兴县建设管理网站免费注册企业网站

原题地址 解法一 排序贪心即可。思想为先计算出每一个怪兽到达城市的时间&#xff0c;然后排序&#xff0c;有小到大进行消灭&#xff0c;此时的下标可视作时间。当怪兽到达城市的时间超过或等于当前时间时&#xff0c;即已经到达了城市&#xff0c;游戏失败&#xff0c;下标…

创建众筹网站舟山市建设工程质量监督站网站

题目列表 3079. 求出加密整数的和 3080. 执行操作标记数组中的元素 3081. 替换字符串中的问号使分数最小 3082. 求出所有子序列的能量和 一、求出加密整数的和 按照题目要求&#xff0c;直接模拟即可&#xff0c;代码如下 class Solution { public:int sumOfEncryptedInt…

企业建站的作用是什么wordpress元素

需求任意输入3个整数&#xff0c;对这3个整数由小到大进行排序&#xff0c;并将排序后的结果输出。源码// // author: 冲哥 // date: 2021/5/7 13:37 // description: 实现对这3个整数由小到大进行排序 #include int main() {int num1, num2, num3, temp;printf("请输入3个…

ui设计工资怎么样优化wordpress访问速度

流水账日记&#xff08;哈哈&#xff09; 今天没课&#xff0c;早上好好的睡了个懒觉&#xff08;虽然还是很困- -&#xff09;&#xff1b; 哥几个把昨天买的排骨洗了做了个排骨汤&#xff0c;虽然不如家里做的好吃&#xff0c;但对此时的我们来说已经是美味了&#xff0c;晚…

做网站推广怎么跟客户沟通新乡建设网站公司

近年来&#xff0c;我们见证了数据可视化软件呈现出明显的免费化趋势。这个趋势的背后隐藏着许多关键原因&#xff0c;影响着整个数据行业的发展和走向。为何数据可视化软件开始朝着免费方向发展&#xff1f;让我们一同深入探讨。 普及数字化需求&#xff1a; 数字化已经深入到…