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

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

    • 1. STM32 边缘人工智能
      • 1.1 X-CUBE-AI 扩展包
      • 1.2 STM32 AI Model Zoo
      • 1.3 ST AIoT Craft
    • 2. STM32N6 AI 生态系统 (STM32N6-AI)
      • 2.1 STM32N6 AI 产品组合
      • 2.2 STM32N6 AI 开发工具
    • 3. STM32Cube.AI 参考资料
      • 3.1 ST 边缘AI 官方入口
      • 3.2 ST 边缘AI 套件(ST Edge AI Suite)
      • 3.3 STM32Cube.AI 参考文档
      • 3.4 STM32N6 资料和设计文件


1. STM32 边缘人工智能

从云AI到边缘AI

AI的应用越来越广泛,它影响着我们每天使用的服务,接触的设备和机器。

现阶段的AI技术很大程度上依赖于云计算,使用强大的远程数据中心,处理由本地设备收集的数据。边缘AI将AI算法和模型直接部署在物联网 (IoT) 设备和嵌入式工业和汽车系统等设备上。这种部署方式让我们得以在源头实时处理和分析数据,让真正自主的智能设备成为可能,使设备能够快速决策,以适应性的方式触发行动。

相对云部署,在边缘部署AI具有诸多优势。更快的速度和超低的延迟,大大降低了数据传输负荷,显著提高了安全性。在云端运行推理算法需要瓦特级的功率,而在边缘设备上仅需消耗毫瓦甚至微瓦级的功率,显著降低了运行功耗。此外,边缘AI还能更好地保护隐私。

边缘AI为所有市场的设备和服务创造者打开了新的大门,让我们可以用比云技术低得多的成本实现更多新应用。


1.1 X-CUBE-AI 扩展包

STM32 Cube.AI 扩展包 下载地址:STM32 x-cube-ai

X-CUBE-AI是STM32Cube.AI生态系统的STM32Cube扩展包部分,能够自动转换预训练人工智能算法(包括神经网络和经典机器学习模型),并将生成的优化库集成到用用户项目中,以此来扩展STM32CubeMX功能。

  • 为STM32平台优化NN和ML模型
  • 在STM32平台上对NN和ML模型进行性能分析
  • 在STM32平台上评估NN和ML模型
  • 以STM32CubeMX扩展包的形式提供

在这里插入图片描述
在这里插入图片描述


1. 为STM32平台优化NN和ML模型
将您自己的神经网络模型导入STM32CubeMX,选择优化选项,并生成与输入模型相对应的经优化C代码。
在这里插入图片描述

2. 在STM32平台上对NN和ML模型进行性能分析
X-CUBE-AI将分析NN模型并生成性能分析报告,从而详细说明整个网络及其各层的NN内存需求和推理时间。
在这里插入图片描述

3. 其它功能
从预训练神经网络和经典机器学习模型生成STM32优化库
原生支持各种深度学习框架,如Keras和TensorFlow™ Lite,并支持可导出为ONNX标准格式的所有框架,如PyTorch™、Microsoft® Cognitive Toolkit、MATLAB®等
支持各种内置scikit-learn模型,如孤立森林、支持向量机(SVM)、K-means等
支持8位量子化Keras网络以及TensorFlow™ Lite量子化网络
允许将权重存储在外部Flash存储器和外部RAM的激活缓冲区中,从而使用更大的网络
通过STM32Cube集成在不同的STM32微控制器系列之间实现轻松移植
借助TensorFlow™ Lite神经网络,使用STM32Cube.AI运行时或面向微控制器的TensorFlow™ Lite运行时来生成代码


1.2 STM32 AI Model Zoo

Model Zoo 提供一系列 针对 STM32 器件进行优化的 AI 模型,可以部署在 STM32 MCU 上运行。

  • 可从针对 STM32 器件进行了优化的一系列AI模型中选择
  • 使用脚本重新训练数据集中的任何模型
  • 使用脚本在应用上部署AI模型
  • 自带模型 (BYOM) 或自带数据 (BYOD)

下载地址:
Github: ST-stm32ai-modelzoo
Github: ST-MEMS-Machine Learning Core
Github: ST-MEMS-intelligent sensor processing unit

在这里插入图片描述


