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

transformer 笔记 tokenizer moe

 (超爽中英!) 2025吴恩达大模型【Transformer】原理解析教程!附书籍代码 DeepLearning.AI_哔哩哔哩_bilibili

自回归就是上文全部阅读 

好像学过了,向量互乘好像

transformer不需要rnn

掩码自注意力

训练bert

import torch
import torch.nn as nn
import torch.nn.functional as Fclass SelfAttention(nn.Module):def __init__(self, embed_size, heads):super(SelfAttention, self).__init__()self.embed_size = embed_sizeself.heads = headsself.head_dim = embed_size // headsassert (self.head_dim * heads == embed_size), "Embedding size needs to be divisible by heads"self.values = nn.Linear(self.head_dim, embed_size, bias=False)self.keys = nn.Linear(self.head_dim, embed_size, bias=False)self.queries = nn.Linear(self.head_dim, embed_size, bias=False)self.fc_out = nn.Linear(embed_size, embed_size)def forward(self, values, keys, query, mask):N = query.shape[0]value_len, key_len, query_len = values.shape[1], keys.shape[1], query.shape[1]# Split the embedding into self.heads different piecesvalues = values.reshape(N, value_len, self.heads, self.head_dim)keys = keys.reshape(N, key_len, self.heads, self.head_dim)queries = query.reshape(N, query_len, self.heads, self.head_dim)values = self.values(values)keys = self.keys(keys)queries = self.queries(queries)energy = torch.einsum("nqhd,nkhd->nhqk", [queries, keys])if mask is not None:energy = energy.masked_fill(mask == 0, float("-1e20"))attention = torch.softmax(energy / (self.embed_size ** (1 / 2)), dim=3)out = torch.einsum("nhql,nlhd->nqhd", [attention, values]).reshape(N, query_len, self.embed_size)out = self.fc_out(out)return outclass TransformerBlock(nn.Module):def __init__(self, embed_size, heads, dropout, forward_expansion):super(TransformerBlock, self).__init__()self.attention = SelfAttention(embed_size, heads)self.norm1 = nn.LayerNorm(embed_size)self.norm2 = nn.LayerNorm(embed_size)self.feed_forward = nn.Sequential(nn.Linear(embed_size, forward_expansion * embed_size),nn.ReLU(),nn.Linear(forward_expansion * embed_size, embed_size),)self.dropout = nn.Dropout(dropout)def forward(self, value, key, query, mask):attention = self.attention(value, key, query, mask)x = self.dropout(self.norm1(attention + query))forward = self.feed_forward(x)out = self.dropout(self.norm2(forward + x))return outclass GPT1Decoder(nn.Module):def __init__(self, vocab_size, embed_size, num_layers, heads, device, forward_expansion, dropout, max_length):super(GPT1Decoder, self).__init__()self.embed_size = embed_sizeself.device = deviceself.word_embedding = nn.Embedding(vocab_size, embed_size)self.position_embedding = nn.Embedding(max_length, embed_size)self.layers = nn.ModuleList([TransformerBlock(embed_size,heads,dropout=dropout,forward_expansion=forward_expansion,)for _ in range(num_layers)])self.fc_out = nn.Linear(embed_size, vocab_size)self.dropout = nn.Dropout(dropout)def forward(self, x, mask):N, seq_length = x.shapepositions = torch.arange(0, seq_length).expand(N, seq_length).to(self.device)out = self.dropout(self.word_embedding(x) + self.position_embedding(positions))for layer in self.layers:out = layer(out, out, out, mask)out = self.fc_out(out)return out# 参数设置
embed_size = 256
heads = 8
num_layers = 6
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
forward_expansion = 4
dropout = 0.1
max_length = 100# 初始化模型
model = GPT1Decoder(1000, embed_size, num_layers, heads, device, forward_expansion, dropout, max_length).to(device)

词汇量多一次读取的消耗token就少

一直选择最高分temperature=0

看着看着睡过去了

盗梦空间了

肖申克救赎是吧

self-attention 

 

每个词算一个重要程度然后全部加权求和得到上下文信息

 

历史记录不全看,稀疏注意力

model

