如何为荆州网站建设514885优化用户登录体验?
摘要:荆州网站建设514885,在网站开发中如何设置用户登录,微网站的图标怎么做,德州百度推广公司前言 pytorch中的动态图机制是pytorch这门框架的优势所在,阅读本篇博客可以使我们对动态图机制以及静态图机制
荆州网站建设514885,在网站开发中如何设置用户登录,微网站的图标怎么做,德州百度推广公司前言
pytorch中的动态图机制是pytorch这门框架的优势所在#xff0c;阅读本篇博客可以使我们对动态图机制以及静态图机制有更直观的理解#xff0c;同时在博客的后半部分有关于逻辑回归的知识点#xff0c;并且使用pytorch中张量以及张量的自动求导进行构建逻辑回归模型。 …前言
pytorch中的动态图机制是pytorch这门框架的优势所在阅读本篇博客可以使我们对动态图机制以及静态图机制有更直观的理解同时在博客的后半部分有关于逻辑回归的知识点并且使用pytorch中张量以及张量的自动求导进行构建逻辑回归模型。
计算图
计算图是用来描述运算的有向无环图
计算图有两个主要元素:节点Node和边Edge
节点表示数据如向量矩阵张量边表示运算如加减乘除卷积等。
用计算图表示y (xw)*(w1)
a x wb w 1y a * b
采用计算图进行计算的好处
它不仅仅能够让我们的运算更加简洁更重要的作用是使得梯度求导更方便 我们可以用pytorch模拟这个过程
import torch# 创建w和x两个节点
w torch.tensor([1.],requires_gradTrue)
x torch.tensor([2.],requires_gradTrue)a torch.add(w,x)
b torch.add(w,1)
y torch.mul(a,b)y.backward() # 调用反向传播 梯度求导
print(w.grad) # tensor([5.])叶子节点
用户创建的节点称为叶子节点 上述代码创建的w和x 就是叶子节点 is_leaf:知识张量是否为叶子结点
只有叶子节点能输出梯度 因为非叶子节点在计算之后的梯度会自动回收
import torch# 创建w和x两个节点
w torch.tensor([1.],requires_gradTrue)
x torch.tensor([2.],requires_gradTrue)a torch.add(w,x)
b torch.add(w,1)
y torch.mul(a,b)# y.backward() # 调用反向传播 梯度求导
# print(w.grad)
print(w.is_leaf,x.is_leaf,a.is_leaf,b.is_leaf,y.is_leaf)输出
True True False False False输出非叶子节点的梯度的方法
在非叶子节点创建之后执行.retain_grad()命令
import torch# 创建w和x两个节点
w torch.tensor([1.],requires_gradTrue)
x torch.tensor([2.],requires_gradTrue)a torch.add(w,x)
a.retain_grad()
b torch.add(w,1)
y torch.mul(a,b)y.backward() # 调用反向传播 梯度求导
# print(w.grad)
# print(w.is_leaf,x.is_leaf,a.is_leaf,b.is_leaf,y.is_leaf)
print(w.grad,a.grad) # tensor([5.]) tensor([2.])grad_fn:记录创建该张量时所用的方法
print(y.grad_fn,a.grad_fn,b.grad_fn)
# 输出
# MulBackward0 object at 0x0000026458E32CA0
# AddBackward0 object at 0x0000026458DA2670
# AddBackward0 object at 0x0000026458DA20D0动态图与静态图
在计算图中根据搭建方式的不同可以将计算图分为动态图和静态图。 动态图的优点灵活、易调节 静态图的优点高效 静态图的缺点不灵活
pytorch中的自动求导系统autograd
torch.autograd
梯度的计算在模型训练中是十分重要的然而梯度的计算十分的繁琐所以pytorch提供了一套自动求导的系统我们只需要手动搭建计算图pytorch就能帮我们自动求导。