1.3 ST AIoT Craft

这是一款在线工具,可利用带有传感器内AI的 STM32 组件快速开发传感器到云解决方案。

借助ST AIoT Craft,可以尝试集成在 STM32 智能传感器中的先进边缘AI功能。

  • 首先学习如何对嵌入在许多MEMS惯性传感器和IMU中的机器学习核心(MLC)引擎进行编程:当微控制器处于睡眠模式时,可以对加速度(或振动)和旋转模式进行分类,从而节省能源。
  • ST AIoT Craft收集标记的传感器数据,并使用它来训练MLC发动机。结果可以通过ST评估板从门户网站(我们建议使用Chrome)或配套的移动应用程序进行验证。
  • ST AIoT Craft还建立了一个完整的物联网系统,其中传感器板连接到网关,网关与云应用程序通信。
  1. 利用意法半导体开发板创建传感器到云解决方案
    使用在线工具简化支持AI的物联网节点的开发流程。

在这里插入图片描述

  1. 对机器学习内核编程,以运行传感器内AI
    在MEMS传感器中快速创建在其嵌入的机器学习内核上运行的决策树算法。

在这里插入图片描述

  1. 探索端到端项目示例
    利用 STM32 参考设计探索概念验证。

在这里插入图片描述


2. STM32N6 AI 生态系统 (STM32N6-AI)

STM32N6-AI

STM32N6 AI生态系统 (STM32N6-AI) 是意法半导体推出的工具和资源集合,旨在支持在高性能STM32N6系列微控制器上开发和部署AI模型。

在这里插入图片描述


2.1 STM32N6 AI 产品组合

STM32N6微控制器 (MCU) 首次集成了意法半导体专有的Neural-ART加速器神经处理单元 (NPU),在AI/ML性能上实现了重大突破。

STM32N6 是ST首款集成自研硬件NPU神经网络硬件处理单元的通用微控制器,其算力可达0.6TOPS(每秒0.6万亿次运算)。STM32N6 还集成了新IP和视频外设,如MIPI CSI摄像机、机器视觉图像信号处理器(ISP)、H.264视频编码器和支持时间敏感网络(TSN)端点的千兆以太网控制器。

  • 神经网络硬件加速单元(NPU)
    处理能力达 600 GOPS,其神经网络加速处理能力是目前最高性能 STM32H7 的 600 倍。
    能效出色:能效达到 3TOPS/W,功耗极低,运行 AI 模型无需散热装置。

  • 基于 Cortex-M55 内核
    采用 Cortex-M55 内核,主频 800MHz,基于 ARM v8.1 架构,新增 150 个新指令,尤其是矢量指令集,可用于 NPU 运算数据的前处理和后处理(如 DSP 运算操作)。

  • 内置大容量 RAM
    拥有 4.2MB 连续地址空间的 SRAM,具备多种使用方式,比如存储 NPU 运算中的推理数据,或用作帧缓存以及 H264 压缩时的中间数据。

  • 机器视觉能力
    算力支持:提供 600GOPS 的 AI 处理算力,可开展众多机器视觉应用。
    接口与处理器:具备 MIPI CSI2 2 线的摄像头接口,还有特定的图像信号处理器 ISP,能实现摄像机 RAW 图到 RGB 格式的转换。

  • 扩展的多媒体功能
    图形加速:2.5D图形加速器。
    视频编码传输:集成 H264 编码器,便于在运行 AI 处理时,通过以太网口或 USB(UVC 协议)将摄像头获取的视频传输到外部,同时具备 JPEG 编码和解码的硬件。
    在这里插入图片描述

  • STM32Cube.AI (X-CUBE-AI):

    • 用于优化NN模型的桌面工具(STM32CubeMX插件)
    • 自动生成适用于STM32微控制器的C代码
  • ST Edge AI Developer Cloud (STEDGEAI-DC):

    • 在线基准测试平台,用于在Board Farm中在线托管的STM32开发板上对AI性能(推理时间、内存占用)进行基准测试。
    • 自动生成适用于STM32微控制器的C代码
    • 通过REST API实现流程自动化
  • ST Edge AI Core (STEdgeAI-Core):

    • 用于优化NN模型的命令行接口 (CLI)
    • 自动生成适用于STM32微控制器的C代码
  • STM32 Model Zoo:

    • 提供经过精心优化的AI模型集及相关性能、即用型应用示例,以及用于模型训练、评估、量化、基准测试和部署的脚本。
    • 通过REST API使用ST Edge AI Developer Cloud服务
  • 应用包:

    • 提供多个AI应用的优化源代码
    • 在用户的开发板上无缝实施
  • 入门代码示例:

    • 简单的AI代码示例和教程,介绍如何使用意法半导体Neural-ART加速器实现AI应用
    • 可选链接至STM32 Model Zoo资源
  • 提供丰富工具以满足用户的配置和目标。

  • Neural-ART加速器与AI软件生态系统的无缝集成,确保了AI应用性能的优化。

  • 用户可轻松获取模型选择、训练脚本及关键模型指标,可直接用于基准测试。

  • 基于Python™脚本 (REST API) 的ML自动化基准测试服务。

  • 丰富的使用案例和应用代码示例,快速在MCU上开启AI应用开发。

  • 原生支持多种深度学习框架,如 Keras 和 TensorFlow Lite,同时兼容所有可导出为ONNX标准格式的框架,包括PyTorch、MATLAB 等。


