即插即用卷积之TalkingHeadAttn

import torch
from torch import nn"""
个代码实现了一个名为"TalkingHeadAttn"的自注意力模块(Self-Attention),主要用于增强神经网络在输入序列上的特征表示和建模。以下是这个自注意力模块的关键部分和特点:多头自注意力:这个模块使用了多头自注意力机制,通过将输入数据进行不同方式的投影来构建多个注意力头。num_heads参数指定了注意力头的数量,每个头将学习捕捉输入序列中不同的特征关系。查询-键-值(QKV)投影:模块使用线性变换(nn.Linear)将输入 x 投影到查询(Q),键(K),和值(V)的空间。这个投影操作是通过self.qkv完成的。注意,为了提高计算效率,一次性生成了三个部分的投影结果。注意力计算:通过计算 Q 和 K 的点积,然后应用 Softmax 操作,得到了注意力矩阵,表示了输入序列中各个位置之间的关联程度。这个计算是通过 attn = q @ k.transpose(-2, -1) 和 attn = attn.softmax(dim=-1) 完成的。多头特征整合:多头注意力的输出被整合在一起,通过乘以值(V)矩阵,并进行线性变换,将多个头的结果整合到一起。这个整合过程包括了投影 self.proj_l 和 self.proj_w 操作。Dropout正则化:在注意力计算和投影操作之后,使用 Dropout 来进行正则化,减少过拟合风险。输出:最终的输出是通过 self.proj 和 self.proj_drop 完成的。总的来说,TalkingHeadAttn模块通过多头自注意力机制,能够同时考虑输入序列中不同位置之间的关系,以及不同的特征关系。这有助于提高模型在序列数据上的特征提取和建模能力,使其在自然语言处理和其他序列数据任务中表现出色。这个模块通常作为大型神经网络模型的子模块,用于处理序列数据。
"""class TalkingHeadAttn(nn.Module):def __init__(self, dim, num_heads=8, qkv_bias=False, attn_drop=0., proj_drop=0.):super()<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android13 客制化U盘挂载路径

Android 8.1 OTG U盘无法显示在系统文件管理的修改_mtk 屏蔽当贝市场u盘弹框-CSDN博客 Android 8.1 客制化OTG U盘的挂载路径名称_安卓8.1 u盘挂载目录-CSDN博客

Tomacat下载并且手动自动部署Web项目

Tomacat下载并且手动自动部署Web项目 Tomcat的简介Tomcat的作用Tomcat的下载Tomcat 部署1、环境准备2、手动部署项目3、自动部署项目&#xff08;IDEA&#xff09; ⭐ 前言 ⭐ 本篇文章主要介绍 Tomacat下载部署Web项目的详细使用以及部分理论知识 Tomcat的简介 Tomcat 服务…

硬盘分区怎么恢复数据 硬盘分区如何恢复原来的数据

硬盘分区是我们在使用电脑时经常会遇到的问题&#xff0c;而且很多人都会因为误操作或者其他原因导致硬盘分区数据丢失。这时候&#xff0c;我们就需要知道如何恢复硬盘分区的数据了。 首先&#xff0c;我们需要知道硬盘分区数据丢失的原因。一般来说&#xff0c;硬盘分区数据丢…

setTimeout+Promise+Async输出顺序?

注明&#xff1a;本文不涉及Nodejs执行机制 同步 && 异步 什么是异步&#xff0c;什么是同步&#xff0c;我不多说&#xff0c;我就通过小故事来讲讲吧。 同步&#xff1a;你打电话去书店订书&#xff0c;老板说我查查&#xff0c;你不挂电话在等待&#xff0c;老板把…

基于Node.js 和 FFmpeg构建自动化脚本用来转码视频

这个脚本将监控一个特定的目录&#xff0c;自动转码新添加的视频文件&#xff0c;并将转码后的视频保存到指定目录。 准备环境 安装 Node.js: 访问 Node.js 官网&#xff0c;下载并安装适合你操作系统的 Node.js 版本。 安装 FFmpeg(不清楚的可以看我的上篇博客里有详细的安装…

Memcached 数据库介绍

一 Memcached 介绍 &#xff08;一&#xff09;Memcached 简单介绍 弊端 不能持久化 &#xff08;不支持存在硬盘里&#xff09; Memcached 只支持能序列化的数据类型&#xff0c;不支持持久化&#xff0c;基于Key-Value的内存缓存系统 memcached 虽然没有像redis所具备的…

【Golang星辰图】图像和多媒体处理的创新之路:Go语言的无限潜能

图像处理、音视频编辑&#xff0c;Go语言不再局限&#xff1a;揭秘opencv和goav的威力 前言: 在当今的数字时代&#xff0c;图像处理和多媒体技术在各个领域中的应用越来越广泛。无论是计算机视觉、图像处理还是音视频处理&#xff0c;选择合适的库和工具至关重要。本文将介绍…

宏任务及微任务

