当前位置: 首页 > news >正文

以Python构建ONE FACE管理界面:从基础至进阶的实战探索

一、引言

1.1 研究背景与意义

在人工智能技术蓬勃发展的当下,面部识别技术凭借其独特优势,于安防、金融、智能终端等众多领域广泛应用。在安防领域,可助力监控系统精准识别潜在威胁人员,提升公共安全保障水平;金融行业中,实现刷脸支付、远程开户等便捷服务,优化用户体验并强化交易安全。智能终端方面,为设备解锁、身份验证等功能提供支持,提升设备使用的便捷性与安全性。

然而,现有面部识别系统在数据安全、检索效率及用户交互方面存在诸多挑战。传统数据库管理方式致使检索效率低下,难以满足大规模数据快速查询需求;安全防护措施不足,用户数据易遭受泄露风险,严重威胁个人隐私;用户交互界面设计不够友好,操作复杂,降低了用户使用体验与工作效率。

基于 Python 打造 ONE FACE 管理界面具有重要意义。Python 语言简洁高效、拥有丰富的库和工具,能极大提升开发效率。通过集成 DeepFace 深度学习模型、FAISS 高效索引和 RSA 加密技术,可显著提升面部识别系统性能。使用 FAISS 的 IVF 量化方法,能有效优化高维特征检索,减少搜索范围,提高大规模数据集下的检索速度;RSA 加密与数据压缩技术相结合,为用户隐私保护筑牢防线,确保数据在存储和传输过程中的安全性。同时,基于 PyQt5 设计的动态交互界面,可实现用户注册、面部识别、数据管理等功能,为用户提供便捷、直观的操作体验,提升用户满意度与工作效率。

二、项目基础准备

2.1 开发环境搭建

2.1.1 Python 环境配置

Python 作为本项目的核心开发语言, 安装 Python 3.10 时,可从 Python 官方网站(Download Python | Python.org)下载对应操作系统的安装包。若使用 Windows 系统,点击 “Downloads for Windows” 进入下载页面。下载完成后,双击安装包启动安装程序。在安装过程中,建议选择 “Customize installation” 进行自定义安装,以便灵活指定安装路径。例如,将其安装在 “D:\Python310” 目录下,这样有助于更好地管理文件,同时避免因安装在系统盘导致的磁盘空间紧张问题。同时,务必勾选 “Add Python 3.10 to PATH” 选项,此操作能将 Python 添加至系统环境变量,使系统在任何目录下都能快速找到并调用 Python 解释器,极大地提高开发效率。安装完成后,可通过在命令提示符中输入 “python --version” 来验证安装是否成功,若显示 “Python 3.10.x”,则表明 Python 已成功安装 。

为了进一步优化 Python 开发环境,还可安装虚拟环境工具,如 venv。虚拟环境能够为每个项目创建独立的 Python 运行环境,避免不同项目之间因依赖库版本冲突而引发的问题。创建虚拟环境时,在命令提示符中进入项目目录,输入 “python -m venv myenv”(其中 “myenv” 为虚拟环境的名称,可根据实际需求自定义),即可在当前项目目录下创建一个名为 “myenv” 的虚拟环境。激活虚拟环境的方式为:在 Windows 系统中,进入虚拟环境的 Scripts 目录,执行 “activate.bat”;在 Linux 或 macOS 系统中,执行 “source myenv/bin/activate”。激活虚拟环境后,命令提示符前会显示虚拟环境的名称,此时安装的库将仅存在于该虚拟环境中,不会对系统全局的 Python 环境产生影响 。

2.1.2 相关库的安装与介绍