在你提供的代码片段中,320643072 是与模型的嵌入层(Embedding)相关的参数。具体来说:

  • 32064:这是嵌入层的词汇表大小(vocabulary size)。这意味着模型可以处理的唯一词或标记的数量为32064个。这通常对应于训练数据集中所有可能的单词或子词单元的数量。

  • 3072:这是嵌入维度(embedding dimension),即每个词或标记被转换成的向量的长度。在这个例子中,每个词或标记会被映射到一个3072维的向量空间中,这个向量包含了该词或标记的语义信息。

这些参数对于理解模型如何表示和处理文本数据至关重要。较大的词汇表大小允许模型处理更广泛的词汇,而较高的嵌入维度则意味着模型能够捕捉到更复杂的语言特征和上下文信息。

ffn 16000维

model.model

1. 嵌入层 (embed_tokens)

  • Embedding(32064, 3072, padding_idx=32000): 这个嵌入层将输入的词或标记转换为固定长度的向量表示。参数说明如下:
    • 32064: 词汇表大小,即模型可以识别的不同词或标记的数量。
    • 3072: 嵌入维度,每个词或标记被映射到一个3072维的向量空间中。
    • padding_idx=32000: 指定填充标记的索引,在计算嵌入时会被忽略。

2. Dropout 层 (embed_dropout)

  • Dropout(p=0.0, inplace=False): 在嵌入层之后应用Dropout正则化技术,以防止过拟合。在这个例子中,p=0.0 表示不进行Dropout操作。

3. 解码器层 (layers)

  • ModuleList: 包含了32个 Phi3DecoderLayer 层,这些层是模型的核心部分,负责对输入序列进行编码和解码。
解码器层内部结构:
  • Self-Attention (self_attn): 自注意力机制,允许模型关注输入序列中的不同位置,以捕捉长距离依赖关系。
    • Linear(in_features=3072, out_features=3072, bias=False): 输出投影层。
    • Linear(in_features=3072, out_features=9216, bias=False): 查询、键和值投影层。
    • PhiRotaryEmbedding(): 旋转位置嵌入,用于在自注意力机制中引入位置信息。
  • MLP (mlp): 多层感知机,用于增加模型的非线性表达能力。
    • Linear(in_features=3072, out_features=16384, bias=False): 上行投影层。
    • Linear(in_features=8192, out_features=3072, bias=False): 下行投影层。
    • SiLU(): 激活函数,使用SiLU(Sigmoid Linear Unit)激活函数。
  • Normalization Layers:
    • PhiRMSNorm(): RMS归一化层,用于稳定训练过程。
  • Dropout Layers:
    • Dropout(p=0.0, inplace=False): 在自注意力和MLP模块后应用Dropout正则化。

4. 最终归一化层 (norm)

  • PhiRMSNorm(): 在模型输出之前应用的最终归一化层,确保输出的稳定性

之前例子是1*2*3072

原来llm还能拆开用的 

 

这段代码的目的是从模型的输出中获取预测的词或标记,并将其解码为可读的文本。让我们逐步解析这段代码:

1. lm_head_output[0, -1]

  • lm_head_output: 这是语言模型(Language Model)头部的输出,通常是一个三维张量,形状为 [batch_size, sequence_length, vocab_size]
    • batch_size: 批处理中的样本数量。
    • sequence_length: 输入序列的长度。
    • vocab_size: 词汇表大小,即模型可以生成的不同词或标记的数量。
  • [0, -1]: 这是对 lm_head_output 张量进行索引操作。
    • 0: 表示选择批处理中的第一个样本。
    • -1: 表示选择该样本序列中的最后一个时间步的输出。这通常用于生成任务,其中我们关注的是序列的下一个词预测。

2. .argmax(-1)

  • .argmax(-1): 在指定的维度上找到最大值的索引。这里的 -1 表示在最后一维(即词汇表维度)上进行操作。
  • 这一步的作用是从模型输出的概率分布中选择最可能的词或标记。argmax 返回的是这个最可能词或标记在词汇表中的索引。

3. tokenizer.decode(token_id)

  • token_id: 经过 argmax 操作后得到的词或标记的索引。
  • tokenizer.decode(): 使用分词器(Tokenizer)将词或标记的索引转换为实际的文本。
    • 分词器是训练时使用的同一工具,它能够将词汇表中的索引映射回原始的词或字符。

