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

PyTorch入门------卷积神经网络

前言

        参考:神经网络 — PyTorch Tutorials 2.6.0+cu124 文档 - PyTorch 深度学习库

        一个典型的神经网络训练过程如下:

  1. 定义一个包含可学习参数(或权重)的神经网络

  2. 遍历输入数据集

  3. 将输入通过神经网络处理

  4. 计算损失(即输出结果与正确答案之间的差距)

  5. 将梯度反向传播到网络的参数中

  6. 更新网络的权重,通常使用一个简单的更新规则:weight = weight - learning_rate * gradient

        1.相关概念

        感受野: 在卷积神经网络中,对于某一层的任意元素x,其感受野(receptive field)是指在前向传播期间可能影响 x 计算的所有元素(来自所有先前层)。

        注意:感受野可能大于输入的实际大小。例如在如上所示的卷积结构,X 上 z 的感受野为其全部 9 个元素,Y 上 z 的感受野也为其全部 4 个元素,即 z 的感受野的大小为 9+4=13! 因此,当一个特征图中的任意元素需要检测更广区域的输入特征时,我们可以构建一个更深的网络

        2.多输入多输出通道

        参考:https://zhuanlan.zhihu.com/p/251068800

  • 输入通道个数 等于 卷积核通道个数
  • 卷积核个数 等于 输出通道个数

        2.1 多输入通道

        输入通道个数 等于 卷积核通道个数!

        当输入包含多个通道时,需要构造一个与输入数据具有相同输入通道数的卷积核,以便与输入数据进行互相关运算。

        由于输入和卷积核都有 c_i 个通道,我们可以对每个通道输入的二维张量卷积核的二维张量进行互相关运算,再对通道求和(将 c_i 的结果相加)得到二维张量。这是多通道输入多输入通道卷积核之间进行二维互相关运算的结果。

        2.2 多输出通道

        卷积核个数 等于 输出通道个数!

         用 c_ic_o 分别表示输入和输出通道的数目,并让 k_h 和 k_w 为卷积核的高度和宽度。为了获得多个通道的输出,我们可以为每个输出通道创建一个形状为 c_i \times k_h \times k_w 的卷积核张量,这样卷积核的形状是 c_o\times c_i \times k_h \times k_w (即 c_o 个卷积核,每个卷积核的形状为 c_i \times k_h \times k_w)。

        在互相关运算中,每个输出通道先获取所有输入通道,再以对应该输出通道的卷积核计算出结果。最后将每个卷积核对应的输出通道结果(feature map)进行拼接得到多通道输出。

        3. 1x1 卷积层        

        卷积(Convolution)的本质正是通过局部的加权和运算,提取图像中相邻像素之间的相关特征。

        但 1x1 卷积并没此作用,1×1卷积的唯一计算发生在通道上!

  • 当以每像素为基础应用时,1×1卷积层相当于全连接层
  • 1×1卷积层通常用于调整网络层的通道数量和控制模型复杂性

        下图展示了使用 1×1卷积核与3个输入通道和2个输出通道的互相关计算。 这里输入和输出具有相同的高度和宽度,输出中的每个元素都是从输入图像中同一位置的元素的线性组合。 我们可以将1×1卷积层看作在每个像素位置应用的全连接层,将 c_i 个输入值转换为 c_o 个输出值。 因为这仍然是一个卷积层,所以跨像素的权重是一致的。 同时,1×1卷积层需要的权重维度为 c_o\times c_i,再额外加上一个偏置。

        4. 池化层

  • 池化层通过减少特征图的空间分辨率来降低计算量,并降低卷积层对空间分辨率的敏感性。
  • 池化层可以降低隐藏表示的空间分辨率,从而聚集更多的高层次特征信息 (将局部的低级特征逐步整合成更高级的抽象特征)
  • 池化操作(如最大池化)会在局部区域内提取最显著的特征,从而降低卷积层对位置的敏感性。
  • 池化层的输出通道数通常与输入通道数相同,因为池化是独立作用于每个通道的。

        5. 总结

        增加每个神经元感受野的方式:

  • 增加卷积层的层数,构建更深的网络。
  • 添加池化层,降低分辨率,聚合信息。随着分辨率的降低,每个神经元所覆盖的区域也会增大,即感受野增大。