本项目的顺利开展离不开一系列 Python 库的支持,它们各自承担着独特且关键的功能,共同构建起项目的技术框架。

  1. PyQt5:作为 Python 的 GUI(Graphical User Interface)框架,PyQt5 为项目打造用户界面提供了强大支持。它具备丰富的预构建 UI 组件,如按钮、文本框、标签等,开发人员可通过简单的代码组合这些组件,快速搭建出功能完备、界面美观的用户交互界面。同时,PyQt5 拥有高效的事件处理机制,能够实时响应用户的操作,如按钮点击、文本输入等,确保界面的流畅交互。在安装 PyQt5 时,可在命令提示符中激活虚拟环境(若已创建),然后输入 “pip install PyQt5”,pip 工具将自动从 Python Package Index(PyPI)下载并安装 PyQt5 及其依赖项。建议安装的版本为 5.15.4,此版本在稳定性和兼容性方面表现出色,能满足项目的需求 。
  2. OpenCV:OpenCV(Open Source Computer Vision Library)是用于计算机视觉任务的重要库。在本项目中,它主要负责图像的读取、处理与分析工作。例如,通过 OpenCV 可以轻松读取用户选择的图片,并对图片进行灰度转换、降噪、边缘检测等预处理操作,为后续的面部特征提取提供高质量的图像数据。安装 OpenCV 时,在命令提示符中输入 “pip install opencv - python” 即可完成安装。
  3. DeepFace:DeepFace 是基于深度学习的面部识别库,它集成了多种先进的面部识别模型,如 VGG - Face、ResNet 等,能够准确地提取面部特征向量,实现高精度的面部识别。在项目中,利用 DeepFace 的强大功能,可对输入的图片进行面部特征提取,并与数据库中已存储的面部特征进行比对,从而判断图片中的人物身份。安装 DeepFace 时,执行 “pip install deepface” 命令即可。
  4. FAISS:Facebook AI Similarity Search(FAISS)是一个高效的相似性搜索库,尤其适用于高维向量的检索。在本项目中,FAISS 用于构建面部特征索引,大幅提升面部识别的检索速度。通过 FAISS 的 IVF(Inverted File)或 HNSW(Hierarchical Navigable Small World)索引结构,可将大量的面部特征向量进行有效组织,在进行面部识别时,能够快速定位到最相似的面部特征,减少搜索时间,提高系统的响应速度。安装 FAISS 时,由于其对环境要求较高,建议根据官方文档进行安装。对于 CPU 版本,可在命令提示符中输入 “pip install faiss - cpu”;若计算机具备 NVIDIA GPU 且安装了相应的 CUDA 驱动,可安装 GPU 加速版本,输入 “pip install faiss - gpu”。
  5. SQLite3:SQLite3 是 Python 内置的轻量级数据库,无需额外安装。它以其简单易用、占用资源少的特点,适用于本项目中用户数据的存储与管理。在项目中,通过 SQLite3 可以创建用户表和面部特征表,将用户的基本信息(如姓名、头像)以及加密后的面部特征数据存储在本地数据库中,方便进行数据的增、删、改、查操作。在使用时,只需在 Python 代码中导入 “sqlite3” 模块即可 。
  6. rsa:rsa 库用于实现 RSA 加密算法,为项目提供数据加密功能。RSA 算法是一种非对称加密算法,通过生成一对公私钥,可对数据进行加密和解密操作。在本项目中,使用 rsa 库对用户的面部特征数据进行加密存储,确保数据的安全性,防止数据在存储和传输过程中被窃取或篡改。安装 rsa 库时,在命令提示符中输入 “pip install rsa” 即可完成安装。建议安装的版本为 4.7.2,此版本在加密和解密的性能和安全性上有较好的保障 。
  7. zlib:zlib 是一个用于数据压缩和解压缩的库,同样是 Python 内置库,无需额外安装。在本项目中,使用 zlib 库对加密后的面部特征数据进行压缩,减少数据的存储空间,提高数据的存储和传输效率。在使用时,导入 “zlib” 模块,调用相应的函数即可实现数据的压缩和解压缩操作 。

2.2 数据库设计与搭建

2.2.1 SQLite 数据库简介

SQLite 是一款轻量级的嵌入式数据库,具有诸多显著特点,使其在本项目中存储用户信息和面部特征数据方面表现出卓越的适用性。

它的轻量级特性十分突出,整个数据库系统仅由一个单一的文件构成,无需额外的服务器进程,也不存在复杂的配置环节。这意味着在项目部署时,极大地降低了系统资源的占用,无论是在硬件配置较低的设备上,还是对资源消耗有严格限制的应用场景中,都能轻松运行。例如,在一些小型智能终端设备中,由于其硬件资源有限,SQLite 数据库能够以极小的资源开销满足数据存储需求,确保设备的高效运行 。

