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)

相关推荐
leisoo80973 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
WangYan20223 小时前
基于XGBoost与AI的生态—地学多源数据建模:植被与土地利用识别、土壤碳氮空间预测、生物多样性驱动机制、土壤微生物功能预测、生态退化与风险识别
python·机器学习·xgboost
江畔柳前堤4 小时前
LLM 训练核心机制深度解析:Warmup、Cosine Decay 与 Perplexity 的完整知识体系
网络·人工智能·深度学习·算法·机器学习·语音识别
金銀銅鐵5 小时前
[Python] 借助 turtle 逐字展示唐诗《金缕衣》
python
Python大数据分析@7 小时前
使用大模型MCP采集数据,爬虫已经无门槛
python·网络爬虫
quantdash_cc7 小时前
告别自建 Requests/BS4 网页爬虫:基于 QuantDash 搭建零维保的高性能量化行情流水线
开发语言·爬虫·python·pandas·量化·quantdash
65岁退休Coder8 小时前
LangChain v1.3.4 笔记 - 07 补充:链式调用 LCEL
后端·python·langchain
卷无止境8 小时前
FastAPI 部署在 Nginx 后面到底该怎么配
后端·python
半亩码田8 小时前
C#转Python第3.1篇:Python 的 class 没有访问修饰符?面向对象的另一条路
开发语言·python·c#
Mr.huang9 小时前
自注意力机制(Self‑Attention)
人工智能·深度学习