一、网络结构

        一个对数字图像进行分类的网络的结构如下:

        该网络结构和 LeNet(LeNet-5)的网络结构基本一致。(对原始模型做了一点小改动,去掉了最后一层的高斯激活。除此之外,这个网络与最初的LeNet-5一致。) 

 

        这是一个简单的前馈神经网络(RNN)。它接收输入,将其依次传递通过多个层,最终输出结果。        

        在使用 pytorch 定义该网络结构时,只需要定前向传播 forward 函数,而反向传播 backward 函数(用于计算梯度)会通过 autograd 自动生成。在 forward 函数中,可以使用任意的张量操作(Tensor operations)模型中所有的可学习参数可以通过 net.parameters() 返回。

#----- 1.定义网络结构 -----#
import torch
import torch.nn as nn
import torch.nn.functional as Fclass Net(nn.Module):"""Conv2d(): 初始化一个二维卷积层。参数:in_channels (int)  -- 输入图像中的通道数out_channels (int) -- 卷积产生的通道数kernel_size (int 或 tuple) -- 卷积核的大小,可以是一个整数或包含两个整数的元组 (height, width)stride (int 或 tuple, 可选) -- 卷积的步长,默认值为 1。如果是元组, 则分别表示高和宽方向上的步长。padding (int, tuple 或 str, 可选) -- 输入的所有四个边的填充。默认值为 0, 可以是整数、元组或字符串('valid' 或 'same'),'valid' 表示不填充,'same' 表示填充以保持输出尺寸与输入相同。dilation (int 或 tuple, 可选) -- 卷积核元素之间的间距,默认为 1, 表示常规卷积。增大该值会引入空洞卷积。groups (int, 可选) -- 控制卷积的分组,默认为 1。大于 1 时会做分组卷积,即输入和输出通道被分为多个组,每组独立卷积。bias (bool, 可选) -- 是否添加偏置项,默认为 True。如果设置为 False, 则没有偏置。padding_mode (str, 可选) -- 填充模式,'zeros' 表示填充 0, 默认值为 'zeros'。可以选择 'reflect' 或 'replicate' 进行反射或复制填充。device (torch.device, 可选) -- 卷积层所使用的设备,默认为 None。dtype (torch.dtype, 可选) -- 卷积层所使用的数据类型,默认为 None。返回:nn.Conv2d -- 一个二维卷积层对象"""def __init__(self):super(Net, self).__init__()# 1 个输入图像通道,6 个输出通道,5x5 的卷积核self.conv1 = nn.Conv2d(1, 6, 5)   # bias=False# 6 个输入图像通道,16 个输出通道,5x5 的卷积核self.conv2 = nn.Conv2d(6, 16, 5)  # bias=False# 一个仿射变换操作:y = Wx + bself.fc1 = nn.Linear(16 * 5 * 5, 120)  # 5*5 来源于图像尺寸self.fc2 = nn.Linear(120, 84)self.fc3 = nn.Linear(84, 10)def forward(self, input):# 卷积层 C1:1 个输入图像通道,6 个输出通道,5x5 的卷积核,使用 ReLU 激活函数,# 输出尺寸为 (N, 6, 28, 28) 的张量,N 是批次大小c1 = F.relu(self.conv1(input))# 池化层 S2:2x2 的最大池化网格,纯函数实现,没有可训练参数,# 输出尺寸为 (N, 6, 14, 14) 的张量s2 = F.max_pool2d(c1, (2, 2))# 卷积层 C3:6 个输入通道,16 个输出通道,5x5 的卷积核,使用 ReLU 激活函数,# 输出尺寸为 (N, 16, 10, 10) 的张量c3 = F.relu(self.conv2(s2))# 池化层 S4:2x2 的最大池化网格,纯函数实现,没有可训练参数,# 输出尺寸为 (N, 16, 5, 5) 的张量s4 = F.max_pool2d(c3, 2)# 展平操作:纯函数实现,输出尺寸为 (N, 400) 的张量s4 = torch.flatten(s4, 1)# 全连接层 F5:输入为 (N, 400) 的张量,# 输出为 (N, 120) 的张量,使用 ReLU 激活函数f5 = F.relu(self.fc1(s4))# 全连接层 F6:输入为 (N, 120) 的张量,# 输出为 (N, 84) 的张量,使用 ReLU 激活函数f6 = F.relu(self.fc2(f5))# 高斯输出层:输入为 (N, 84) 的张量,# 输出为 (N, 10) 的张量output = self.fc3(f6)return outputnet = Net()
print(net)# 模型的可学习参数
params = list(net.parameters())
print(len(params))       # (卷积层数量 + 全连接层数量) * 2。2 为权重和偏置,卷积层和全连接层均有权重和偏置
print(params[0].size())  # 卷积层 conv1 的权重矩阵的形状,格式为 [输出通道数, 输入通道数, 卷积核高度, 卷积核宽度]
print(params[2].size())# 随机的 32x32 输入。格式为 (batch_size, Channel, Height, Width)
input = torch.randn(1, 1, 32, 32)
out = net(input)
print(out)# 梯度清零后进行反向传播
net.zero_grad()
out.backward(torch.randn(1, 10))

