3.神经网络
神经网络
神经元与大脑
-
神经网络神经元的结构:
输入(Input):接收来自前一层神经元的信息。
权重(Weights):每个输入都有一个权重,表示其重要性。
加权和(Weighted Sum):神经元对所有输入信号进行加权求和。
偏置(Bias):调整加权和的结果,使得网络能更好地拟合数据。
激活函数(Activation Function):决定该神经元是否激活,通常使用像 ReLU、Sigmoid、Tanh 等函数。 -
信号传递:
神经元接收来自前一层的输入信号,并对这些信号进行加权求和(相当于神经元的“树突”部分),然后通过激活函数处理,输出传递给下一层的神经元。
-
激活函数:
激活函数的作用在于对输入进行非线性变换,使得神经网络可以学习复杂的模式。例如,ReLU(Rectified Linear Unit)函数会输出输入信号与0的较大值,帮助网络解决梯度消失问题
神经网络中的层
1. 基础层(通常用于前馈网络)
-
全连接层(Dense/Fully Connected Layer)
每个神经元与前一层的所有神经元连接,用于学习全局特征。
示例: 传统多层感知机(MLP)中的核心层。 -
激活函数层(Activation Layer)
引入非线性(如ReLU、Sigmoid、Tanh),使网络能够拟合复杂函数。
注意: 通常不单独作为一层,而是与其他层结合使用。
2. 卷积神经网络(CNN)专用层
2.1 卷积层(Convolutional Layer)
通过卷积核提取局部特征(如边缘、纹理),适用于图像、视频等网格数据。变体: 1D(时序数据)、2D(图像)、3D(视频/体数据)。
2.2 池化层(Pooling Layer)
降维并保留关键特征(如最大池化、平均池化),增强平移不变性。
2.3 转置卷积层(Transposed Convolution)
用于上采样(如图像生成、分割),扩大特征图尺寸。
2.4 空洞卷积(Dilated Convolution)
扩大感受野而不增加参数量,适用于语义分割等任务。
3. 循环神经网络(RNN)专用层
3.1 简单RNN层(Vanilla RNN)
处理序列数据,但存在梯度消失问题。
3.2 长短时记忆层(LSTM)
通过门控机制(输入门、遗忘门、输出门)解决长程依赖问题。
3.3 门控循环单元(GRU)
LSTM的简化版,合并部分门结构,计算效率更高。
3.4 双向层(Bidirectional RNN/LSTM/GRU)
同时捕捉前向和反向的序列依赖关系。
4. 注意力机制相关层
4.1 自注意力层(Self-Attention)
计算输入元素间的相关性(如Transformer的核心层)。
4.2 多头注意力(Multi-Head Attention)
并行多个自注意力机制,捕捉不同子空间的依赖关系。
4.3 交叉注意力(Cross-Attention)
用于处理两个序列间的交互(如编码器-解码器结构)。
5. 归一化与正则化层
5.1 批归一化(Batch Normalization, BN)
对每批数据归一化,加速训练并缓解梯度问题。
5.2 层归一化(Layer Normalization, LN)
适用于RNN或Transformer,沿特征维度归一化。
5.3 Dropout层
随机失活神经元,防止过拟合。
6. 输出层
6.1 Softmax层
多分类任务中输出概率分布。
6.2 Sigmoid层
二分类或概率输出。
6.3 线性输出层
回归任务(无激活函数)。
前向传播与反向传播
前向传播
定义:数据从输入层逐层传递到输出层,最终生成预测值的过程。每一层的输出是下一层的输入。
步骤:
1. 输入数据:将样本数据输入网络的第一层(如全连接层、卷积层等)。
2. 逐层计算:每一层对输入进行线性变换(如矩阵乘法、卷积运算)和非线性激活(如ReLU)。
从输出层开始,逐层计算损失对参数的梯度(链式法则)。例如,全连接层的梯度计算:
z ( l ) = W ( l ) ⋅ a ( l − 1 ) + b ( l ) , a ( l ) = σ ( z ( l ) ) z^{(l)} = W^{(l)} \cdot a^{(l-1)} + b^{(l)}, \quad a^{(l)} = \sigma(z^{(l)}) z(l)=W(l)⋅a(l−1)+b(l),a(l)=σ(z(l))
其中,W是权重,b是偏置,a是激活值,σ是激活函数。
输出结果:最后一层(输出层)的激活值即为预测值(如分类概率或回归值)。
作用计算模型的预测输出。
为反向传播提供中间结果(如激活值、未激活值z)。
反向传播
定义:通过链式法则计算损失函数对每个参数的梯度,并从输出层反向传播误差信号至输入层,用于更新权重和偏置。
步骤:
- 计算损失:通过损失函数(如交叉熵、均方误差)比较预测值与真实值的误差。
L = Loss ( y , y ^ ) L = \text{Loss}(y, \hat{y}) L=Loss(y,y^) - 反向传播梯度:
从输出层开始,逐层计算损失对参数的梯度(链式法则)。
例如,全连接层的梯度计算:
∂ L ∂ W ( l ) = ∂ L ∂ a ( l ) ⋅ ∂ a ( l ) ∂ z ( l ) ⋅ ∂ z ( l ) ∂ W ( l ) \frac{\partial L}{\partial W^{(l)}} = \frac{\partial L}{\partial a^{(l)}} \cdot \frac{\partial a^{(l)}}{\partial z^{(l)}} \cdot \frac{\partial z^{(l)}}{\partial W^{(l)}} ∂W(l)∂L=∂a(l)∂L⋅∂z(l)∂a(l)⋅∂W(l)∂z(l)
3 . 更新参数:使用优化器(如SGD、Adam)根据梯度调整参数:
更新规则: W ( l ) ← W ( l ) − η ⋅ ∂ L ∂ W ( l ) 其中: η : 学习率 ∂ L ∂ W ( l ) : 损失对第 l 层权重的梯度 \begin{aligned} \text{更新规则:} \\ W^{(l)} &\leftarrow W^{(l)} - \eta \cdot \frac{\partial L}{\partial W^{(l)}} \\ \text{其中:} \\ \eta &: \text{学习率} \\ \frac{\partial L}{\partial W^{(l)}} &: \text{损失对第 } l \text{ 层权重的梯度} \end{aligned} 更新规则:W(l)其中:η∂W(l)∂L←W(l)−η⋅∂W(l)∂L:学习率:损失对第 l 层权重的梯度
作用:
确定参数更新方向,最小化损失函数。
高效计算梯度(避免手动推导每一层的梯度)。
如何构建一个神经网络
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import Adam
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
import numpy as np
import matplotlib.pyplot as plt# 1. 准备数据
#make_classification 是 scikit-learn (sklearn) 库提供的一个函数,用于生成随机的分类数据集
# 参一:样本个数 参2:每个样本的特征数 参3:几分类 参4:随机种子
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)
#test_size 表明将20%的数据用于测试
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 2. 构建模型
model = Sequential([Dense(units = 64, activation='relu', input_shape=(20,)), # 第一隐藏层,表明有64个神经元,输出64维度的特征表示Dense(units = 32, activation='relu'), # 第二隐藏层,表明有32个神经元,输出32维度的特征表示Dense(units = 1, activation='sigmoid') # 输出层(二分类)
])
#如何计算参数数量
## 参数数 = (输入维度 × 神经元数量) + 偏置数 以第一层举例吧。 输入维度20 神经元数量 64 ,偏置数 64 all: 20* 64 + 64# 3. 编译模型
#损失函数:使用的是二元交叉熵损失函数。
#使用的是 Adam(Adaptive Moment Estimation)优化器
#评估指标:这里用的是准确率(accuracy)。
model.compile(optimizer=Adam(learning_rate=0.001),loss='binary_crossentropy',metrics=['accuracy'])# 4. 训练模型
#意思:epochs=50,整个训练数据会被“完整地”送入模型进行训练 50 次。
# batch_size=32, 每次更新权重和计算梯度的时候使用32个样本
# validation_split=0.2 把 20% 的训练数据自动拿出来作为验证集,20%的数据不参与计算,只用来评估模型
history = model.fit(X_train, y_train, epochs=50, batch_size=32, validation_split=0.2)
# plt.plot(history.history['accuracy'], label='Train Accuracy')
# plt.plot(history.history['val_accuracy'], label='Val Accuracy')
# plt.legend()
# plt.show()
# 5. 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print(f"测试集准确率: {accuracy:.4f}")# 6. 进行预测
sample = X_test[0:1] # 取第一个测试样本
prediction = model.predict(sample)
print(f"预测概率: {prediction[0][0]:.4f}")
print(f"实际结果:{y_test[0]}")
什么是 logits?
是指 没有经过 sigmoid 的原始输出值
比如模型最后输出的是 [-1.2, 0.5, 3.0] 这种线性值
✅ 什么是 概率?
是已经被 sigmoid “压缩”到 [0, 1] 范围内的结果
比如 sigmoid 后变成了 [0.23, 0.62, 0.95]
注: 在输出层没有sigmod 的情况下,我们需要将loss写为
loss = BinaryCrossentropy(from_logits=True),意思就是让你去给我做个sigmod,我需要拿到的是最终的一个概率值。而不是一堆线性值。
激活函数
Relu 激活函数
g ( z ) = m a x ( 0 , z ) g(z) = max(0,z) g(z)=max(0,z)
要么0,要么正值的一个输出
sigmod函数
g ( z ) = 1 1 + e − z g(z) = \frac{1}{1+e^{-z}} g(z)=1+e−z1
二分类的一个预测
softmax函数
import numpy as npdef softmax(z):z = z - np.max(z) # 稳定处理exp_z = np.exp(z)return exp_z / np.sum(exp_z)print(softmax([2.0, 1.0, 0.1]))#[0.659, 0.242, 0.098] 概率和为1
场景:多分类
多类别的分类问题
特性:概率和为1 ,
常用的激活函数:softmax函数
假设有四个分类z1,z2,z3,z4.
z 1 = w 1 x + b 1 z_{1} = \mathbf{w1} \mathbf{x} + b1 z1=w1x+b1
z 2 = w 2 x + b 2 z_{2} = \mathbf{w2} \mathbf{x} + b2 z2=w2x+b2
z 3 = w 3 x + b 3 z_{3} = \mathbf{w3} \mathbf{x} + b3 z3=w3x+b3
z 4 = w 4 x + b 4 z_{4} = \mathbf{w4} \mathbf{x} + b4 z4=w4x+b4
这四个公式,经过softmax后
a 1 = e z 1 e z 1 + e z 2 + e z 3 + e z 4 = p ( y = 1 ∣ x ) a_{1} = \frac{e^{z_{1}}} {e^{z_{1}} + e^{z_{2}} +e^{z_{3}} +e^{z_{4}} } = p(y=1| \mathbf{x}) a1=ez1+ez2+ez3+ez4ez1=p(y=1∣x)
a 2 = e z 2 e z 1 + e z 2 + e z 3 + e z 4 = p ( y = 2 ∣ x ) a_{2} = \frac{e^{z_{2}}} {e^{z_{1}} + e^{z_{2}} +e^{z_{3}} +e^{z_{4}} } = p(y=2| \mathbf{x}) a2=ez1+ez2+ez3+ez4ez2=p(y=2∣x)
a 3 = e z 3 e z 1 + e z 2 + e z 3 + e z 4 = p ( y = 3 ∣ x ) a_{3} = \frac{e^{z_{3}}} {e^{z_{1}} + e^{z_{2}} +e^{z_{3}} +e^{z_{4}} } = p(y=3| \mathbf{x}) a3=ez1+ez2+ez3+ez4ez3=p(y=3∣x)
a 4 = e z 4 e z 1 + e z 2 + e z 3 + e z 4 = p ( y = 4 ∣ x ) a_{4} = \frac{e^{z_{4}}} {e^{z_{1}} + e^{z_{2}} +e^{z_{3}} +e^{z_{4}} } = p(y=4| \mathbf{x}) a4=ez1+ez2+ez3+ez4ez4=p(y=4∣x)
逻辑回归的损失函数:
l o s s ( a 1 , . . . a n ) = − l o g a n loss(a_{1},...a_{n}) = -log_{a_{n}} loss(a1,...an)=−logan
模型的评估
分类的模型
假设这里有个二分类的问题,一个正一个负的选择
TP: 真正(true positive)
TN: 真负(true negative)
FP: 假正(false positive)
FN: 假负(false negative)
准确率:
a c c u r a c y = T P + T N T P + T N + F P + F N accuracy = \frac{TP + TN} {TP + TN + FP + FN} accuracy=TP+TN+FP+FNTP+TN
精确率:
p r e c i s i o n = T P T P + F P precision = \frac{TP} {TP + FP} precision=TP+FPTP
召回率:
r e c a l l = T P T P + F N recall = \frac{TP} {TP + FN} recall=TP+FNTP
F1分数:
F 1 = 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n + r e c a l l F1 = 2 * \frac{precision * recall} {precision + recall} F1=2∗precision+recallprecision∗recall
回归模型
均方误差:
MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1∑n(yi−y^i)2
平方误差,偏差大时惩罚更重
均方根误差:
RMSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{RMSE} = \sqrt{ \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 } RMSE=n1i=1∑n(yi−y^i)2
平均绝对误差(MAE)
MAE = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| MAE=n1i=1∑n∣yi−y^i∣
决定系数:
R 2 = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 R^2 = 1 - \frac{ \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 }{ \sum_{i=1}^{n}(y_i - \bar{y})^2 } R2=1−∑i=1n(yi−yˉ)2∑i=1n(yi−y^i)2
越接近 1 越好,表示模型解释了多少方差(1 是完美预测)
相关文章:
3.神经网络
神经网络 神经元与大脑 神经网络神经元的结构: 输入(Input):接收来自前一层神经元的信息。 权重(Weights):每个输入都有一个权重,表示其重要性。 加权和(Weighted Sum&a…...
CentOS 7安装Python3.12
文章目录 使用pyenv安装python3.12一、gitub下载pyenv二、升级GCC三.升级openssl这样python3.12.9就完成安装在CentOS上啦! 使用pyenv安装python3.12 一、gitub下载pyenv https://github.com/pyenv/pyenv 按照README,pyenv教程安装即可 二、升级GCC 安…...
微服务无感发布实践:基于Nacos的客户端缓存与故障转移机制
微服务无感发布实践:基于Nacos的客户端缓存与故障转移机制 背景与问题场景 在微服务架构中,服务的动态扩缩容、滚动升级是常态,而服务实例的上下线需通过注册中心(如Nacos)实现服务发现的实时同步。但在实际生产环境…...
5.2 自定义通知操作按钮(UNNotificationAction)
在本地推送通知中添加自定义操作按钮可以增强用户交互性,让用户无需打开应用就能执行一些快速操作。本节将详细介绍如何在SwiftUI应用中实现这一功能。 基本概念 UNNotificationAction 和 UNNotificationCategory 是UserNotifications框架中用于定义通知交互的核心…...
Python与链上数据分析:解锁区块链数据的潜力
Python与链上数据分析:解锁区块链数据的潜力 引言 区块链技术的兴起不仅改变了金融行业,也为数据分析领域带来了全新的机遇。链上数据(On-chain Data)是区块链网络中公开透明的交易记录和活动数据,它为我们提供了一个独特的视角,去观察用户行为、市场趋势以及网络健康状…...
数字化转型:未来已来,企业如何抢占先机?
近年来,“数字化转型”从一个技术热词逐渐演变为各行各业的“必选项”。无论是全球市场还是中国市场,数字化浪潮正以不可逆的姿态重塑商业生态。据IDC预测,到2028年,中国数字化转型市场规模将突破7300亿美元,全球投资规…...
Web3游戏全栈开发实战指南:智能合约与去中心化生态构建全解析
在GameFi市场规模突破千亿美元的当下,去中心化游戏系统开发正面临技术架构升级与生态融合的双重机遇。本文基于Solidity、Rust等多链智能合约开发经验,结合Truffle、Hardhat等主流框架,深度解析如何构建高性能、高收益的链游生态系统。 一、…...
Windows 图形显示驱动开发-WDDM 2.0功能_IoMmu 模型
概述 输入输出内存管理单元 (IOMMU) 是一个硬件组件,它将支持具有 DMA 功能的 I/O 总线连接到系统内存。 它将设备可见的虚拟地址映射到物理地址,使其在虚拟化中很有用。 在 WDDM 2.0 IoMmu 模型中,每个进程都有一个虚拟地址空间࿰…...
uniapp微信小程序基于wu-input二次封装TInput组件(支持点击下拉选择、支持整数、电话、小数、身份证、小数点位数控制功能)
一、 最终效果 二、实现了功能 1、支持输入正整数---设置specifyTypeinteger 2、支持输入数字(含小数点)---设置specifyTypedecimal,可设置decimalLimit来调整小数点位数 3、支持输入手机号--设置specifyTypephone 4、支持输入身份证号---设…...
Java 大厂面试题 -- JVM 深度剖析:解锁大厂 Offe 的核心密钥
最近佳作推荐: Java大厂面试高频考点|分布式系统JVM优化实战全解析(附真题)(New) Java大厂面试题 – JVM 优化进阶之路:从原理到实战的深度剖析(2)(New&#…...
小白入门JVM、字节码、类加载机制图解
前提知识~ JDK 基本介绍 JDK 的全称(Java Development Kit Java 开发工具包)JDK JRE java 的开发工具[java, javac,javadoc,javap 等]JDK 是提供给Java 开发人员使用的,其中包含了java 的开发工具,也包括了JRE。可开发、编译、调试…… JRE 基本介绍…...
新能源汽车动力性与经济性优化中的经典数学模型
一、动力性优化数学模型 动力性优化的核心目标是提升车辆的加速性能、最高车速及爬坡能力,主要数学模型包括: 1. 车辆纵向动力学模型 模型方程: 应用场景: 计算不同工况下的驱动力需求匹配电机扭矩与减速器速比案例ÿ…...
高级java每日一道面试题-2025年3月25日-微服务篇[Nacos篇]-Nacos中的命名空间(Namespace)有什么作用?
如果有遗漏,评论区告诉我进行补充 面试官: Nacos中的命名空间(Namespace)有什么作用? 我回答: 在Java高级面试中,关于Nacos中的命名空间(Namespace)的作用,是一个考察候选人对微服务架构和配…...
5.JVM-G1垃圾回收器
一、什么是G1 二、G1的三种垃圾回收方式 region默认2048 三、YGC的过程(Step1) 3.1相关代码 public class YGC1 {/*-Xmx128M -XX:UseG1GC -XX:PrintGCTimeStamps -XX:PrintGCDetails -XX:UnlockExperimentalVMOptions -XX:G1LogLevelfinest128m5% 60%6.4M 75M*/private stati…...
变量、数据、值类型引用类型的存储方式
代码写了也有2年了,对于这些基础的程序名词,说出口也是模棱两可,心里很不爽,很多基础还是模糊不清,清算一下...... Example值类型: int x 10; 变量:“x”是一个标识符,它对应着栈…...
分布式和微服务的区别
1. 定义 在讨论分布式系统和微服务的区别之前,我们先明确两者的定义: 分布式系统:是一组相互独立的计算机,通过网络协同工作,共同完成某个任务的系统。其核心在于资源的分布和任务的分解。 微服务架构:是…...
数组的常见算法一
注: 本文来自尚硅谷-宋红康仅用来学习备份 6.1 数值型数组特征值统计 这里的特征值涉及到:平均值、最大值、最小值、总和等 **举例1:**数组统计:求总和、均值 public class TestArrayElementSum {public static void main(String[] args)…...
Leedcode刷题 | Day27_贪心算法01
一、学习任务 455.分发饼干代码随想录376. 摆动序列53. 最大子序和 二、具体题目 1.455分发饼干455. 分发饼干 - 力扣(LeetCode) 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对…...
springboot集成kafka,后续需要通过flask封装restful接口
Spring Boot与Kafka的整合 在现代软件开发中,消息队列是实现服务解耦、异步消息处理、流量削峰等场景的重要组件。Apache Kafka是一个分布式流处理平台,它具有高吞吐量、可扩展性和容错性等特点。Spring Boot作为一个轻量级的、用于构建微服务的框架&am…...
MYSQL数据库语法补充2
一,数据库设计范式(原则) 数据库设计三大范式: 第一范式: 保证列的原子性(列不可再分) 反例:联系方式(手机,邮箱,qq) 正例: 手机号,qq,邮箱. 第二范式: 要有主键,其他列依赖于主键列,因为主键是唯一的,依赖了主键,这行数据就是唯一的. 第三范式: 多表关联时,在…...
Flask返回文件方法详解
在 Flask 中返回文件可以通过 send_file 或 send_from_directory 方法实现。以下是详细方法和示例: 1. 使用 send_file 返回文件 这是最直接的方法,适用于返回任意路径的文件。 from flask import Flask, send_fileapp = Flask(__name__)@app.route("/download")…...
随机数据下的最短路问题(Dijstra优先队列)
题目描述 给定 NN 个点和 MM 条单向道路,每条道路都连接着两个点,每个点都有自己编号,分别为 1∼N1∼N 。 问你从 SS 点出发,到达每个点的最短路径为多少。 输入描述 输入第一行包含三个正整数 N,M,SN,M,S。 第 22 到 M1M1 行…...
CPP杂项
注意:声明类,只是告知有这个类未完全定义,若使用类里具体属性,要么将访问块(函数之类)放到定义后,要么直接完全定义 C 友元函数/类的使用关键点(声明顺序为核心) 1. 友元…...
Idea将Java工程打包成war包并发布
1、问题概述? 项目开发之后,我们需要将Java工程打包成war后缀,并进行发布。之前在网上看到很多的文章,但是都不齐全,今天将提供一个完整的实现打包war工程,并发布的文章,希望对大家有所帮助,主要解决如下问题: 1、war工程需要满足的相关配置 2、如何解决项目中的JDK…...
多级缓存模型设计
为了有效避免缓存击穿、穿透和雪崩的问题。最基本的缓存设计就是从数据库中查询数据时,无论数据库中是否存在数据,都会将查询的结果缓存起来,并设置一定的有效期。后续请求访问缓存时,如果缓存中存在指定Key时,哪怕对应…...
SGLang实战:从KV缓存复用到底层优化,解锁大模型高效推理的全栈方案
在当今快速发展的人工智能领域,大型语言模型(LLM)的应用已从简单对话扩展到需要复杂逻辑控制、多轮交互和结构化输出的高级任务。面对这一趋势,如何高效地微调并部署这些大模型成为开发者面临的核心挑战。本文将深入探讨SGLang——这一专为大模型设计的高…...
【中大厂面试题】腾讯 后端 校招 最新面试题
操作系统 进程和线程的区别 本质区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位 在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销&am…...
数据结构第六章(一) -图
数据结构第六章(一) 图一、图的基本概念1.图的分类、度、权等2.路径、回路、连通等3.连通分量、生成树等 二、几种特殊的图1.完全图2.稠密图、稀疏图3.树、有向树 三、常见考点总结 图 一、图的基本概念 感觉要想怎么定义图,图就是顶点和边组…...
【技术白皮书】外功心法 | 第三部分 | 数据结构与算法基础(常用的数据结构)
数据结构与算法基础 什么是算法?算法效率查询和排序为什么排序如此重要?思考问题如何确定复杂性数据结构连续或链接的数据结构链表的优点数组的优点数组集合Set 声明的一些方法有Multiset多元集合栈和队列何时使用栈和队列数据字典字典Hash的实现时间复杂度对时间的影响什么是…...
spark简介和安装
spark概念 Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎 spark核心模块 Spark Core Spark Core 中提供了 Spark 最基础与最核心的功能,Spark 其他的功能如:Spark SQL,Spark Streaming,GraphX, MLlib 都是在 …...
如何在 CentOS 7 系统上以容器方式部署 GitLab,使用 ZeroNews 通过互联网访问 GitLab 私有仓库,进行代码版本发布与更新
第 1 步: 部署 GitLab 容器 在开始部署 GitLab 容器之前,您需要创建本地目录来存储 GitLab 数据、配置和日志: #创建本地目录 mkdir -p /opt/docker/gitlab/data mkdir -p /opt/docker/gitlab/config mkdir -p /opt/docker/gitlab/log#gi…...
springboot Filter实现请求响应全链路拦截!完整日志监控方案
一、为什么你需要这个过滤器? 日志痛点: 🚨 请求参数散落在各处? 🚨 响应数据无法统一记录? 🚨 日志与业务代码严重耦合? 解决方案: 一个Filter同时拦截请…...
spring mvc 在拦截器、控制器和视图中获取和使用国际化区域信息的完整示例
在拦截器、控制器和视图中获取和使用国际化区域信息的完整示例 1. 核心组件代码示例 1.1 配置类(Spring Boot) import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.spring…...
docker部署jenkins并成功自动化部署微服务
一、环境版本清单: docker 26.1.4JDK 17.0.28Mysql 8.0.27Redis 6.0.5nacos 2.5.1maven 3.8.8jenkins 2.492.2 二、服务架构:有gateway,archives,system这三个服务 三、部署步骤 四、安装linux 五、在linux上安装redis&#…...
android 14.0 工厂模式 测试音频的一些问题(高通)
1之前用tinycap,现在得用agmcap 执行----agmcap /data/test.wav -D 100 -d 101 -i CODEC_DMA-LPAIF_RXTX-TX-3 -T 3 报错1 agmcap data/test.wav -D 100 -d 101 -i CODEC_DMA-LPAIF_RXTX-TX-3 -T 3 Failed to open xml file name /vendor/etc/backend_co…...
vue:前端预览 / chrome浏览器设置 / <iframe> 方法预览 doc、pdf / vue-pdf 预览pdf
一、本文目标 <iframe> 方法预览 pdf 、word vue-pdf 预览pdf 二、<iframe> 方法 2.1、iframe 方法预览需要 浏览器 设置为: chrome:设置-隐私设置和安全性-网站设置-更多内容设置-PDF文档 浏览器访问: chrome://settings/co…...
Axure疑难杂症:详解横向菜单左右拖动效果及阈值说明
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:横向菜单左右拖动 主要内容:菜单设计、拖动效果、阈值设计 应用场景:APP横向菜单栏、台账菜单栏、功能选择栏等 案例展示: 案例视频: 横向菜单左右拖动效果 正文内容: 最近很多粉丝私信我,横向…...
多视图几何--立体校正--Bouguet方法
Bouguet算法的数学原理详解 Bouguet算法的核心目标是实现双目相机的极线校正,使左右图像的对应点位于同一水平线上,从而简化立体匹配。其数学原理围绕旋转矩阵分解、极线约束构造和重投影优化展开,以下是分步推导: 一、坐标系定义…...
debian12 mysql完全卸载
MySQL 的数据目录通常是 /var/lib/mysql,配置文件通常在 /etc/mysql 目录下。使用以下命令删除这些目录: sudo rm -rf /var/lib/mysql sudo rm -rf /etc/mysql清理残留文件 sudo find / -name "mysql*" -exec rm -rf {} \; 2>/dev/null验…...
随机动作指令活体检测技术的广泛应用,为人脸识别安全保驾护航
随着人脸识别技术在金融支付、门禁系统、手机解锁等领域的广泛应用,攻击手段也日益多样化,如照片、视频回放、3D面具等伪造方式对系统安全构成严重威胁。传统的人脸识别技术难以区分真实人脸与伪造攻击,正是在这样的背景下,随机动…...
Chrome 135 版本开发者工具(DevTools)更新内容
Chrome 135 版本开发者工具(DevTools)更新内容 一、性能(Performance)面板改进 1. 性能面板中的配置文件和函数调用现已显示来源和脚本链接 Performance > Summary(性能 > 概览)选项卡现在会显示配…...
《算法:以三种算法思想及两种优化策略解决Fibonacci数》
文章目录 0.题目:red_circle:一.递归记忆化搜索**a.普通递归****b.记忆化搜索(优化)**算法讲解: :red_circle:二.前缀和a.算法讲解b.代码示例 :red_circle:三.动态规划滚动数组a.算法讲解b.普通动规代码示例c.滚动数组优化 作者的个人gitee 作者的算法讲…...
定制开发开源AI智能名片S2B2C商城小程序源码中的产品运营协同进化机制研究
摘要 在数字化产品发展进程中,产品经理与运营人员的协同工作机制对产品迭代方向具有决定性作用。本文以定制开发开源AI智能名片S2B2C商城小程序源码为研究对象,通过分析其技术架构中的智能推荐系统、三级账户体系及社交裂变引擎等创新模块,揭…...
Colmap的安装和使用
Colmap 网站: https://colmap.github.io/GitHub: https://github.com/colmap/colmap 安装 Windows 从 GitHub发布页 GitHub Releases 下载预编译的二进制, 区分带CUDA和不带CUDA的版本. Ubuntu 在 Ubuntu 22.04 下可以通过apt install colmap安装, 但是这样安装的是不带C…...
Springboot框架—单元测试操作
Springboot单元测试的操作步骤: 1.添加依赖spring-boot-starter-test 在pom.xml中添加依赖spring-boot-starter-test 2.在src/test/java下新建java class 3.单元测试入口代码结构 import org.junit.Test; import org.junit.runner.RunWith; import org.springfra…...
Elasticearch数据流向
Elasticearch数据流向 数据流向图 --- config: layout: elk look: classic theme: mc --- flowchart LR subgraph s1["图例"] direction TB W["写入流程"] R["读取流程"] end A["Logstash Pipeline"] -- 写入请求 --> B["Elas…...
dB,dBi, dBd, dBc,dBm,dBw释义及区别
贝尔(B) 贝尔(B)最初用于表示音量功率10与1的比值,亚历山大.格拉汉姆.贝尔的名字命名。因此,1B表示功率比10:1,这是一种对数的关系,底数为10,100:12B,1000:13B。即lg(P2/P1)。 可以看出B是一个较大的单位…...
CRM是企业AI Agent应用的关键切入点
CRM(Customer Relationship Management,客户关系管理)是一套用于系统化管理企业与客户交互的技术、策略和流程,旨在优化客户体验、提升忠诚度并驱动业务增长。其核心功能包括客户数据整合(如联系信息、交易记录、行为轨…...
aws(学习笔记第三十八课) codepipeline-build-deploy-github-manual
文章目录 aws(学习笔记第三十八课) codepipeline-build-deploy-github-manual学习内容:1. 整体架构1.1 代码链接1.2 全体处理架构 2. 代码分析2.1 创建ImageRepo,并设定给FargateTaskDef2.2 创建CodeBuild project2.3 对CodeBuild project赋予权限&#…...
【数据分享】1999—2023年地级市市政公用事业和邮政、电信业发展情况相关指标(Shp/Excel格式)
在之前的文章中,我们分享过基于2000-2024年《中国城市统计年鉴》整理的1999-2023年地级市的人口相关数据、染物排放和环境治理相关数据、房地产投资情况和商品房销售面积相关指标数据、社会消费品零售总额和年末金融机构存贷款余额、各类用地面积、地方一般公共预算…...