总结

这段代码的主要功能是从模型的输出中提取出最可能的下一个词或标记,并将其转换为人类可读的文本形式。具体步骤如下:

  1. 从模型输出中选择第一个样本的最后一个时间步的输出。
  2. 在词汇表维度上找到概率最大的词或标记的索引。
  3. 使用分词器将这个索引解码为实际的词或字符。

这种操作常见于文本生成任务,如自动补全、机器翻译和文本摘要等场景。

 

1. 打分

  • Self-Attention: 在Transformer中,“打分”实际上是指自注意力机制(Self-Attention)中的计算过程。具体来说,它涉及计算输入序列中每个词与其他词的相关性分数。这些分数用于确定在生成当前词的表示时,应该赋予其他词多少权重。
  • 计算方式: 这个过程通常通过查询(Query)、键(Key)和值(Value)向量的点积来实现,并通过Softmax函数进行归一化,得到注意力权重。

2. 求和

  • Add & Norm: “求和”指的是“Add & Norm”层的操作。在这个层中,模型将自注意力机制或前馈神经网络(Feed Forward)的输出与输入相加,然后进行归一化处理。这一步骤有助于保持梯度稳定,并允许模型学习残差连接(Residual Connections),从而提高训练的效率和效果。
  • 作用: 残差连接使得深层网络更容易训练,因为它们可以缓解梯度消失或爆炸的问题。

3. 找词

  • Feed Forward: “找词”可以理解为前馈神经网络(Feed Forward)的作用。这个模块是一个全连接的两层神经网络,用于对自注意力机制的输出进行非线性变换,以捕捉更复杂的特征和模式。
  • 功能: 前馈神经网络增强了模型的表达能力,使其能够更好地理解和生成文本

 

 

 

moe

masked-self attention 和没有masked 的有什么区别

 

 

 加载要更多内存,推理要更少显存

动画讲解 Mamba 状态空间模型_哔哩哔哩_bilibili

相关文章:

transformer 笔记 tokenizer moe

(超爽中英!) 2025吴恩达大模型【Transformer】原理解析教程!附书籍代码 DeepLearning.AI_哔哩哔哩_bilibili 自回归就是上文全部阅读 好像学过了,向量互乘好像 transformer不需要rnn 掩码自注意力 训练bert import torch import torch.nn as nn import …...

6.01 Python中打开usb相机并进行显示

本案例介绍如何打开USB相机并每隔100ms进行刷新的代码,效果如下: 一、主要思路: 1. 打开视频流、读取帧 self.cam_cap = cv2.VideoCapture(0) #打开 视频流 cam_ret, cam_frame = self.cam_cap.read() //读取帧。 2.使用定时器,每隔100ms读取帧 3.显示到Qt的QLabel…...

什么是AIOps

AIOps(Artificial Intelligence for IT Operations,智能运维)是以人工智能技术为核心的新型IT运维模式,通过整合机器学习、大数据分析等技术,实现运维流程的自动化与智能化,从而提升系统稳定性、降低运营成…...

javax.net.ssl.SSLHandshakeException: No appropriate protocol

大家好,我是 程序员码递夫。 我有个SpringBoot项目用到邮件发送功能, 在开发环境运行,一切正常,但是我 部署jar 包,在本机上运行时却报错了, 提示: javax.mail.MessagingException: Could not…...

【身份证识别表格】批量识别身份证扫描件或照片保存为Excel表格,怎么大批量将身份证图片转为excel表格?基于WPF和腾讯OCR的识别方案

以下是基于WPF和腾讯OCR的身份证批量识别与导出Excel的完整方案: 一、应用场景 ​​企业人事管理​​ 新员工入职时需批量录入数百份身份证信息,传统手动录入易出错且耗时。通过OCR自动提取姓名、身份证号等字段,生成结构化Excel表格&#xf…...

Java+Selenium+快代理实现高效爬虫