二、损失函数

#----- 2.损失函数 -----#
output = net(input)
target = torch.randn(10)  # a dummy target, for example
target = target.view(1, -1)  # make it the same shape as output
criterion = nn.MSELoss()loss = criterion(output, target)
print(loss)print(loss.grad_fn)  # MSELoss
print(loss.grad_fn.next_functions[0][0])  # Linear
print(loss.grad_fn.next_functions[0][0].next_functions[0][0])  # ReLU

三、反向传播

#----- 3.反向传播 -----#
net.zero_grad()     # 将所有参数的梯度缓冲区置零print('conv1.bias.grad before backward')
print(net.conv1.bias.grad)loss.backward()print('conv1.bias.grad after backward')
print(net.conv1.bias.grad)

四、更新权重

#----- 4.更新模型权重 -----#
import torch.optim as optim# 创建优化器
optimizer = optim.SGD(net.parameters(), lr=0.01)# 在训练循环中:
optimizer.zero_grad()   # 将梯度缓冲区清零
output = net(input)     # 前向传播
loss = criterion(output, target)  # 计算损失值
loss.backward()         # 反向传播,计算梯度
optimizer.step()        # 更新参数

相关文章:

PyTorch入门------卷积神经网络

前言 参考:神经网络 — PyTorch Tutorials 2.6.0cu124 文档 - PyTorch 深度学习库 一个典型的神经网络训练过程如下: 定义一个包含可学习参数(或权重)的神经网络 遍历输入数据集 将输入通过神经网络处理 计算损失(即…...

Qt官方案例知识点总结(图形视图——Colliding Mice)

Colliding Mice 案例 图元可重写下面的方法,返回一个QPainterPath(形状),该形状基于图形项自己的坐标系 返回的形状用于碰撞检测、命中测试等,形状越精确,那么碰撞检测等就越准确 不重写的话,默认取 boundingRect()…...

人工智能在后端开发中的革命:从架构到运维

后端开发作为应用程序的"大脑",正在经历人工智能带来的深刻变革。从智能API设计到自动化数据库优化,从异常预测到资源调度,AI技术正在重塑后端开发的各个方面。本文将全面探讨AI如何赋能现代后端系统开发,并通过实际案例展示这些技术的应用价值。 一、智能API开…...

电子电器架构 --- EOL 工厂刷写(产线)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…...

AI数据分析与BI可视化结合:解锁企业决策新境界

大家好,今天我们来聊聊一个前沿而热门的话题——AI数据分析与BI可视化结合,如何携手推动企业决策迈向新高度。在数据爆炸的时代,企业如何高效利用这些数据,成为制胜的关键。AI数据分析与BI可视化的结合,正是解锁这一潜…...

深度学习3.2 线性回归的从零开始实现

3.2.1 生成数据集 %matplotlib inline import random import torch from d2l import torch as d2ldef synthetic_data(w, b, num_examples):# 生成特征矩阵X,形状为(num_examples, len(w)),符合标准正态分布X torch.normal(0, 1, (num_examples, len(w…...

ArcPy工具箱制作(下)

在上一篇博客中,我们已经初步了解了如何制作ArcPy工具箱,包括工具箱的基本概念、准备工作、脚本编写以及将脚本转换为工具箱的步骤。今天,我们将继续深入探讨ArcPy工具箱的制作,重点介绍一些进阶技巧和优化方法. 一、优化工具箱的…...

if/switch语句初始化功能

基础介绍 这个特性是在c17版本引入的,在这之前是不允许在if语句或者switch语句中使用赋值语句,不仅仅是if语句和switch语句,包括lambda表达式在c17版本也支持类在捕获表达式中支持赋值操作。言归正传,下面阐述这个特性的基本语法…...

cmake 语法大纲

1,基础语法 CMakeLists.txt 目录组织文件; *.cmake 脚本文件 运行: $ cmake -P xxx.cmake *.cmake 模块文件 include 命令来引用 模块文件。 自定义模块; cmake 预制模块; 单行注释 # com 括号注释 #…...

前端单元测试实战:如何开始?

实战:如何开始单元测试 1.安装依赖 npm install --save-dev jest2.简单的例子 首先,创建一个 sum.js 文件 ./sum.js function sum(a, b) {return a b; }module.exports sum;创建一个名为 sum.test.js 的文件,这个文件包含了实际测试内…...

《软件设计师》复习笔记(12.2)——成本管理、配置管理

目录 一、项目成本管理 1. 定义 2. 主要过程 3. 成本类型 4. 其他概念 真题示例: 二、软件配置管理 1. 定义 2. 主要活动 3. 配置项 4. 基线(Baseline) 5. 配置库类型 真题示例: 一、项目成本管理 1. 定义 在批准…...

edge browser for linux debian

下载地址 https://www.microsoft.com/en-us/edge/download?formMA13FJ 安装 # 下载安装包 wget https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_135.0.3179.85-1_amd64.deb?brandM102 # 安装 sudo dpkg -i microsoft…...

Python读取Excel表格数据并写成JSON格式文件(精简版)

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 1. 步骤步骤 1: 安装必要的库步骤 2: 读取Ex…...

服务器的算力已经被被人占用了,我如何能“无缝衔接”?

今天遇到一个问题,服务器已经被别人占用了,我又不知道什么时候他能结束,因此很难去训练自己的模型,隔一会去看看别人是否结束又太麻烦,于是便可以写这个脚本文件来自动检测服务器是否空闲,一有空闲就可以自…...

rulego-server是一个开源程序,是一个轻量级、无依赖性的工作流自动化平台。支持 iPaaS、流式计算和 AI 能力。

一、软件介绍 文末提供程序和源码下载学习 RuleGo-Server 是一个基于 RuleGo 构建的轻量级、高性能、模块化和集成友好的自动化工作流程平台。可用于自动化编排、iPaaS(集成平台即服务)、API 编排、应用编排、AI 编排、数据处理、IoT 规则引擎、AI 助手…...

『前端样式分享』联系我们卡片式布局 自适应屏幕 hover动效 在wikijs中使用 (代码拿来即用)

目录 预览效果分析要点响应式网格布局卡片样式:阴影和过渡效果 代码优化希望 长短不一的邮箱地址在左右居中的同时,做到左侧文字对齐(wikijs可用)总结 欢迎关注 『前端布局样式』 专栏,持续更新中 欢迎关注 『前端布局样式』 专栏,持续更新中…...

航电系统之通信技术篇

航电系统(航空电子系统)的通信技术是现代航空器的核心技术之一,其核心目标是实现飞行器内部各系统之间以及飞行器与外部设备(如地面控制中心、其他飞行器等)之间高效、可靠的信息交互。随着航空技术的不断发展&#xf…...

4.3 熟悉字符串处理函数

作为一名C语言初学者,掌握字符串处理函数是编程道路上不可或缺的一步。字符串是C语言中处理文本数据的基础,而标准库提供了一系列强大的字符串处理函数,极大地方便了我们的开发工作。本文将带领大家熟悉这些常用的字符串处理函数,…...

二叉树理论基础

二叉树种类 满二叉树:每个非叶子节点都有且只有两个子节点。 和完全二叉树:除了最底层外,其他各层都是满的;最底层的节点都集中在左侧。 二叉搜索树:对于任意节点 u,左子树上所有节 点的值都小于 u.val…...

yarn的三个资源调度策略

### YARN 的三种资源调度策略及其工作原理与区别 #### 1. **FIFO Scheduler (先进先出调度器)** FIFO Scheduler 是一种最简单的调度方式,所有的应用程序都按顺序排队等待执行。其基本逻辑如下: - 应用程序按照提交的时间先后顺序依次进入队列。 - 当集…...

leetcode0112. 路径总和-easy

1 题目:路径总和 官方标定难度:易 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true &#xff1…...

铁氧体和纳米晶:车载定制电感的材料选择

最近有个做车载产品的粉丝问到:我们的定制电感产品既会用到铁氧体磁芯,也会用到纳米晶磁芯,那么这两种材料,该如何选择呢? 要回答这个问题,我们首先要对两种材料做一个基本的对比。 铁氧体材料成本低&…...

MCP认证难题破解

一、MCP 认证体系现状与核心挑战 微软认证专家(MCP)体系在 2020 年后逐步向基于角色的认证转型,例如 Azure 管理员(AZ-104)、数据分析师(DP-100)等,传统 MCP 考试已被取代。当前备考的核心难题集中在以下方面: 1. 技术栈快速迭代 云原生技术占比提升:Azure 认证中,…...

ROS机器人一般用哪些传感器?

以下是ROS机器人常用传感器的分层详解及思维导图总结,涵盖传感器分类、核心参数、ROS支持及典型应用: 一、环境感知传感器 1. 视觉传感器 类型 原理 ROS支持 数据类型 典型型号/驱动 优缺点及应用场景 单目摄像头 单镜头成像,通过透视变换获取2D图像,依赖算法推断深度 驱…...

【ubuntu】在Linux Yocto的基础上去适配Ubuntu的wifi模块

一、修改wifi的节点名 1.找到wifi模块的PID和VID ifconfig查看wifi模块网络节点的名字,发现是wlx44876393bb3a(wlxmac地址) 通过udevadm info -a /sys/class/net/wlx44876393bba路径的命令去查看wlx44876393bba的总线号,端口号…...

基于WebRTC技术的EasyRTC:支持任意平台设备的实时音视频通信解决方案

一、技术架构与核心优势 EasyRTC是一套基于WebRTC技术的实时音视频通信框架,旨在为开发者提供高效、稳定、跨平台的通信解决方案。其核心优势在于支持任意平台设备,包括Web端、移动端、桌面端和嵌入式设备,真正实现“一次开发,多…...

51单片机实验四:键盘检测原理及应用实现

目录 一、实验环境与实验器材 二、实验内容及实验步骤 1.独立键盘检测 2.独立键盘(简易版本) 3.矩阵键盘检测 4.矩阵键盘(简单版,单数码管): 一、实验环境与实验器材 环境:Keli&#xff0c…...

GN ninja 工程化构建例程

文章目录 1. 前言✨2. 工程实例🚩2.1 工程目录结构2.2 工程顶层.gn文件2.3 工具链配置.gn文件2.4 编译配置.gn文件2.5 编译目标配置.gn文件2.6 工程接口文件2.7 动态库编译.gn文件2.8 动态库源文件2.9 静态库编译.gn文件2.10 静态库源文件2.11 主程序编译.gn文件2.12 主程序源…...

STC定时器频率占空比程序

// // 一、宏定义区 // #include <STC15.H> //头文件 #include <intrins.h> //库函数文件 #define FOSC 12000000L //IRC频率 typedef …...

观察者 ➜ 事件总线:一路走来的碎碎念

写给未来的自己:每次手敲事件模型都要 Google,干脆把思路和踩坑一次性记清楚。文章很长,都是唠叨,目的是让自己看两眼就能把设计理由找回来。 目录 为什么我要折腾事件模型?V0 ─ 单一事件的观察者模式V1 ─ 多事件同步总线(类型拆分)V2 ─ 订阅者优先级(链式调用可控)…...

AOP基本概念

上述语句解释感觉太过玄妙不似常人能够听懂&#xff0c;所以结合自己理解&#xff0c;给自己留点备注&#xff1a; 首先 目标对象&#xff1a; 就是这要对哪个对象进行代理&#xff0c;因为AOP是面向切面编程&#xff0c;在OOP的基础上再次解耦合&#xff0c;这个过程需要提…...

不确定与非单调推理的概率方法

前文我们学习了“不确定与非单调推理的基本概念”,了解了不确定性推理是人工智能领域中处理不完整、不精确或模糊信息的推理方法,其核心是在前提条件或推理规则存在不确定性时,通过某种数学或逻辑机制推导出合理结论,并对结论的可靠性进行量化。不确定与非单调推理的基本概…...

device_fingerprint、device_id、hmac生成

文章目录 1. 写在前面2. 设备信息3. 数美指纹 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…...

centos下openjdk报:getVersion(FontConfiguration.java)异常,安装fontconfig无效问题的处理

TOC centos下openjdk报:getVersion(FontConfiguration.java)异常,安装fontconfig无效问题的处理 官网jdk包&#xff1a;Releases dragonwell-project/dragonwell8 背景&#xff1a; 为了适应国产化&#xff0c;使用东方通和国产jdk&#xff0c;从tomcat改为tongweb&#x…...

Banana Pi BPI-RV2 RISC-V 路由器开发板发售, 全球首款RISC-V路由器

Banana Pi BPI-RV2 开源路由器是矽昌通信和⾹蕉派开源社区&#xff08;Banana Pi &#xff09;合作设计, 联合打造全球首款RISC-V架构路由器开发板。 这是香蕉派开源社区与矽昌通信继BPI-Wifi5 低成本Wifi5 路由器合作之后的又一力作&#xff0c;为全球开发者与商业客户提供基于…...

自学新标日第十九课复习版本

第十九课 基本–》否定 うー&#xff1e;わ 单词 单词假名声调词义品物しなもの0物品&#xff0c;商品お皿おさら0盘子ごみごみ2垃圾初心者しょしんしゃ2初学者上級者じょうきゅうしゃ3熟练者高級こうきゅう0高级上級クラス5高级版英会話えいかいわ3英语会话コース1路线&a…...

网安加·百家讲坛 | 刘志诚:AI安全风险与未来展望

作者简介&#xff1a;刘志诚&#xff0c;乐信集团信息安全中心总监、OWASP广东区域负责人、网安加社区特聘专家。专注于企业数字化过程中网络空间安全风险治理&#xff0c;对大数据、人工智能、区块链等新技术在金融风险治理领域的应用&#xff0c;以及新技术带来的技术风险治理…...

2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(二级)真题

青少年软件编程&#xff08;Python&#xff09;等级考试试卷&#xff08;二级&#xff09; 分数&#xff1a;100 题数&#xff1a;37 答案解析&#xff1a;https://blog.csdn.net/qq_33897084/article/details/147340870 一、单选题(共25题&#xff0c;共50分) 1. 老师要求大…...

@JsonView + 单一 DTO:如何实现多场景 JSON 字段动态渲染

JsonView 单一 DTO&#xff1a;如何实现多场景 JSON 字段动态渲染 JsonView 单一 DTO&#xff1a;如何实现多场景 JSON 字段动态渲染1、JsonView 注解产生的背景2、为了满足不同场景下返回对应的属性的做法有哪些&#xff1f;2.1 最快速的实现则是针对不同场景新建不同的 DTO…...

《深入探秘JavaScript原型链与继承机制:解锁前端编程的核心密码》

在JavaScript的奇妙世界里&#xff0c;原型链与继承机制犹如隐藏的宝藏&#xff0c;掌握它们&#xff0c;就如同拿到了开启高效编程大门的钥匙。对于前端开发者来说&#xff0c;这不仅是写出简洁、可维护代码的关键&#xff0c;更是深入理解JavaScript面向对象编程的基石。今天…...

Cursor 生成java测试用例

1. 安装cursor 站点&#xff1a;https://www.cursor.com/cn 安装后登录 2. 使用cursor 2.1 安装扩展&#xff1a; 组合键 CtrlShiftX&#xff0c;进入扩展程序页面&#xff0c;安装如下&#xff1a; Chinese&#xff1a;中文支持&#xff0c; 安装后 CtrlShiftP&#xff0…...

常见免杀框架的使用(3款)---【AniYaGUI1.2.0、AV_Evasion_Tool掩日、FoxBypass_V1.0】

一、AniYaGUI1.2.0免杀框架 环境&#xff1a;虚拟机Win10 、云服务器 工具&#xff1a;Xshell、CobaltStrike 项目下载地址&#xff1a; https://github.com/piiperxyz/AniYa 1. 安装Go语言环境 确保Win10虚拟机安装 Golang 且环境变量中包含 go 否则⽆法编译&#xff08;注…...

PHP腾讯云人脸核身生成 SDK 接口调用步骤使用签名

参考腾讯云官方文档&#xff1a; 人脸核身 生成 SDK 接口调用步骤使用签名_腾讯云 前提条件&#xff1a;成功获取NonceTicket。 获取参考文档&#xff1a; PHP腾讯云人脸核身获取NONCE ticket-CSDN博客 function getTxFaceSign(){$appId ;$userId ;$version 1.0.0;$tic…...

LINUX418 加载YUM源 wireshark ping程序 解析

未找到挂载点 未连接 怪不得找不到 计划重启 sr0文件有了 挂载 删除 新建、修改配置文件 清空yum缓存 创建yum缓存 1.检查相关设置&#xff1a;虚拟机两个打钩 2.df -h查看光盘文件 3.挂载在/mnt mount -o ro /dev/sr0 /mnt 4.删除/etc/yum.repos.d 下的文件 5.新建local…...

解决Windows安全中心显示空白页面

1、电脑重装系统后&#xff0c;发现原本一些软件打不开了&#xff0c;电脑莫名认为有病毒&#xff0c;自动删除插件。附图。 2、第一反应是电脑防火墙的原因&#xff0c;默认威胁防护识别到了病毒软件&#xff0c;自动删除。在开始屏幕搜Windows安全中心&#xff0c;打开之后发…...

2.1 SQL server的安装以及一个数据表的创建

Microsoft SQL Server 2014 Express 是一个免费的、功能强大的可靠数据管理系统&#xff0c;为轻型网站和桌面应用程序提供丰富可靠的数据存储. 1. 下载软件并安装 https://www.microsoft.com/zh-cn/download/details.aspx?id42299 勾选SQLEXPRADV_X64_CHS.exe就够了。 可以更…...

楼梯上下检测数据集VOC+YOLO格式5462张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;5462 标注数量(xml文件个数)&#xff1a;5462 标注数量(txt文件个数)&#xff1a;5462 …...

Excel提取图片并自动上传到文件服务器(OOS),获取文件链接

Excel提取图片并自动上传到接口 在实际项目中&#xff0c;我们可能经常会遇到需要批量从Excel文件&#xff08;.xlsx&#xff09;中提取图片并上传到特定接口的场景。今天&#xff0c;我就详细介绍一下如何使用Python实现这一功能&#xff0c;本文会手把手教你搭建一个完整的解…...

python有序列表

您的代码整体结构良好&#xff0c;但存在一些关键错误和优化点。以下是对代码的详细评价及改进建议&#xff1a;---### 主要问题1. **add方法中的链表断裂问题**- **问题描述**&#xff1a;当向链表中间插入节点时&#xff0c;未正确设置新节点的next&#xff0c;导致后续节点丢…...

Python(23)Python异常处理完全指南:从防御到调试的工程实践

目录 一、异常处理的核心价值与行业现状二、Python异常体系深度解析2.1 内置异常分类树2.2 七大高频异常处理方案2.2.1 文件操作异常链2.2.2 类型校验防御策略 三、企业级异常处理架构3.1 分布式系统异常封装3.2 上下文管理器资源保护 四、五大核心处理原则1. 精准捕获原则‌2.…...