SQLite 具备零配置的优势,开发人员无需进行繁琐的初始化设置,即可快速上手使用。在项目开发过程中,这能大大节省开发时间,提高开发效率。与其他一些需要复杂配置的数据库相比,SQLite 的使用门槛更低,即使是经验相对较少的开发人员也能迅速掌握其基本操作。在本项目中,开发人员可以将更多的时间和精力投入到核心功能的实现上,而无需花费大量时间在数据库的配置和调试上 。

该数据库还支持多种操作系统,包括 Windows、Linux、macOS 等主流系统,以及一些嵌入式操作系统。这使得本项目具有良好的跨平台性,能够在不同的操作系统环境下稳定运行,满足不同用户的使用需求。无论用户使用的是个人电脑、服务器,还是移动设备,只要操作系统支持 SQLite,项目都能正常存储和管理数据 。

在数据完整性方面,SQLite 提供了完善的事务处理机制,确保数据操作的原子性、一致性、隔离性和持久性。这意味着在进行数据的插入、更新、删除等操作时,即使遇到系统故障或其他异常情况,也能保证数据的完整性和正确性。例如,在向数据库中插入用户信息和面部特征数据时,若出现网络中断等问题,事务处理机制能够确保数据要么全部成功插入,要么全部回滚,避免数据的不一致性 。

SQLite 在小型应用场景中具有出色的性能表现。其数据存储结构简单高效,能够快速地进行数据的读写操作。在本项目中,虽然可能涉及到一定数量的用户数据和面部特征数据,但 SQLite 的高效性能能够保证系统在进行数据查询和更新时,响应速度满足实际需求。例如,在进行面部识别时,需要快速从数据库中检索出与输入面部特征最相似的数据,SQLite 能够以较快的速度完成这一操作,确保面部识别的实时性 。

2.2.2 数据库表结构设计