目录 一、前言二、Selenium简介三、环境准备四、代码实现4.1 创建WebDriver工厂类4.2 创建爬虫主类4.3 配置代理的注意事项 六、总结与展望 一、前言 在Web爬虫技术中,Selenium作为一款强大的浏览器自动化工具,能够模拟真实用户操作,有效应对…...

掌握Multi-Agent实践(三):ReAct Agent集成Bing和Google搜索功能,采用推理与执行交替策略,增强处理复杂任务能力

一个普遍的现象是,大模型通常会根据给定的提示直接生成回复。对于一些简单的任务,大模型或许能够较好地应对。然而,当我们面对更加复杂的任务时,往往希望大模型能够表现得更加“智能”,具备适应多样场景和解决复杂问题的能力。为此,AgentScope 提供了内置的 ReAct 智能体…...

【愚公系列】《Manus极简入门》028-创业规划顾问:“创业导航仪”

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! &#x1f…...

SpringBoot统一功能处理

一.拦截器(实现两个接口,并重写方法) 1. 定义拦截器 ⾃定义拦截器: 实现HandlerInterceptor接⼝, 并重写其所有⽅法 preHandle()⽅法:⽬标⽅法执⾏前执⾏. 返回true: 继续执⾏后续操作; 返回false: 中断后…...

并发设计模式实战系列(19):监视器(Monitor)

🌟 大家好,我是摘星! 🌟 今天为大家带来的是并发设计模式实战系列,第十九章监视器(Monitor),废话不多说直接开始~ 目录 一、核心原理深度拆解 1. 监视器三要素模型 2. 线程调度…...

Oracle Fusion常用表

模块表名表描述字段说明sodoo_headers_all销售订单头表sodoo_lines_all销售订单行表sodoo_fulfill_lines_all销售订单明细行表popo_headers_all采购订单头表popo_lines_all采购订单行表popo_line_locations_all采购订单分配表popo_distributions_all采购订单发运表invEGP_SYSTE…...

虚假AI工具通过Facebook广告传播新型Noodlophile窃密木马

网络安全公司Morphisec的研究人员发现,攻击者正利用虚假人工智能(AI)平台传播名为Noodlophile Stealer的新型信息窃取木马。这种复杂攻击手法利用AI工具的热度诱骗用户下载恶意软件,窃取浏览器凭证、加密货币钱包,并可…...

华为云Flexus+DeepSeek征文|从开通到应用:华为云DeepSeek-V3/R1商用服务深度体验

前言 本文章主要讲述在华为云ModelArts Studio上 开通DeepSeek-V3/R1商用服务的流程,以及开通过程中的经验分享和使用感受帮我更多开发者,在华为云平台快速完成 DeepSeek-V3/R1商用服务的开通以及使用入门注意:避免测试过程中出现部署失败等问…...

在Cline上调用MCP服务之MCP实践篇

目录 引言一、准备工作1、安装 Visual Studio Code2、安装Cline插件配置支持模型 二、安装MCP Server并调用MCP Server三、本地手动安装MCP Server结尾 引言 上一篇《模型上下文协议(Model Context Protocol,MCP)初见概念篇》我们说到什么是…...

大模型应用开发之模型架构

一、Transformer 架构 1. 编码器Encoder(“阅读理解大师”) 1)核心任务:编码器的唯一目标就是彻底理解输入的句子。它要把输入的每个词(或者说词元 Token)都转化成一个充满上下文信息的“向量表示”&#…...

敦普水性无铬锌铝涂层:汽车紧固件防锈15年,解决螺栓氢脆腐蚀双痛点

汽车紧固件低能耗涂装 在汽车工业体系中,紧固件承担着连接关键部件的重任。螺栓的抗拉强度、螺母的锁紧力矩,直接决定着整车的可靠性。当前,传统涂层技术始终面临一道难题:如何在保障防锈性能的同时,实现真正的环保无有…...

基环树(模板) 2876. 有向图访问计数