2.2 STM32N6 AI 开发工具

STM32N6 AI生态系统的所有工具和软件包均属于ST Edge AI Suite。该套件整合了多种软件工具,旨在简化嵌入式AI应用的开发和部署。该综合套件支持从数据收集到在硬件最终部署的整个机器学习算法和神经网络模型的优化和部署流程,简化了跨学科领域的专业人士的工作流程。

STM32N6-AI工具专为简化开发流程而设计,确保开发人员能够实现最理想的性能和效率。这些工具支持“自带数据”(BYOD) 和“自带模型”(BYOM) 两种开发方式,以满足用户的不同开发实践和偏好。
例如,STM32 Model Zoo(github.com/STMicroelectronics/stm32ai-modelzoo)、ST Edge AI Developer Cloud (STEDGEAI-DC)、STM32Cube.AI (X-CUBE-AI) 和ST Edge AI Core (STEdgeAI-Core) 等工具,充分发挥了STM32N6在AI和计算机视觉 (CV) 应用方面的潜力。

此外,STM32N6-AI还提供多种软件包,作为用户AI项目的示例和起点:

  • AI应用:包括简单的计算机视觉 (CV) 和音频应用(如人物检测或图像分类),以及更复杂和优化的应用(如姿势估计、实例分割、手部关键点检测和音频场景识别)。
  • 视频应用:展示完整的应用场景,包括H264编码和通过USB视频设备等级码流将数据输出到PC。

总体而言,STM32N6-AI提供了一个完整的软件和工具生态系统,帮助开发人员利用STM32N6在边缘构建下一代机器学习应用。STM32N6中嵌入的Neural-ART加速器NPU专为高效处理AI推理任务而设计,可显著加速NN模型的执行。这种整合使微控制器上的边缘AI应用变得更加实用和普及,为广泛的应用场景提供了强大、高效且可扩展的解决方案。


3. STM32Cube.AI 参考资料

3.1 ST 边缘AI 官方入口

ST Artificial intelligence at the edge
ST 边缘人工智能

在这里插入图片描述


3.2 ST 边缘AI 套件(ST Edge AI Suite)

ST Edge AI Suite
ST 边缘AI 套件

意法半导体边缘AI套件为您提供免费工具、案例研究和资源,以便在微控制器、微处理器和智能传感器上启用AI。
助您将边缘AI应用于MCU、MPU和智能传感器的得力工具。

在这里插入图片描述


3.3 STM32Cube.AI 参考文档

Wiki: STM32Cube.AI
STM32CubeAI Data brief
STM32CubeAI User manual
STM32CubeAI 扩展包入门指南

在这里插入图片描述

在这里插入图片描述


3.4 STM32N6 资料和设计文件

STM32N6 设计文件
STM32N6超全资料合集
【STM32N6570-DK评测】1.你好N6
【STM32N6570-DK评测】2.最简点灯
【STM32N6570-DK评测】3.从外部flash启动
【STM32N6570-DK评测】4.800MHz的点灯