在本项目中,精心设计了用户表(users)和用户面部特征表(user_faces)的表结构,以确保数据的有效存储和管理,满足系统的功能需求。

  1. 用户表(users
    1. user_id:数据类型为 INTEGER,设置为主键且自动递增。主键的作用是唯一标识表中的每一条记录,确保数据的唯一性和完整性。在用户表中,user_id 作为主键,能够清晰地区分不同的用户,为后续的数据操作,如查询、更新、删除特定用户信息提供了准确的索引。自动递增的特性使得在插入新用户数据时,无需手动指定 user_id 的值,数据库会自动按照顺序生成唯一的 ID,简化了数据插入的操作流程 。
    2. name:数据类型为 TEXT,用于存储用户的姓名。TEXT 类型能够灵活地存储各种长度的文本信息,满足不同用户姓名的多样化需求。在实际应用中,用户的姓名可能包含不同的字符和长度,TEXT 类型能够准确地存储这些信息,确保用户信息的完整性 。
    3. avatar:数据类型为 BLOB(Binary Large Object),用于存储用户的头像数据。BLOB 类型适合存储二进制数据,如图片、音频、视频等。在本项目中,将用户的头像以二进制形式存储在数据库中,能够方便地进行头像的读取和展示。例如,在用户界面中,需要展示用户的头像时,可以从数据库中读取对应的 BLOB 数据,并将其转换为图像格式进行显示 。
  2. 用户面部特征表(user_faces
    1. user_id:数据类型为 INTEGER,作为外键与用户表中的 user_id 建立关联。外键的设置建立了两个表之间的关系,确保数据的一致性和关联性。在用户面部特征表中,user_id 作为外键,将每个面部特征数据与对应的用户进行关联。这样,在进行面部识别时,能够通过 user_id 快速找到对应的用户信息,实现面部特征与用户的准确匹配 。
    2. face_data:数据类型为 BLOB,用于存储用户的面部特征数据。面部特征数据是通过深度学习模型提取得到的,以二进制形式存储在数据库中。这些数据是面部识别的关键依据,在进行面部识别时,系统会将新输入的面部特征数据与数据库中的 face_data 进行比对,从而判断用户的身份 。

通过这样的表结构设计,用户表和用户面部特征表之间建立了紧密的关联关系。用户表存储用户的基本信息,用户面部特征表存储与用户对应的面部特征数据,通过 user_id 这个主键和外键的关联,能够方便地进行数据的查询、插入、更新和删除等操作。例如,当需要查询某个用户的面部特征时,可以通过用户表中的 user_id 在用户面部特征表中快速找到对应的面部特征数据;当有新用户注册时,可以在用户表中插入用户的基本信息,并在用户面部特征表中插入对应的面部特征数据,确保数据的完整性和一致性 。

2.2.3 数据库连接与操作函数实现

在 Python 中,使用 sqlite3 库能够方便地实现与 SQLite 数据库的连接以及各种数据库操作。以下是相关的代码示例及详细说明:

  1. 数据库连接
import sqlite3def create_connection():    conn = sqlite3.connect('face_data.db')    return conn

在上述代码中,定义了create_connection函数,该函数使用sqlite3.connect方法连接到名为face_data.db的 SQLite 数据库。如果该数据库文件不存在,sqlite3.connect方法会自动创建一个新的数据库文件。通过这种方式,实现了与数据库的连接,为后续的数据库操作提供了基础 。

2. 数据库表创建

def create_tables():    conn = create_connection()    c = conn.cursor()    c.execute('''        CREATE TABLE IF NOT EXISTS users (            user_id INTEGER PRIMARY KEY AUTOINCREMENT,            name TEXT,            avatar BLOB        )    ''')    c.execute('''        CREATE TABLE IF NOT EXISTS user_faces (            user_id INTEGER,            face_data BLOB,            FOREIGN KEY(user_id) REFERENCES users(user_id)        )    ''')    conn.commit()    conn.close()

create_tables函数用于创建用户表和用户面部特征表。首先调用create_connection函数获

相关文章:

以Python构建ONE FACE管理界面:从基础至进阶的实战探索

一、引言 1.1 研究背景与意义 在人工智能技术蓬勃发展的当下,面部识别技术凭借其独特优势,于安防、金融、智能终端等众多领域广泛应用。在安防领域,可助力监控系统精准识别潜在威胁人员,提升公共安全保障水平;金融行业中,实现刷脸支付、远程开户等便捷服务,优化用户体…...

使用Sum计算Loss和解决梯度累积(Gradient Accumulation)的Bug

使用Sum计算Loss和解决梯度累积的Bug 学习 https://unsloth.ai/blog/gradient:Bugs in LLM Training - Gradient Accumulation Fix 这篇文章的记录。 在深度学习训练过程中,尤其是在大批量(large batch)训练中,如何高…...

mfc操作json示例

首先下载cJSON,加入项目; 构建工程,如果出现, fatal error C1010: unexpected end of file while looking for precompiled head 在cJSON.c文件的头部加入#include "stdafx.h"; 看情况,可能是加到.h或者是.cpp文件的头部,它如果有包含头文件, #include &…...

C语言练习(18)

一个班10个学生的成绩&#xff0c;存放在一个一维数组中&#xff0c;要求找出其中成绩最高的学生成绩和该生的序号。 #include <stdio.h>#define STUDENT_NUM 10 // 定义学生数量int main() {int scores[STUDENT_NUM]; // 定义存储学生成绩的一维数组int i;// 输入10个…...

LeetCode 热题 100_全排列(55_46_中等_C++)(递归(回溯))

LeetCode 热题 100_两数之和&#xff08;55_46&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;递归&#xff08;回溯&#xff09;&#xff09;&#xff1a; 代码实现代码实现&#xff08;思路一&#xff08…...

编译chromium笔记

编译环境&#xff1a; windows10 powershell7.2.24 git 2.47.1 https://storage.googleapis.com/chrome-infra/depot_tools.zip 配置git git config --global user.name "John Doe" git config --global user.email "jdoegmail.com" git config --global …...

PHP语言的数据库编程

PHP语言的数据库编程 引言 随着互联网的发展&#xff0c;动态网站已成为主流&#xff0c;而动态网站的核心就是与数据库进行交互。PHP&#xff08;超文本预处理器&#xff09;是一种流行的开源服务器端脚本语言&#xff0c;被广泛用于Web开发。它以其简单易学和功能强大而受到…...

【PGCCC】PostgreSQL 中表级锁的剖析

本博客解释了 PostgreSQL 中的锁定机制&#xff0c;重点关注数据定义语言 (DDL) 操作所需的表级锁定。 锁定还是解锁的艺术&#xff1f; 人们通常将数据库锁与物理锁进行比较&#xff0c;这甚至可能导致您订购有关锁的历史、波斯锁和撬锁技术的书籍。我们大多数人可能都是通过…...

1.10 自洽性(Self-Consistency):多路径推理的核心力量

自洽性(Self-Consistency):多路径推理的核心力量 随着人工智能尤其是大规模语言模型的不断进化,如何提升其推理能力和决策准确性成为了研究的重点。在这一背景下,**自洽性(Self-Consistency)**作为一种新的推理方法,逐渐展现出其强大的潜力。自洽性方法通过多路径推理…...

【24】Word:小郑-准考证❗

目录 题目 准考证.docx 邮件合并-指定考生生成准考证 Word.docx 表格内容居中表格整体相较于页面居中 考试时一定要做一问保存一问❗ 题目 准考证.docx 插入→表格→将文本转换成表格→✔制表符→确定选中第一列→单击右键→在第一列的右侧插入列→布局→合并单元格&#…...

Linux 信号(Signal)详解

信号&#xff08;Signal&#xff09;是 Linux 系统中用于进程间通信的一种机制。它是一种异步通知&#xff0c;用于通知进程发生了某个事件。信号可以来自内核、其他进程或进程自身。 信号的基本概念 信号的作用&#xff1a; 通知进程发生了某个事件&#xff08;如用户按下 Ct…...

【数据分享】1929-2024年全球站点的逐年最低气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff01;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2024年全球气象站点…...

app版本控制java后端接口版本管理

java api version 版本控制 java接口版本管理 1 自定义 AppVersionHandleMapping 自定义AppVersionHandleMapping实现RequestMappingHandlerMapping里面的方法 public class AppVersionHandleMapping extends RequestMappingHandlerMapping {Overrideprotected RequestCondit…...

2024年度总结-CSDN

2024年CSDN年度总结 Author&#xff1a;OnceDay Date&#xff1a;2025年1月21日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 文章目录 2024年CSDN年度总结1. 整体回顾2…...

基于python的博客系统设计与实现

摘要&#xff1a;目前&#xff0c;对于信息的获取是十分的重要&#xff0c;我们要做到的不是裹足不前&#xff0c;而是应该主动获取和共享给所有人。博客系统就能够实现信息获取与分享的功能&#xff0c;博主在发表文章后&#xff0c;互联网上的其他用户便可以看到&#xff0c;…...

服务器日志自动上传到阿里云OSS备份

背景 公司服务器磁盘空间有限&#xff0c;只能存近15天日志&#xff0c;但是有时需要查看几个月前的日志&#xff0c;需要将服务器日志定时备份到某个地方&#xff0c;需要查询的时候有地方可查。 针对这个问题&#xff0c;想到3个解决方法&#xff1a; 1、买一个配置比较低…...

优化使用 Flask 构建视频转 GIF 工具

优化使用 Flask 构建视频转 GIF 工具 优化后的项目概述 在优化后的版本中&#xff0c;我们将实现以下功能&#xff1a; 可设置每个 GIF 的帧率和大小&#xff1a;用户可以选择 GIF 的帧率和输出大小。改进的用户界面&#xff1a;使用更现代的设计使界面更美观、整洁。自定义…...

leetcode:511. 游戏玩法分析 I

难度&#xff1a;简单 SQL Schema > Pandas Schema > 活动表 Activity&#xff1a; ----------------------- | Column Name | Type | ----------------------- | player_id | int | | device_id | int | | event_date | date | | games_playe…...

windows git bash 使用zsh 并集成 oh my zsh

参考了 这篇文章 进行配置&#xff0c;记录了自己的踩坑过程&#xff0c;并增加了 zsh-autosuggestions 插件的集成。 主要步骤&#xff1a; 1. git bash 这个就不说了&#xff0c;自己去网上下&#xff0c;windows 使用git时候 命令行基本都有它。 主要也是用它不方便&…...

【Python运维】Python与网络监控:如何编写网络探测与流量分析工具

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着互联网技术的快速发展,网络性能的监控与分析成为保障信息系统稳定运行的关键环节。本文深入探讨了如何利用Python语言构建高效的网络探…...

OpenCV相机标定与3D重建(61)处理未校准的立体图像对函数stereoRectifyUncalibrated()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 为未校准的立体相机计算一个校正变换。 cv::stereoRectifyUncalibrated 是 OpenCV 库中的一个函数&#xff0c;用于处理未校准的立体图像对。该函…...

字玩FontPlayer开发笔记12 Vue3撤销重做功能

字玩FontPlayer开发笔记12 Vue3撤销重做功能 字玩FontPlayer是笔者开源的一款字体设计工具&#xff0c;使用Vue3 ElementUI开发&#xff0c;源代码&#xff1a;github | gitee 笔记 撤销重做功能是设计工具必不可少的模块&#xff0c;以前尝试使用成熟的库实现撤销重做功能…...

无人机图传模块:深入理解其工作原理与实际效用

无人机图传模块作为无人机系统的关键组成部分&#xff0c;承担着将无人机拍摄的图像和视频实时传输至地面控制站或接收设备的重任。本文将深入探讨无人机图传模块的工作原理及其在实际应用中的效用&#xff0c;帮助读者更好地理解这一技术的奥秘。 一、无人机图传模块的工作原…...

PDF文件提取开源工具调研总结

概述 PDF是一种日常工作中广泛使用的跨平台文档格式&#xff0c;常常包含丰富的内容&#xff1a;包括文本、图表、表格、公式、图像。在现代信息处理工作流中发挥了重要的作用&#xff0c;尤其是RAG项目中&#xff0c;通过将非结构化数据转化为结构化和可访问的信息&#xff0…...

Linux(Centos 7.6)命令详解:dos2unix

1.命令作用 将Windows格式文件件转换为Unix、Linux格式的文件(也可以转换成其他格式的) 2.命令语法 Usage: dos2unix [options] [file ...] [-n infile outfile ...] 3.参数详解 options: -c, --convmode&#xff0c;转换方式&#xff0c;支持ascii, 7bit, iso, mac,默认…...

梯度提升决策树树(GBDT)公式推导

### 逻辑回归的损失函数 逻辑回归模型用于分类问题&#xff0c;其输出是一个概率值。对于二分类问题&#xff0c;逻辑回归模型的输出可以表示为&#xff1a; \[ P(y 1 | x) \frac{1}{1 e^{-F(x)}} \] 其中 \( F(x) \) 是一个线性组合函数&#xff0c;通常表示为&#xff…...

跨域问题分析及解决方案

1、跨域 指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的&#xff0c;是浏览器对javascript施加的安全限制。 2、同源策略&#xff1a;是指协议&#xff0c;域名&#xff0c;端口都要相同&#xff0c;其中有一个不同都会产生跨域&#xff1b; 3、跨域流程…...

【三国游戏——贪心、排序】

题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; const int N 1e510; int a[N], b[N], c[N]; int w[4][N]; int main() {int n;cin >> n;for(int i 1; i < n; i)cin >> a[i];for(int i 1; i < n; i)cin >> b[i…...

深入理解 Java 的数据类型与运算符

Java学习资料 Java学习资料 Java学习资料 在 Java 编程中&#xff0c;数据类型与运算符是构建程序的基础元素。它们决定了数据在程序中的存储方式以及如何对数据进行各种操作。 一、数据类型 &#xff08;一&#xff09;基本数据类型 整型&#xff1a; 用于存储整数数值&…...

WOA-CNN-GRU-Attention、CNN-GRU-Attention、WOA-CNN-GRU、CNN-GRU四模型对比多变量时序预测

WOA-CNN-GRU-Attention、CNN-GRU-Attention、WOA-CNN-GRU、CNN-GRU四模型对比多变量时序预测 目录 WOA-CNN-GRU-Attention、CNN-GRU-Attention、WOA-CNN-GRU、CNN-GRU四模型对比多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于WOA-CNN-GRU-Attention、…...

(二叉树)

我们今天就开始引进一个新的数据结构了&#xff1a;我们所熟知的&#xff1a;二叉树&#xff1b; 但是我们在引进二叉树之前我们先了解一下树&#xff1b; 树 树的概念和结构&#xff1a; 树是⼀种⾮线性的数据结构&#xff0c;它是由 n &#xff08; n>0 &#xff09; …...

Linux shell 批量验证端口连通性

脚本 #!/bin/bash # #database check #set -o nounset LOCALIPifconfig | grep inet | head -1 | awk {print $2} | sed s/addr\:// IPLIST192.168.1.99 192.168.1.98 192.168.1.97 PORTLIST81 82 83 84 85 86 check_nc(){ for CHECK_IP in $IPLIST dofor CHECK_PORT in $PORT…...

Java 中实体类与操作类分离

目录 一、为啥要把实体类和操作类分开 二、实体类长啥样&#xff0c;怎么用 三、操作类的使命与实现 四、实战演练&#xff1a;实体类与操作类协同工作 五、拓展思考&#xff1a;这种分离带来的好处与进一步优化 六、总结与展望 家人们&#xff0c;今天我想跟你们唠唠我在…...

创建 pdf 合同模板

创建 pdf 合同模板 一、前言二、模板展示三、制作过程 一、前言 前段时间要求创建“pdf”模板&#xff0c;学会了后感觉虽然简单&#xff0c;但开始也折腾了好久&#xff0c;这里做个记录。 二、模板展示 要创建这样的模板 三、制作过程 新建一个“Word”&#xff0c;这里命…...

【Prometheus】PromQL进阶用法

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…...

BOBO小火炬全套源码XE修复版2025(火炬天花板二次开发版)

《小火炬全套源码 传奇游戏源码讲解》 小火炬全套源码是一种用于开发经典传奇类游戏的源码包。传奇游戏作为一款经典的多人在线角色扮演游戏&#xff08;MMORPG&#xff09;&#xff0c;有着庞大的用户基础和强大的游戏生态。小火炬全套源码主要提供了从基础架构到核心功能的完…...

【基于无线电的数据通信链】Link 11 仿真测试

〇、废话 Link 11 仿真测试 涉及多个方面&#xff0c;包括信号仿真、协议模拟、数据链路层的仿真以及网络性能评估等。Link 11 是一种基于 HF&#xff08;高频&#xff09; 或 UHF&#xff08;超高频&#xff09; 波段的无线通信协议&#xff0c;主要用于军事通信系统中。为了…...

WPF实战案例 | C# WPF实现计算器源码

WPF实战案例 | C# WPF实现计算器源码 一、设计来源计算器应用程序讲解1.1 主界面1.2 计算界面 二、效果和源码2.1 界面设计&#xff08;XAML&#xff09;2.2 代码逻辑&#xff08;C#&#xff09;2.3 实现步骤总结 源码下载更多优质源码分享 作者&#xff1a;xcLeigh 文章地址&a…...

WebSocket 和 Socket 的区别

一、协议层次和工作方式 1.1 &#xff09;Socket 1.1.1&#xff09;Socket位于传输层&#xff0c;通常使用TCP或UDP协议 1.1.2&#xff09;提供了一个通用的网络编程接口&#xff0c;允许应用程序通过它发送和接收数据 1.1.3&#xff09;一般需要手动管理连接&#xff0c;错…...

Matlab自学笔记四十五:日期时间型和字符、字符串以及double型的相互转换方法

1.说明 在Matlab中&#xff0c;大多数函数都有这样的功能&#xff1a;创建函数本身具有转换的功能&#xff0c;例如double函数&#xff0c;可以创建双精度浮点数&#xff0c;也可以把输入参数转换成双精度浮点数&#xff0c;再例如string&#xff0c;可以创建字符串&#xff0…...

Python基础学习(六)unittest 框架

1.介绍 是 Python自带的单元测试框架 - 自带的, 可以直接使用, 不需要单外安装 - 测试人员&#xff0c;用来做自动化测试, 作为自动化测试的执行框架,即管理和执行用例的 核心要素&#xff1a; TestCase 测试用例, 这个测试用例是 unittest 的组成部分,作用是用来书写真正的…...

Python数据可视化(够用版):懂基础 + 专业的图表抛给Tableau等专业绘图工具

我先说说文章标题中的“够用版”啥意思&#xff0c;为什么这么写。 按照我个人观点&#xff0c;在使用Python进行数据分析时&#xff0c;我们有时候肯定要结合到图表去进行分析&#xff0c;去直观展现数据的规律和特定&#xff0c;那么我们肯定要做一些简单的可视化&#xff0…...

麒麟操作系统服务架构保姆级教程(十三)tomcat环境安装以及LNMT架构

如果你想拥有你从未拥有过的东西&#xff0c;那么你必须去做你从未做过的事情 之前咱们学习了LNMP架构&#xff0c;但是PHP对于技术来说确实是老掉牙了&#xff0c;PHP的市场占有量越来越少了&#xff0c;我认识一个10年的PHP开发工程师&#xff0c;十年工资从15k到今天的6k&am…...

Docker集成onlyoffice实现预览功能

1.拉取镜像 docker pull onlyoffice/documentserver 2. 数据卷挂载 mkdir -p app/onlyoffice/DocumentServer/logs mkdir -p app/onlyoffice/DocumentServer/data mkdir -p app/onlyoffice/DocumentServer/lib mkdir -p app/onlyoffice/DocumentServer/db 3.运行容器 docker ru…...

Flowable 管理各业务流程:流程设计器 (获取流程模型 XML)、流程部署、启动流程、流程审批、流程挂起和激活、任务分配

文章目录 引言I 表结构主要表前缀及其用途核心表II 流程设计器(Flowable BPMN模型编辑器插件)Flowable-UIvue插件III 流程部署部署步骤例子:根据流程模型ID部署IV 启动流程启动步骤ACT_RE_PROCDEF:流程定义相关信息例子:根据流程 ID 启动流程V 流程审批审批步骤Flowable 审…...

BladeDISC++:Dynamic Shape AI 编译器下的显存优化技术

近年来&#xff0c;随着深度学习技术的迅猛发展&#xff0c;越来越多的模型展现出动态特性&#xff0c;这引发了对动态形状深度学习编译器(Dynamic Shape AI Compiler)的广泛关注。本文将介绍阿里云 PAI 团队近期发布的 BladeDISC项目&#xff0c;探讨在动态场景下如何优化深度…...

FFmpeg常用命令

文章目录 一、 FFmpeg 音视频的处理流程二、FFmpeg 常用命令2.1、查看本机支持的采集设备2.2、 录制视频2.2.1、原始视频2.2.2、编码的视频 2.3、录制音频&#xff1a;2.3.1、原始音频2.3.2、编码的音频 2.4、录制音视频&#xff1a;2.5、文件格式转换&#xff1a;2.6、提取音频…...

http请求开启长连接导致请求偶发失败

问题描述&#xff1a; http长连接的意思是服务器为了调用时减少TCP三次握手开销&#xff0c;会复用之前已经发起的请求&#xff0c;比较适合频繁交互&#xff08;比如数据推送、流水线操作等&#xff09;的场景&#xff0c;但是如果超过服务器配置的连接最大空闲时间&#xff0…...

JUnit单元测试

单元测试 就是针对最小的功能单元&#xff08;方法&#xff09;&#xff0c;编写测试代码对其正确性进行测试 JUnit 最流行的java测试框架之一&#xff0c;方柏霓进行单元测试 入门程序 使用Junit&#xff0c;对UserService的方法进行单元测试 1.在pom.xml中&#xff0c;…...

智慧公安(实景三维公安基层基础平台)建设方案——第4章

4 建设内容 4.1 标准规范体系 在国家和地方公安基层信息化标准规范的基础上,结合项目实际情况,制定标准规范及管理制度,构建统一的标准规范体系,以便更好地实现公安基层基础信息的高度共享、平台运行的统一协调、业务流程最优化。主要包括以下内容: 1. 业务标准规范 (…...