#梯度相关用法,了解即可
x = torch.tensor(3.0)
x.requires_grad_(True)
y = x ** 2
y.backward()
print(x.grad)
x = x.detach() # 把x从张量网上摘下来,后续不能再计算梯度了,但是可以再赋值
x.grad = torch.tensor(1.0) # 张量网上梯度会累加计算,在计算y2的梯度时,要消除y对x的梯度值
y2 = x ** 2
y2.backward() # 在detach()后使用会报错
print(x.grad)
#创建张量
tensor1 = torch.ones((100, 4)) # 创建一个值全是1的张量
tensor2 = torch.zeros((10, 4)) # 创建一个值全是0的张量
tensor3 = torch.normal(0, 0.01, (10, 4)) # 平均数,方差,形状 创建一个基于正太分布的张量
print(tensor3)
#张量求和
tensor1 = torch.ones((10, 4))
print(tensor1)
sum1 = torch.sum(tensor1) #把所有元素求和
print(sum1)
sum1 = torch.sum(tensor1, dim=0) # 竖着每行加
sum2 = torch.sum(tensor1, dim=1, keepdim=True) #横着每列加,保持原来的形状输出
print(sum2)
#张量形状
print(tensor1.shape)
tensor使用
于 2025-02-19 15:41:12 首次发布
1691

被折叠的 条评论
为什么被折叠?