对于基环树,我们可以通过拓扑排序去掉所有的树枝,只剩下环,题目中可能会有多个基环树 思路:我们先利用拓扑排序将树枝去掉,然后求出每个基环树,之后反向dfs求得所有树枝的长度即可 class Solution { publi…...

26考研——中央处理器_指令执行过程(5)

408答疑 文章目录 二、指令执行过程指令周期定义指令周期的多样性指令执行的过程注意事项 指令周期的数据流取指周期间址周期执行周期中断周期 指令执行方案单周期处理器多周期处理器流水线处理器 八、参考资料鲍鱼科技课件26王道考研书 九、总结 二、指令执行过程 指令周期 …...

Unity基础学习(九)输入系统全解析:鼠标、键盘与轴控制

目录 一、Input类 1. 鼠标输入 2. 键盘输入 3. 默认轴输入 (1) 基础参数 (2)按键绑定参数 (3)输入响应参数 (4)输入类型与设备参数 (5)不同类型轴的参…...

如何清除windows 远程桌面连接的IP记录

问题 在远程桌面连接后,会在输入列表留下历史IP记录,无用的IP多了会影响我们查找效率,也不安全。 现介绍如何手动删除这些IP记录。 解决方案 1、打开注册表 按 Win R,输入 regedit,回车定位到远程桌面记录的注册表…...

C#参数数组全解析

在C#编程中,参数数组是一个重要的概念,它为方法调用提供了更大的灵活性。下面我们将详细介绍参数数组的相关内容。 参数数组的基本规则 在本书所述的参数类型里,通常一个形参需严格对应一个实参,但参数数组不同,它允…...

设计模式-策略模式(Strategy Pattern)

设计模式-策略模式(Strategy Pattern) 一、概要 在软件设计中,策略模式(Strategy Pattern)是一种非常重要的行为型设计模式。它的核心思想是将算法或行为封装在不同的策略类中,使得它们可以互换&#xff…...

LeetCode面试题 17.21 直方图的水量

题目 解答 package leetcode.editor.cn;//leetcode submit region begin(Prohibit modification and deletion) class Solution {public int trap(int[] height) {int length height.length;if (length 0) {return 0;}int[] leftMax new int[length];leftMax[0] 0;for (i…...

数据库系统概论(七)初识SQL与SQL基本概念

数据库系统概论(七)初识SQL与SQL基本概念 前言一、什么是SQL语言?1.1 SQL的产生和发展1.2 SQL的特点1.3 SQL的基本概念1.3.1 数据库相关“术语”(类比Excel表格)1.3.2 四大类核心语句(后面会详细讲&#xf…...

Jenkins Maven 带权限 搭建方案2025

1、使用docker搭建jenkins version: 3.8services:jenkins:image: jenkins_lzh:1.0container_name: jenkinsports:- "8080:8080" # Jenkins Web UI- "50000:50000" # Jenkins Agent通信端口volumes:- ./jenkins_home:/var/jenkins_home # 持久化Jenkins…...

服务器配置错误导致SSL/TLS出现安全漏洞,如何进行排查?

SSL/TLS 安全漏洞排查与修复指南 一、常见配置错误类型‌ 弱加密算法与密钥问题‌ 使用弱密码套件&#xff08;如DES、RC4&#xff09;或密钥长度不足&#xff08;如RSA密钥长度<2048位&#xff09;&#xff0c;导致加密强度不足。 密钥管理不当&#xff08;如私钥未加密存…...

【高并发】Celery + Redis异步任务队列方案提高OCR任务时的并发

线程池处理OCR仍然会阻塞请求的原因主要有以下几点&#xff0c;以及为什么CeleryRedis是更好的解决方案&#xff1a; 1. 线程池的阻塞本质 请求-响应周期未分离&#xff1a;即使使用线程池&#xff0c;HTTP请求仍需要等待线程池任务完成才能返回响应。当所有线程都繁忙时&#…...

c/c++的Libevent 和OpenSSL构建HTTPS客户端详解(附带源码)

使用 Libevent 和 OpenSSL 构建 HTTPS 客户端详解 在现代网络应用中&#xff0c;HTTPS 协议的普及使得安全通信成为标配。Libevent 是一个功能强大且广泛应用的事件通知库&#xff0c;能够帮助开发者编写高性能、可移植的网络程序。然而&#xff0c;libevent 本身并不直接处理…...

关于fastjson与fastjson2中toJava操作的区别

关于fastjson与fastjson2中toJava操作的区别 一、场景二、 区别1、前置条件2、对比1. fastjson2. fastjson2 三、解决方案 一、场景 在Java中会有将json转为实体类的需求&#xff0c;其中fastjson是一个常用的选择&#xff0c;今天在升级项目依赖的过程中&#xff0c;将fastjs…...

PX4开始之旅(二)通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信

核心知识点&#xff1a;通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信 1. 通俗易懂的解释 想象一下&#xff0c;MAVLink 就像是无人机&#xff08;飞控&#xff09;和地面站&#xff08;QGroundControl&#xff09;之间约定好的一种“语言”。这种语言有很多标准的“…...

Docker组件详解:核心技术与架构分析

Docker详解&#xff1a;核心技术与架构分析 Docker作为一种容器化技术&#xff0c;已经彻底改变了软件的开发、交付和部署方式。要充分理解和利用Docker的强大功能&#xff0c;我们需要深入了解其核心组件以及它们如何协同工作。本文将详细介绍Docker的主要组件、架构设计以及…...

uni-app,小程序中的addPhoneContact,保存联系人到手机通讯录

文章目录 方法详解简介 基本语法参数说明基础用法使用示例平台差异说明注意事项最佳实践 方法详解 简介 addPhoneContact是uni-app框架提供的一个实用API&#xff0c;用于向系统通讯录添加联系人信息。这个方法在需要将应用内的联系人信息快速保存到用户设备通讯录的场景下非…...

uniapp小程序轮播图高度自适应优化详解

在微信小程序开发过程中&#xff0c;轮播图组件(swiper)是常用的UI元素&#xff0c;但在实际应用中经常遇到高度不匹配导致的空白问题。本文详细记录了一次轮播图高度优化的完整过程&#xff0c;特别是针对固定宽高比图片的精确适配方案。 问题背景 在开发"零工市场&quo…...

赛季7靶场 - Environment

本系列仅说明靶场的攻击思路&#xff0c;不会给出任何的详细代码执行步骤&#xff0c;因为个人觉得找到合适的工具以实现攻击思路的能力也非常重要。 1.Nmap扫描发现80和22端口 2.访问80端口&#xff0c;使用katana查看js代码&#xff0c;快速发现laravel框架。 【*】希望知道…...

JVM——即时编译

分层编译模式&#xff1a;动态平衡启动速度与执行效率 分层编译是现代JVM&#xff08;如HotSpot、GraalVM&#xff09;实现高性能的核心策略之一&#xff0c;其核心思想是根据代码的执行热度动态选择不同的编译层次&#xff0c;实现启动速度与运行效率的最佳平衡。以HotSpot虚…...

武汉火影数字|数字科技馆打造:开启科技探索新大门

足不出户&#xff0c;就能畅游科技的奇幻世界&#xff0c;你相信吗&#xff1f;数字科技馆就能帮你实现&#xff01;在这个数字化的时代&#xff0c;数字科技馆如同一颗璀璨的新星&#xff0c;照亮了我们探索科学的道路。 那么&#xff0c;数字科技馆究竟是什么呢&#xff1f; …...

升级 Azure Kubernetes 服务群集的关键注意事项

升级 Azure Kubernetes 服务 (AKS) 集群不仅是为了保持最新状态&#xff0c;更是为了保护您的工作负载、提升性能并降低运营风险。但如果操作不当&#xff0c;可能会导致停机、工作负载中断&#xff0c;甚至访问问题。 在本指南中&#xff0c;我们将介绍&#xff1a; 生产环境…...

数据类型详解(布尔值、整型、浮点型、字符串等)-《Go语言实战指南》

Go语言是一门静态强类型语言&#xff0c;所有变量在编译时必须明确其数据类型。本章将详细介绍Go的基础数据类型&#xff0c;帮助你理解并正确使用它们。 一、数据类型分类总览 Go 的基础数据类型可以分为以下几类&#xff1a; 类型分类代表类型示例布尔类型booltrue, false整…...

单片机-STM32部分:9-1、触控检测芯片

飞书文档https://x509p6c8to.feishu.cn/wiki/ILBsw4EaQiWaUukWrxEcO4XZnXc 传统物理按键 原理 玻璃盖板下通过一个触摸PAD连接到触摸芯片中&#xff0c;触摸PAD可以用PCB铜箔、金属片、平顶圆柱弹簧、导电棉、导电油墨、导电橡胶、导电玻璃的ITO层等。 当有人体手指靠近触摸按…...

从 JMS 到 ActiveMQ:API 设计与扩展机制分析(二)

&#xff08;三&#xff09;消息结构与 API 操作 JMS 消息结构&#xff1a;JMS 消息主要由消息头&#xff08;Header&#xff09;、属性&#xff08;Properties&#xff09;和消息体&#xff08;Body&#xff09;三部分组成。消息头包含了许多预定义的字段&#xff0c;用于标识…...

CSS display: none

在 CSS 中&#xff0c;display: none; 是一个用于控制元素显示与隐藏的属性值&#xff0c;其核心作用是完全从文档流中移除元素&#xff0c;使元素在页面中不占据任何空间&#xff0c;也不会被渲染。以下是详细解释&#xff1a; 核心作用 隐藏元素&#xff1a;使元素在页面中…...

vison transformer vit 论文阅读

An Image is Worth 16x16 Words 20年的论文看成10年的哈斯我了 [2010.11929] 一张图像胜过 16x16 个单词&#xff1a;用于大规模图像识别的转换器 --- [2010.11929] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 为什么transformer好训练&am…...

dropout层

从你提供的图片来看&#xff0c;里面讨论了 Dropout 层&#xff0c;让我为你解释一下它的工作原理和作用。 Dropout 层是什么&#xff1f; Dropout 是一种常用的正则化技术&#xff0c;用于避免神经网络的 过拟合&#xff08;overfitting&#xff09;。过拟合是指模型在训练数…...

openssl中BIO的使用

BIO是OpenSSL的一个重要的结构和概念&#xff0c;是对数据IO与传递处理的一种类型抽象和功能封装&#xff0c;这里所说的数据IO与传递的“介质”包括&#xff1a;内存、文件、日志、标准设备、网络socket等&#xff0c;“处理”包括简单、加/解密、摘要、ssl协议下的读/写等的数…...

电动汽车充电设施可调能力聚合评估与预测

电动汽车充电设施可调能力聚合评估与预测 项目概述 本项目基于论文《大规模电动汽车充换电设施可调能力聚合评估与预测》(鲍志远&#xff0c;胡泽春)&#xff0c;实现了电动汽车充电设施可调能力的聚合评估与预测方法。 主要文件 real_data_model.m: 使用真实数据实现LSTM线…...

Git clone时出现SSL certificate problem unable to get local issuer certificate

正确解决方法 git config --global http.sslVerify false错误解决方法&#xff1a;&#xff08;主要是看错了嘿嘿&#xff0c;但是如果是 OpenSSL SSL_read: Connection was reset, errno 10054 Failed to connect to github.com port 443: Timed out 原…...

requests库

模拟请求获取网页源代码 如下 import requestsr requests.get(https://spa1.scrape.center/page/1) print(r.text) 源码如下 GET请求 示例网站为 https://httpbin.org import requests r requests.get(https://httpbin.org/) print(r.text) 所显示的结果如下 {"a…...

基于springboot的海洋环保知识分享系统的设计与实现

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…...

安科瑞ADL3000-E-A/KC三相交流电能表CE认证导轨表

1 概述 ADL3000-E-A 是一款为供电系统、工矿企业以及公用事业单位设计的智能电表&#xff0c;用于计算耗电量并管理用电需求。它具备高精度、体积小以及安装简便的特点。它将所有电气参数的测量与综合电能计量及管理功能集成在一起&#xff0c;可提供过去 12 个月的各类数据&a…...

红黑树算法笔记

文章目录 红黑树 (Red-Black Tree) 学习笔记0. 节点结构与哨兵节点1. 什么是红黑树&#xff1f;2. 红黑树的五个核心性质3. 为什么需要红黑树&#xff1f;4. 红黑树的基本操作a. 查找 (Search)b. 插入 (Insert)c. 删除 (Delete) 5. 维护平衡的关键操作a. 变色 (Recoloring)b. 旋…...