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

self.register_buffer方法使用解析(pytorch)

self.register_buffer就是pytorch框架用来保存不更新参数的方法。

列子如下:

self.register_buffer("position_emb", torch.randn((5, 3)))

第一个参数position_emb传入一个字符串,表示这组参数的名字,第二个就是tensor形式的参数torch.randn((5, 3),并一次初始化后保存于模型,不会有梯度传播给它,能被模型的model.state_dict()记录下来,可以理解为模型的常数。当然,你想保留固定值,使用如下代码:

self.register_buffer("position_emb", torch.tensorrt([[2,5],[8,9]]))

进一步探讨训练对该参数是否有影响,答案是:没影响。具体可看下面实现的列子代码:

import torch
from torch.nn import Embeddingclass Model(torch.nn.Module):def __init__(self):super(Model, self).__init__()self.emb = Embedding(5, 3)self.register_buffer("position_emb", torch.randn((5, 3)))def forward(self,vec):input = torch.tensor([0, 1, 2, 3, 4])emb_vec1 = self.emb(input)emb_vec1=emb_vec1+self.position_emboutput = torch.einsum('ik, kj -> ij', emb_vec1, vec)return output
def simple_train():model = Model()vec = torch.randn((3, 1))label = torch.Tensor(5, 1).fill_(3)loss_fun = torch.nn.MSELoss()opt = torch.optim.SGD(model.parameters(), lr=0.015)print('初始化后position_emb参数:\n',model.position_emb)for iter_num in range(100):output = model(vec)loss = loss_fun(output, label)opt.zero_grad()loss.backward(retain_graph=True)opt.step()print('训练后position_emb参数:\n', model.position_emb)if __name__ == '__main__':simple_train()  # 训练与保存权重

实现结果如下:

在这里插入图片描述

相关文章:

self.register_buffer方法使用解析(pytorch)

self.register_buffer就是pytorch框架用来保存不更新参数的方法。 列子如下: self.register_buffer("position_emb", torch.randn((5, 3)))第一个参数position_emb传入一个字符串,表示这组参数的名字,第二个就是tensor形式的参数…...

关于卷积神经网络中如何计算卷积核大小(kernels)

首先需要说明的一点是,虽然卷积层得名于卷积( convolution )运算,但我们通常在卷积层中使用更加直观的计算方式,叫做互相关( cross-correlation )运算。 也就是说,其实我们现在在这里…...

python使用selenium做自动化,最新版Chrome与chromedriver不兼容

目前Chrome版本是118.0.5993.118 下方是版本对应的下载地址: chrome版本118: https://download.csdn.net/download/qq_35845339/88510476 chrome版本119: chromedriverlinux64https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testin…...

算法进阶指南图论 通信线路

通信线路 思路:我们考虑需要升级的那条电缆的花费,若其花费为 w ,那么从 1 到 n 的路径上,至多存在 k 条路径的价值大于 w ,这具有一定的单调性,当花费 w 越大,我们路径上价值大于 w 的花费会越…...

【QEMU-tap-windows-Xshell】QEMU 创建 aarch64虚拟机(附有QEMU免费资源)

“从零开始:在Windows上创建aarch64(ARM64)虚拟机” 前言 aarch64(ARM64)架构是一种现代的、基于 ARM 技术的计算架构,具有诸多优点,如低功耗、高性能和广泛应用等。为了在 Windows 平台上体验…...

strtok函数详解:字符串【分割】的利器

目录 一,strtok函数简介 二,strtok函数的用法 三,strtok函数的注意事项 一,strtok函数简介 strtok函数可以帮助我们将一个字符串按照指定的分隔符进行分割,从而得到我们想要的子字符串。 🍂函数头文件&am…...

winui3开发笔记(二)自定义标题栏

参考文章链接:https://www.programminghunter.com/article/46392310600/ 注意事项 获取 AppWindowTitleBar 的实例并设置其颜色属性时,InitializeTitleBar(AppWindow.TitleBar);,只适用于Windows App SDK 1.2及以上,所以如果用w…...

MapReduce 读写数据库

MapReduce 读写数据库 经常听到小伙伴吐槽 MapReduce 计算的结果无法直接写入数据库, 实际上 MapReduce 是有操作数据库实现的 本案例代码将实现 MapReduce 数据库读写操作和将数据表中数据复制到另外一张数据表中 准备数据表 create database htu; use htu; creat…...

设计模式 -- 状态模式(State Pattern)

状态模式:类的行为基于它的状态改变 属于行为型模式,创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。在代码中包含大量与对象状态有关的条件语句可以通过此模式将各种具体的状态类抽象出来 介绍 意图:允许对象在…...

qt quick发布程序启动失败

qt quick/qml 程序发布之后,程序启动不了 经过探究测试,程序启动的不了的情况下是因为有dll没有添加。在release文件夹下进行发布操作(不单独复制xx.exe拿出来),再次点击IDE的RUN按钮,则会提示有Moudle没有…...

nginx反向代理报错合集

本文汇集了最近在使用nginx反向代理过程中遇到的一系列错误及其解决办法。 1缺乏支持项导致nginx配置错误 在利用sudo ./configure --with-http_ssl_module --with-http_stub_status_module进行配置时,往往会遇到以下类型的错误 error: the HTTP rewrite module …...

【Linux精讲系列】——vim详解

​作者主页 📚lovewold少个r博客主页 ⚠️本文重点:c入门第一个程序和基本知识讲解 👉【C-C入门系列专栏】:博客文章专栏传送门 😄每日一言:宁静是一片强大而治愈的神奇海洋! 目录 目录 ​作者…...

微信小程序自动化采集方案

本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,拒绝转载,若有侵权请联系我删除! 一、引言 1、对于一些破解难度大,花费时间长的目标,我们可以先采用自动化点击触发请求&…...

操作系统第三章王道习题_内存管理_总结易错知识点

1. 静态重定位和动态重定位 静态重定位(可重定位装入):作业在装入内存的时候,就修改它的物理地址. 静态重定位进程数据一旦确定位置,就不能再移动 动态重定位(动态运行时装入):作业装入内存的时候,不修改物理地址,直到运行的时候,根据重定位寄存器再修改地址. 对…...

uniapp刻度尺的实现(swiper)滑动打分器

实现图&#xff08;百分制&#xff09;&#xff1a;滑动swiper进行打分&#xff0c;分数加减 <view class"scoring"><view class"toggle"><view class"score"><text>{{0}}</text><view class"scoreId&quo…...

cordova Xcode打包ios以及发布流程(ionic3适用)

第一步 1、申请iOS证书 2、导入证书到钥匙串 第二步 1、xcode配置iOS证书 1.1用Xcode打开你的项目&#xff08;我的Xcode版本是新版&#xff09; 修改如下图 回到基本信息设置界面&#xff0c;Bundie 这项填写&#xff0c;最先创建的那个appid&#xff0c;跟创建iOS描述文件时选…...

idea中的.idea文件夹以及*.iml文件(新版idea没有*.iml文件了),新旧版idea打开同一个项目会不会出现不兼容

一、背景 我们有可能会在同一台电脑上安装2个 intellj idea。比如一个community edition一个ultimate edition&#xff08;一个安装板一个绿色解压版&#xff09; 当然了&#xff0c;两个idea之间可能版本号也会有差。 这篇文章就来讨论两个问题&#xff0c;一是关于idea产生…...

高性能网络编程 - The C10K problem 以及 网络编程技术角度的解决思路

文章目录 C10KC10K的由来C10K问题在技术层面的典型体现C10K问题的本质C10K解决思路思路一&#xff1a;每个进程/线程处理一个连接思路二&#xff1a;每个进程/线程同时处理多个连接&#xff08;IO多路复用&#xff09;● 实现方式1&#xff1a;直接循环处理多个连接● 实现方式…...

uniapp u-tabs表单如何默认选中

首先先了解该组件&#xff1b;该组件&#xff0c;是一个tabs标签组件&#xff0c;在标签多的时候&#xff0c;可以配置为左右滑动&#xff0c;标签少的时候&#xff0c;可以禁止滑动。 该组件的一个特点是配置为滚动模式时&#xff0c;激活的tab会自动移动到组件的中间位置。 …...

2023年腾讯云双11活动入口在哪里?

2023年双11腾讯云推出了11.11大促优惠活动&#xff0c;下面给大家分享腾讯云双11活动入口、活动时间、活动详情&#xff0c;希望可以助力大家轻松上云&#xff01; 一、腾讯云双11活动入口 活动地址&#xff1a;点此直达 二、腾讯云双11活动时间 腾讯云双11活动时间跨度很长…...

[具身智能-464]:语音识别与语音合成的关键和核心是模型文件,分别阐述它们的输入和输出

在深度学习时代&#xff0c;模型文件&#xff08;通常包含网络结构定义和训练好的权重参数&#xff09;确实是整个系统的灵魂。它就像是经过数年苦读后&#xff0c;存储在人脑中的“知识”和“经验”。没有模型文件&#xff0c;代码只是一堆空壳&#xff1b;有了模型文件&#…...

车载MCU与域控制器数据交互失效全复盘(MCP 2026强制认证倒计时90天)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;MCP 2026车载系统数据交互失效事件全景速览 2024年10月&#xff0c;多家主流新能源车企报告MCP 2026车载通信协议栈在特定CAN FD总线负载场景下出现周期性数据交互中断&#xff0c;表现为T-Box与域控制…...

Inter字体终极指南:如何为数字界面选择完美的开源字体

Inter字体终极指南&#xff1a;如何为数字界面选择完美的开源字体 【免费下载链接】inter The Inter font family 项目地址: https://gitcode.com/gh_mirrors/in/inter Inter字体家族是一款专为现代数字界面设计的开源无衬线字体&#xff0c;凭借其出色的屏幕可读性和精…...

从噪声系数到版图寄生:一个Cascode CG结构LNA的完整设计流程与仿真验证

从噪声系数到版图寄生&#xff1a;一个Cascode CG结构LNA的完整设计流程与仿真验证 在无线通信系统中&#xff0c;低噪声放大器&#xff08;LNA&#xff09;作为接收机前端的第一级有源电路&#xff0c;其性能直接影响整个系统的信噪比。Cascode共栅&#xff08;CG&#xff09;…...

Unity AudioSource播放控制全攻略:从Play到UnPause,新手避坑指南

Unity AudioSource播放控制全攻略&#xff1a;从Play到UnPause&#xff0c;新手避坑指南 在游戏开发中&#xff0c;音频控制是营造沉浸式体验的关键要素之一。Unity的AudioSource组件提供了丰富的音频控制功能&#xff0c;但对于刚接触Unity的新手来说&#xff0c;Play、Stop、…...

用C++玩转数字黑洞495:一个GESP二级考生必会的算法模拟题(附两种解法)

用C玩转数字黑洞495&#xff1a;一个GESP二级考生必会的算法模拟题&#xff08;附两种解法&#xff09; 在CCF-GESP等级考试中&#xff0c;数字黑洞495是一个经典的算法模拟题。这个题目不仅考察了考生对基础编程概念的掌握&#xff0c;还巧妙地融入了数学趣味性。想象一下&…...

终极指南:如何用WarcraftHelper让魔兽争霸III在现代电脑上焕发新生!

终极指南&#xff1a;如何用WarcraftHelper让魔兽争霸III在现代电脑上焕发新生&#xff01; 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典…...

AWS开源多智能体协作框架agent-squad:构建AI特工小队实现复杂任务自动化

1. 项目概述&#xff1a;当AI智能体组成“特工小队”如果你最近在关注AI应用开发的前沿动态&#xff0c;那么“智能体”&#xff08;Agent&#xff09;这个词一定不会陌生。它不再是科幻电影里的概念&#xff0c;而是指那些能够理解目标、使用工具、并自主执行复杂任务的AI程序…...

图记忆技术解析:从概念到实践,构建智能知识网络

1. 项目概述&#xff1a;图记忆库的兴起与价值最近在整理自己的知识库和项目笔记时&#xff0c;发现了一个很有意思的现象&#xff1a;无论是代码库的依赖关系、论文之间的引用网络&#xff0c;还是日常任务之间的逻辑链条&#xff0c;本质上都是一种图结构。传统的笔记工具或向…...

百度网盘直链解析终极指南:告别限速,实现高速下载的简单方法

百度网盘直链解析终极指南&#xff1a;告别限速&#xff0c;实现高速下载的简单方法 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾经面对百度网盘的下载速度限制感到…...