版权声明:
youcans@qq.com 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/145256170)
Copyright@youcans 2025
Crated:2025-01

相关文章:

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

【EdgeAI实战】(1)STM32 边缘 AI 生态系统 【EdgeAI实战】(1)STM32 边缘 AI 生态系统 1. STM32 边缘人工智能1.1 X-CUBE-AI 扩展包1.2 STM32 AI Model Zoo1.3 ST AIoT Craft 2. STM32N6 AI 生态系统 (STM32N6-AI)2.1 STM32N6 AI 产…...

【陕西省乡镇界】面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移内容测评

标题中的“陕西省乡镇界面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移.zip”表明这是一个地理信息系统(GIS)的数据集,专为陕西省的乡镇区域设计。该数据集以Shapefile(shp)格式提供,是GIS领…...

Fabric区块链网络搭建:保姆级图文详解

目录 前言1、项目环境部署1.1 基础开发环境1.2 网络部署 2、后台环境2.1、环境配置2.2、运行springboot项目 3、PC端3.1、安装依赖3.2、修改区块链网络连接地址3.3、启动项目 前言 亲爱的家人们,创作很不容易,若对您有帮助的话,请点赞收藏加…...

HTML 表单和输入标签详解

HTML 表单是网页与用户交互的重要工具,它允许用户输入数据并将其提交到服务器。表单在网页中的应用非常广泛,例如登录、注册、搜索、评论等功能都离不开表单。本文将详细介绍 HTML 表单及其相关标签的使用方法,帮助你全面掌握表单的设计与实现…...

sql实战解析-sum()over(partition by xx order by xx)