js有一个基于事件循环的并发模型&#xff0c;事件循环负责执行代码、收集和处理事件&#xff0c;以及执行队列中的子任务。js是单线程的&#xff08;某一刻只能执行一行代码&#xff09;&#xff0c;为了让耗时带啊不阻塞其他代码运行&#xff0c;设计了事件循环模型。 事件循环…

【Golang星辰图】 编织自动化魔法:使用 Go 语言中的自动化和部署工具构建可靠的基础设施

Go 语言中的自动化和部署&#xff1a;使用 Ansible、Docker、Kubernetes、Terraform、Jenkins、GitLab 和 Vault 的详细指南 前言&#xff1a; 自动化和部署是当今软件开发生命周期中不可或缺的环节。使用自动化工具可以提高效率、降低成本、减少人为错误&#xff0c;并使软件…

学生时期学习资源同步-1 第一学期结业考试题1

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载

D-Star 寻路算法

D-Star 寻路算法 下面简写 D-Star 为 D* D算法&#xff1a;D 算法”的名称源自 Dynamic A Star,最初由Anthony Stentz于“Optimal and Efficient Path Planning for Partially-Known Environments”中介绍。它是一种启发式的路径搜索算法&#xff0c; 适合面对周围环境未知或者…

把 Windows 装进 Docker 容器里

本篇文章聊聊如何在 Docker 里运行 Windows 操作系统&#xff0c; Windows in Docker Container&#xff08;WinD&#xff09;。 写在前面 我日常使用 macOS 和 Ubuntu 来学习和工作&#xff0c;但是时不时会有 Windows 使用的场景&#xff0c;不论是运行某个指定的软件&…

业务交付-SIT案例模板

XXXX系统 SIT案例 承建单位&#xff1a;XXXX公司 编制时间&#xff1a;XXXX年XX月 1、引言 ​​​​​​​1.1编写目的 本测试计划目的&#xff0c;为测试XXXX系统功能正常可用&#xff0c;是否符合需求设计&#xff0c;业务逻辑是否符合需求设计具体包括以下方面&#xff1…

QThread常用相关函数、线程启动方式

一、常用相关函数 可以将常用的函数按照功能进行以下分类&#xff1a; 线程启动 void start() 调用后会执行run()函数&#xff0c;但在run()函数执行前会发射信号started()&#xff0c;操作系统将根据优先级参数调度线程。如果线程已经在运行&#xff0c;那么这个函数什么也不…

杂谈-关于如何在博客或者技术站上提问才能获得作者更高的回复意愿和交流热情

如何提问一个有效的问题 &#x1f606; 首先为什么写这篇文章&#xff0c;由于在研究生的学习和工作过程中由于个人技术知识稍微丰富一点点也比较好学&#xff0c;经常会被提问或者自己提问-在博客&#xff0c;GitHub上&#xff0c;Stakflow上等等-也在和学弟学妹交流的过程中听…

Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题

Java面试深度剖析&#xff1a;设计模式、内存优化与并发处理 在Java技术栈中&#xff0c;设计模式、内存优化和并发处理是构建健壮、高效应用程序的关键。本文将通过三道精心设计的面试题&#xff0c;深入探讨这些知识点&#xff0c;旨在帮助读者在面试中展现深厚的技术功底&a…

C#调用Halcon出现尝试读取或写入受保护的内存,这通常指示其他内存已损坏。System.AccessViolationException

一、现象 在C#中调用Halcon&#xff0c;出现异常提示&#xff1a;尝试读取或写入受保护的内存,这通常指示其他内存已损坏。System.AccessViolationException 二、原因 多个线程同时访问Halcon中的某个公共变量&#xff0c;导致程序报错 三、测试 3.1 Halcon代码 其中tsp_width…

ELF-DISCOVER:大型语言模型自我构建推理结构

论文地址&#xff1a;https://arxiv.org/pdf/2402.03620.pdf Abstract 我们引入了SELF-DISCOVER&#xff0c;这是一个通用框架&#xff0c;用于让LLMs自我发现任务内在的推理结构&#xff0c;以解决对典型提示方法具有挑战性的复杂推理问题。该框架的核心是一个自我发现过程&…

测试交付类项目-文档规范

目的&#xff1a;为了确保项目的顺利进行和成功完成&#xff0c;并且为项目交付物提供准确的说明和指导。 文档提供时间&#xff1a;一般为产品验收完成&#xff0c;需求方初步确认完成后&#xff0c;需进行相关文档的提供&#xff0c;供需求方进行验收。 交付文档模板&#…

Python pip 换成国内镜像源

用 easy_install 和 pip 来安装第三方库很方便&#xff0c;它们的原理其实就是从Python的官方源pypi.python.org/pypi 下载到本地&#xff0c;然后解包安装。不过因为某些原因&#xff0c;访问官方的pypi不稳定&#xff0c;很慢甚至有些还时不时的访问不了。 跟 ubuntu 的 apt …