Torch截断一部分后是否能梯度回传

复制代码
import torch

from torch import optim 
import torch.nn as nn
 
 
class g(nn.Module):
    def __init__(self):
        super(g, self).__init__()
        self.k = nn.Conv2d(in_channels=2, out_channels=1, kernel_size=1, padding=0, bias=False)
 
    def forward(self, z):
        return self.k(z)

 
 
c = 2
h = 5
w = 5
z = torch.rand( (1,c , h , w)).float().view(1, c, h, w)*100
z.requires_grad = True
k = g()

optim = optim.Adam(k.parameters(), lr=1)
optim.zero_grad()
r = k(z)
r= r[:,:,:3,:3]
r = r.sum()
loss = (r - 1) * (r - 1)

for name,v in k.named_parameters():
    print(name,v) 
print(z)
print("*********************")
 
loss.backward()
optim.step()
for name,v in k.named_parameters():
    print(name,v) 
print(z)

输出:

tensor([[[[-0.0464]],

\[ 0.4256\]\]\]\], requires_grad=True) tensor(\[\[\[\[65.6508, 65.0099, 38.5205, 78.4769, 31.6377\], \[27.1530, 5.7923, 23.9614, 59.5419, 3.5597\], \[69.9373, 29.7657, 91.4004, 85.5130, 65.2210\], \[62.6357, 23.9004, 95.3394, 59.5155, 48.1762\], \[98.7728, 97.2193, 66.3625, 65.0421, 22.0612\]\], \[\[19.3582, 2.4226, 47.2068, 20.1124, 31.9324\], \[23.4966, 5.0654, 12.4682, 35.3092, 90.3394\], \[ 8.4709, 91.5994, 79.7592, 93.8652, 92.6337\], \[49.0805, 63.9460, 81.2459, 63.4729, 77.1670\], \[17.8333, 18.6162, 44.9271, 44.8790, 3.6609\]\]\]\], requires_grad=True) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* k.weight Parameter containing: tensor(\[\[\[\[-1.0464\]\], \[\[-0.5744\]\]\]\], requires_grad=True) tensor(\[\[\[\[65.6508, 65.0099, 38.5205, 78.4769, 31.6377\], \[27.1530, 5.7923, 23.9614, 59.5419, 3.5597\], \[69.9373, 29.7657, 91.4004, 85.5130, 65.2210\], \[62.6357, 23.9004, 95.3394, 59.5155, 48.1762\], \[98.7728, 97.2193, 66.3625, 65.0421, 22.0612\]\], \[\[19.3582, 2.4226, 47.2068, 20.1124, 31.9324\], \[23.4966, 5.0654, 12.4682, 35.3092, 90.3394\], \[ 8.4709, 91.5994, 79.7592, 93.8652, 92.6337\], \[49.0805, 63.9460, 81.2459, 63.4729, 77.1670\], \[17.8333, 18.6162, 44.9271, 44.8790, 3.6609\]\]\]\], requires_grad=True)

相关推荐
AI大模型测试6 分钟前
大龄程序员想转行到AI大模型,好转吗?
人工智能·深度学习·机器学习·ai·语言模型·职场和发展·大模型
ProcessOn官方账号9 分钟前
程序员如何与同龄人拉开差距?这5张让你快速提升认知,打开格局!
深度学习·职场和发展·学习方法
测试秃头怪11 分钟前
面试大厂就靠这份软件测试八股文了【含答案】
自动化测试·软件测试·python·功能测试·面试·职场和发展·单元测试
测试杂货铺12 分钟前
软件测试面试题大全,你要的都在这。。
自动化测试·软件测试·python·功能测试·面试·职场和发展·测试用例
测试大圣13 分钟前
软件测试基础知识总结(超全的)
软件测试·python·功能测试·测试工具·职场和发展·单元测试·测试用例
sww_102625 分钟前
RAG检索增强 ETL最佳实战
人工智能·python·spring
童话名剑41 分钟前
序列模型与集束搜索(吴恩达深度学习笔记)
人工智能·笔记·深度学习·机器翻译·seq2seq·集束搜索·编码-解码模型
福大大架构师每日一题1 小时前
ComfyUI v0.11.1正式发布:新增开发者专属节点支持、API节点强化、Python 3.14兼容性更新等全方位优化!
开发语言·python
金融小师妹2 小时前
基于LSTM-GARCH-EVT混合模型的贵金属极端波动解析:黄金白银双双反弹的逻辑验证
大数据·人工智能·深度学习·机器学习
陈天伟教授2 小时前
人工智能应用- 语言理解:01. 写作与对话
人工智能·深度学习·语音识别