该窗口函数功能 sum( c )over( partition by a order by b) 按照一定规则汇总c的值,具体规则为以a分组,每组内按照b进行排序,汇总第一行至当前行的c的加和值。 从简单开始一步一步讲, 1、sum( )over( ) 对所有行进行求和 2、sum(…...

Vue平台开发三——项目管理页面

前言 对于多个项目的使用,可能需要进行项目切换管理,所以这里创建一个项目管理页面,登录成功后跳转这个页面,进行选择项目,再进入Home页面展示对应项目的内容。 一、实现效果图预览 二、页面内容 功能1、项目列表展…...

JDBC实验测试

一、语言和环境 实现语言:Java。 环境要求:IDEA2023.3、JDK 17 、MySQL8.0、Navicat 16 for MySQL。 二、技术要求 该系统采用 SWING 技术配合 JDBC 使用 JAVA 编程语言完成桌面应用开发。 三、功能要求 某电商公司为了方便客服查看用户的订单信…...

使用 vllm 部署 MiniCPM-o 2.6

使用 vllm 部署MiniCPM-o 2.6 1. 创建虚拟环境2. 克隆代码3. 从代码安装 vllm4. 安装 flash-attn5. 启动 MiniCPM-o 2.66. 使用 chatbox 客户端访问并测试一下 1. 创建虚拟环境 conda create -n vllm_openbmb python3.11 -y conda activate vllm_openbmb 2. 克隆代码 git clo…...

WSL 2 自动更新 虚拟 IP 到 window hosts

window下的wsl2 开发中使用到 域名映射,但是WSL2 每次启动都会被分配一个虚拟的 ip 地址,每次启动虚拟ip 都不一样,导致要频繁 更改 window 的 hosts 文件,太麻烦了,所以写一个自动执行的 .sh 脚本,每次启动…...

非常棒的长文本输入大模型:MiniMax以及基于它的海螺AI模型

非常棒的长文本输入大模型:基于MiniMax的海螺AI模型,快来体验一下吧! 海螺AI—MiniMax 旗下生产力产品,你的AI伙伴,10倍速提升工作学习效率 这个大模型最大的特点就是支持长文本输入,而且是从内部就擅长对长…...

python milvus及curl命令进行query请求

代码如下: from pymilvus import MilvusClient client = MilvusClient( uri="http://localhost:19530", token="root:Milvus" ) res = client.query( collection_name="query_collection", filter="color like \"…...

谈谈MySQL中的索引和事务

目录 1. 索引 1.1 索引介绍 1.2 缺陷 1.3 使用 1.3.1 查看索引 1.3.2 创建索引 1.3.3 删除索引 2. 索引底层的数据结构 2.1 B树 3. 事务 3.1 为什么使用事务 3.2 事务的使用 3.3 事务的基本特性 1. 索引 1.1 索引介绍 索引相当于一本书的目录(index), 在一…...

Java 资源管理教程:掌握 close 方法、Cleaner 类与 Runtime.addShutdownHook

在 Java 编程中,高效地管理资源是至关重要的,特别是当你处理文件、数据库连接、网络连接等有限资源时。为了确保这些资源得到正确释放,Java 提供了多种机制。本教程将深入探讨 close 方法、Cleaner类以及 Runtime.addShutdownHook 方法&#…...

tensorflow源码编译在C++环境使用

https://tensorflow.google.cn/install/source?hlzh-cn查看tensorflow和其他需要下载软件对应的版本,最好一模一样 1、下载TensorFlow源码 https://github.com/tensorflow/tensorflow 2、安装编译protobuf(3.9.2) protobuf版本要和TensorFlo…...

算法日记8:StarryCoding60(单调栈)

一、题目 二、解题思路: 题意为让我们找到每个元素的左边第一个比它小的元素,若不存在则输出-1 2.1法一:暴力(0n2) 首先,我们可以想到最朴素的算法:直接暴力两层for达成目标核心代码如下&…...

HarmonyOS快速入门

HarmonyOS快速入门 1、基本概念 UI框架: HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架可为开发者提供应用UI开发所必需的能力,比如多种组件、布局计算、动画能力、UI交互、绘制等。 方…...

基于微信小程序高校订餐系统的设计与开发ssm+论文源码调试讲解

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专…...

stm32使用MDK5.35时遇到*** TOOLS.INI: TOOLCHAIN NOT INSTALLED

mdk5.35出现*** TOOLS.INI: TOOLCHAIN NOT INSTALLED的问题!!!! 以管理员身份重新打开MDK5.35.0.0,用keygen破解密码,但是一直提示我是没有破解成功。 解决办法: target 改成ARM...

Java面试专题——常见面试题1

引入 本文属于专题中的常见面试题模块,属于面试时经常遇到的,适合需要面试的小伙伴做面试前复习准备用,后续会持续补充 1.面向对象基本特征 面向对象的基本特征是什么?怎么理解? 面向对象的基本特征是封装、继承、…...

【C++】在线五子棋对战项目网页版

目录 1.Websocket 1.1.Websocket的简单认识 1.2.什么是轮询呢? 1.3.websocket协议切换过程 1.4.websocketpp库常用接口认识 1.5.websocketpp库搭建服务器流程 1.6.websocketpp库搭建服务器 2.mysqlclient库-接口认识 3.项目模块的划分: 4.项目…...

【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko

前言 本教程基于群晖的NAS设备DS423的docker功能进行搭建,DSM版本为 DSM 7.2.2-72806 Update 2。 n.eko 支持多种类型浏览器在其虚拟环境中运行,本次教程使用 Chromium​ 浏览器镜像进行演示,支持访问内网设备和公网地址。 简介 n.eko 是…...

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证7)

本文验证基于请求头中传递token信息的认证方式,webapi项目的控制器类中新建如下函数,仅通过验证的客户端能调用,需要客户端请求在Header中添加’Authorization’: Bearer token’的键值对且通过token验证后才能调用。 [Authorize] [HttpGet]…...

Linux 内核自旋锁spinlock(一)

文章目录 前言一、自旋锁1.1 简介1.2 API1.2.1 spin_lock/spin_unlock1.2.2 spin_lock_irq/spin_unlock_irq1.2.3 spin_lock_irqsave/spin_unlock_irqstore1.2.4 spin_lock_bh/spin_unlock_bh1.2.5 补充 二、自选锁原理三、自旋锁在内核的使用3.1 struct file3.2 struct dentry…...

JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。

1.首先定义一个接口,接口中有两个方法,分别是将属性转换成英文描述和中文描述。 其实就是将数据库中记录的 0 1 ,转换成后面的描述 这边定义了中文转换为默认方法,是因为有些属性不需要进行中文转换,或者该属性的枚举…...

利用免费GIS工具箱实现高斯泼溅切片,将 PLY 格式转换为 3dtiles

在地理信息系统(GIS)和三维数据处理领域,不同数据格式有其独特应用场景与优势。PLY(Polygon File Format)格式常用于存储多边形网格数据,而 3DTiles 格式在 Web 端三维场景展示等方面表现出色。将 PLY 格式…...

Mysql视图(学习自用)

一、概念 二、创建视图 三、查询视图 四、修改视图 五、删除视图 六、视图检查选项 七、视图的更新 八、视图的作用...

企业内训|基于华为昇腾910B算力卡的大模型部署和调优-上海某央企智算中心

近日上海,TsingtaoAI为某央企智算中心交付华为昇腾910B算力卡的大模型部署和调优课程。课程深入讲解如何在昇腾NPU上高效地训练、调优和部署PyTorch与Transformer模型,并结合实际应用场景,探索如何优化和迁移模型至昇腾NPU平台。课程涵盖从模…...

linux下一些参数的说明

/proc/sys/net/corebpf_jit_enable 作用:用于控制是否启用BPF(Berkeley Packet Filter)的即时编译(JIT)功能。当启用该功能时,JIT编译器会将eBPF(extended Berkeley Packet Filter)…...

CKS认证 | Day1 K8s集群部署与安全配置

一、K8s安全运维概述 Kubernetes(K8s) 是一个广泛使用的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。随着 K8s 在生产环境中的普及,安全运维成为确保系统稳定性和数据安全的关键。 1.1 安全运维的重要性 万物互联&…...

新手上路:Anaconda虚拟环境创建和配置以使用PyTorch和DGL

文章目录 前言步骤 1: 安装 Anaconda步骤 2: 创建新的 Anaconda 环境步骤 3: 安装最新版本的 PyTorch步骤 4: 安装特定版本的 PyTorch步骤 5: 安装最新版本的 DGL步骤 6: 安装特定版本的 DGL步骤 7: Pycharm中使用虚拟环境解释器第一种情况:创建新项目第二种情况&am…...

什么是PCB的Mark点?如何进行设计Mark点?

一、什么是Mark点? PCB的Mark点,也被称为基准点或光学定位点,是在印刷电路板(Printed Circuit Board, PCB)上设置的一种特殊标记。 ​ 图1.1 PCB的Mark点 Mark点的主要作用是为表面贴装技术(Surface Mount…...

Spark SQL中的from_json函数详解

Spark SQL中的from_json函数详解 在Spark SQL中,from_json是一个用于解析JSON数据的函数,主要用于将JSON格式的字符串解析为结构化的数据(即StructType或其他Spark SQL数据类型)。这个函数在处理半结构化数据(如JSON日…...

Vue 引入及简单示例

Vue 渐进式JavaScript 框架 学习笔记 - Vue 引入及简单示例 目录 与jquery区别 Vue引入 两种方式引入 下载到本地 代码结构 简单示例 Style中引入vue.js 对vue语法进行解析 对三目运算符支持 设置变量(状态) 总结 与jquery区别 不需要手动操…...

JDK长期支持版本(LTS)

https://blogs.oracle.com/java/post/the-arrival-of-java-23 jdk长期支持版本(LTS):JDK 8、11、17、21:...

审计文件标识作为水印打印在pdf页面边角

目录 说明 说明 将审计文件的所需要贴的编码直接作为水印贴在页面四个角落,节省辨别时间 我曾经写过一个给pdf页面四个角落加上文件名水印的python脚本,现在需要加一个图形界面进一步加强其实用性。首先通过路径浏览指定文件路径,先检测该路…...

图片专栏——概念

欢迎来到图片世界,大家一起学习交流! 1. 像素(Pixel) 定义:像素是图像的最小单位,是“图像元素”的缩写。你可以把像素想象成拼图中的一个最小块,无数个像素组合在一起就形成了完整的图像。作用&#xff…...

江天科技主要产品销售单价下滑,应收账款、存货周转率大幅下降

《港湾商业观察》廖紫雯 日前,苏州江天包装科技股份有限公司(以下简称:江天科技)冲击北交所,保荐机构为国投证券。 江天科技主要从事标签印刷产品的研发、生产与销售,公司主要产品包括薄膜类和纸张类的不…...

HTB:Remote[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用ftp尝试匿名…...

【开源免费】基于SpringBoot+Vue.JS密接者跟踪系统(JAVA毕业设计)

本文项目编号 T 145 ,文末自助获取源码 \color{red}{T145,文末自助获取源码} T145,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

机器学习10-解读CNN代码Pytorch版

机器学习10-解读CNN代码Pytorch版 我个人是Java程序员,关于Python代码的使用过程中的相关代码事项,在此进行记录 文章目录 机器学习10-解读CNN代码Pytorch版1-核心逻辑脉络2-参考网址3-解读CNN代码Pytorch版本1-MNIST数据集读取2-CNN网络的定义1-无注释版…...

Python 电脑定时关机工具

Python 电脑定时关机工具 相关资源文件已经打包成EXE文件,可双击直接运行程序,且文章末尾已附上相关源码,以供大家学习交流,博主主页还有更多Python相关程序案例,秉着开源精神的想法,望大家喜欢&#xff0c…...

机器学习09-Pytorch功能拆解

机器学习09-Pytorch功能拆解 我个人是Java程序员,关于Python代码的使用过程中的相关代码事项,在此进行记录 文章目录 机器学习09-Pytorch功能拆解1-核心逻辑脉络2-个人备注3-Pytorch软件包拆解1-Python有参和无参构造构造方法的基本语法示例解释注意事项…...

Qt之QDjango-db的简单使用

QDjango是一款由C编写、依托于Qt库的Web开发框架,其设计理念受到了广受欢迎的Python框架Django的影响。这个项目旨在提供一个高效、灵活且易于使用的工具集,帮助开发者构建高质量的Web应用。其项目地址: https://gitcode.com/gh_mirrors/qd/qdjango&…...

滑动窗口最大值(力扣239)

刚拿到这道题,我们第一反应就是遍历每一个滑动窗口,然后在滑动窗口中遍历找到该窗口的最大值,但是这样的时间复杂度为O(k*n).有没有更简单的方法呢?答案是使用队列。更准确的说是双向队列。下面我将详细讲解一下如何使用双向队列解决这道问题…...

HTTP / 2

序言 在之前的文章中我们介绍过了 HTTP/1.1 协议,现在再来认识一下迭代版本 2。了解比起 1.1 版本,后面的版本改进在哪里,特点在哪里?话不多说,开始吧⭐️! 一、 HTTP / 1.1 存在的问题 很多时候新的版本的…...

Python 脚本-显示给定文件的文件信息

目录 Python 代码实现 Python 代码解释 1.导入必要的模块: 2.函数 get_file_info: 3.函数 print_file_info: 4.主函数 main: 5.程序入口: 使用方法 Python 代码实现 import os import stat import sys import…...

C# 通用缓存类开发:开启高效编程之门

引言 嘿,各位 C# 开发者们!在当今快节奏的软件开发领域,提升应用程序的性能就如同给跑车装上涡轮增压,能让你的项目在激烈的竞争中脱颖而出。而构建一个高效的 C# 通用缓存类,无疑是实现这一目标的强大武器。 想象一…...

Mac安装Homebrew

目录 安装修改homeBrew源常用命令安装卸载软件升级软件相关清理相关 安装 官网 https://brew.sh/不推荐官网安装方式(很慢很慢或者安装失败联网失败) 检测是否安装homebrewbrew -v执行安装命令 苹果电脑 常规安装脚本 (推荐 完全体 几分钟就…...

MySQL面试题2025 每日20道【其四】

1、你们生产环境的 MySQL 中使用了什么事务隔离级别?为什么? 中等 在生产环境中,MySQL数据库的事务隔离级别通常由开发团队或数据库管理员根据应用的需求来设定。MySQL支持四种标准的事务隔离级别: 读未提交(Read Unc…...

maven 微服务项目多 包版本问题

mvn dependency:tree查看jar包直接的关系 找到重复的包!!!! 可以查看包版本问题 [INFO] | - org.jpedal:OpenViewerFX:jar:6.6.14:compile [INFO] | | - org.eclipse.birt.runtime.3_7_1:org.mozilla.javascript:jar:1.7.2:compile [INFO] | | - bouncycastle:bcprov-j…...