PCFN

news/2024/11/17 18:57:39/文章来源:https://www.cnblogs.com/plumIce/p/18550901
import torch
import torch.nn as nn
import torch.nn.functional as Fclass PCFN(nn.Module):'''使用带有GELU的激活函数的1*1卷积对扩展的隐藏空间进行跨信道交互。 然后将隐藏特征分割成两块 对其中一块使用3*3卷积核GELU激活函数 编码局部上下文将处理后的结果和另一块合并'''def __init__(self, dim, growth_rate=2.0, p_rate=0.25):super().__init__()hidden_dim = int(dim * growth_rate)p_dim = int(hidden_dim * p_rate)self.conv_0 = nn.Conv2d(dim, hidden_dim, 1, 1, 0)self.conv_1 = nn.Conv2d(p_dim, p_dim, 3, 1, 1)self.act = nn.GELU()self.conv_2 = nn.Conv2d(hidden_dim, dim, 1, 1, 0)self.p_dim = p_dimself.hidden_dim = hidden_dimdef forward(self, x):if self.training:'''split 和 cat操作都会开辟新的内存'''x = self.act(self.conv_0(x))x1, x2 = torch.split(x, [self.p_dim, self.hidden_dim - self.p_dim], dim=1)x1 = self.act(self.conv_1(x1))x = self.conv_2(torch.cat([x1, x2], dim=1))else:'''所有的都是原地操作 更节省内存'''x = self.act(self.conv_0(x))x[:, :self.p_dim, :, :] = self.act(self.conv_1(x[:, :self.p_dim, :, :]))x = self.conv_2(x)return x

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

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

相关文章

Linux 内核如何装载和启动一个可执行程序

张晓攀+原创作品转载请注明出处+《Linux内核分析》MOOC课程https://mooc.study.163.com/course/1000029000 实验七——Linux 内核如何装载和启动一个可执行程序 一、实验过程 1.从github上下载相关代码2.然后用test_exec.c 替换test.c,再重新编译生成根文件系统3.启动调试内核…

java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现

java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现@目录背景说明前言Runtime.exec()常见的几种陷阱以及避免方法陷阱1:IllegalThreadStateException陷阱2:Runtime.exec()可能hang住,甚至死锁陷阱3:不同平台上,命令的兼容性陷阱4:错把Runtime.exec()的…

昆工891数据库系统原理强化课程

--昆工昆明理工大学、计算机技术、人工智能、软件工程、网络空间安全、891计算机专业核心综合、计算机系统结构、计算机软件与理论、网络与信息安全、计算机应用技术、综合程序设计、通信工程、817信号与系统、信号与信息处理、通信与信息系统

第7篇Scrum博客

1.站立式会议 1.1 会议照片1.2 会议内容 昨天已完成的工作: 昨天已基本实现用条形图,折线图,饼图展示数据界面功能。 今天计划完成的工作项目模块 需要实现的功能 负责人 预计用时主界面模块 整合代码,查漏补缺 王伊若 5h主界面模块 主界面设计 王伊若 2h主界面模块 查询界…

Ant Design Vue组件安装

https://www.antdv.com/docs/vue/getting-started-cn

书生共学大模型实战营L1G6000 XTuner微调

任务描述:使用XTuner微调InternLM2-Chat-7B实现自己的小助手认知 该任务分为数据集处理、微调训练、合并部署三个环节。数据处理:主要是将目标json文件中的字段替换为和自己用户名相关的字段,这里我们将“尖米”替换为“科研狗1031”:微调训练:采用教程中的XTuner框架,在…

request to https://registry.npm.taobao.org/ant-design-vue failed, reason: certificate has expire

一、原因分析 其实早在 2021 年,淘宝就发文称,npm 淘宝镜像已经从 http://registry.npm.taobao.org 切换到了 http://registry.npmmirror.com。旧域名也将于 2022 年 5 月 31 日停止服务(直到 HTTPS 证书到期才真正不能用了)2024年1 月 22 日,淘宝原镜像域名(http…

【学校训练记录】11月个人训练赛4个人题解

A题意可以理解为在a,b的范围内如果一个数是某个整数的立方,求与其距离为k的范围内有几个整数的平方数,我们可以对于每个立方数求出其数量,注意边界问题 #include <bits/stdc++.h> #define int long long using namespace std;int a, b, k; void solve(){cin >>…

第六篇Scrum博客

1.站立式会议 1.1 会议照片1.2 会议内容 昨天已完成的工作: 已经完成了账目的查询界面功能,按日期、备注以及收入支出查询等功能。 今天计划完成的工作项目模块 需要实现的功能 负责人 预计用时主界面模块 协助他人完成工作 王伊若 2h主界面模块 分类报告界面 王伊若 3h主界面…

学校个人训练记录

A题意可以理解为在a,b的范围内如果一个数是某个整数的立方,求与其距离为k的范围内有几个整数的平方数,我们可以对于每个立方数求出其数量,注意边界问题 #include <bits/stdc++.h> #define int long long using namespace std;int a, b, k; void solve(){cin >>…

Scrum 冲刺博客-day2

一、每天会议 昨天完成的任务与今天计划完成任务成员 昨天已完成任务 今天计划完成任务董雯霖 组织会议,确立各自工作 用户注册页面陈金星 参会,发表意见 用户登录页面邱列圻 参会,发表意见 用户模块的接口开发李嘉远 参会,发表意见 页面测试詹洛熙 参会,发表意见 接口测试…