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

上海网站建设找哪家整套html企业网站模板

上海网站建设找哪家,整套html企业网站模板,wordpress 调用子分类,凡科快图免费版商用基础概念汇总 Tensor是 torch.autograd中的数据类型#xff0c;主要用于封装 Tensor#xff0c;进行自动求导。 grad : data的梯度grad_fn : 创建 Tensor的 Function#xff0c;是自动求导的关键requires_grad#xff1a;指示是否需要梯度is_leaf : 指示是否是叶子结点 …基础概念汇总 Tensor是 torch.autograd中的数据类型主要用于封装 Tensor进行自动求导。 grad : data的梯度grad_fn : 创建 Tensor的 Function是自动求导的关键requires_grad指示是否需要梯度is_leaf : 指示是否是叶子结点 PyTorch张量可以记住它们来自什么运算以及其起源的父张量并且提供相对于输入的导数链。你无需手动对模型求导不管如何嵌套只要你给出前向传播表达式PyTorch都会自动提供该表达式相对于其输入参数的梯度。 当设置.requires_grad True之后在其上进行的各种操作就会被记录下来它将开始追踪在其上的所有操作从而利用链式法则进行梯度传播。任何以tensor为祖先的张量都可以访问从tensor到该张量所调用的函数链。如果这些函数是可微的大多数PyTorch张量运算都是可微的则导数的值将自动存储在参数张量的grad属性中。 完成计算后可以调用.backward()来完成所有梯度计算。沿着整个函数链即计算图计算损失的导数。此Tensor的梯度将累积到.grad属性中。调用backward会导致导数值在叶节点处累积。所以将其用于参数更新后需要将梯度显式清零。 if params.grad is not None:params.grad.zero_()但是如果中间加载了不支持梯度的操作就会发生梯度断流。这在自己写模型时候时常发生会导致模型无法求导。例如在求loss时使用pil、cv2的库导致无法反向传播。后面即使手动打开也没有用梯度流不能被中断。或者自己写了transform函数调用官方不支持grad_fn的函数也会导致这样的问题。 如果不想要被继续追踪可以调用.detach()将其从追踪记录中分离出来可以防止将来的计算被追踪这样梯度就传不过去了。此外还可以用with torch.no_grad()将不想被追踪的操作代码块包裹起来这种方法在评估模型的时候很常用因为在评估模型时我们并不需要计算可训练参数requires_gradTrue的梯度。 深入 autograd 机制 Autograd 是一种反向自动微分系统。从概念上讲 autograd 记录了一个图表记录了创建的所有操作 执行操作时的数据。提供有向无环图 其叶子是输入张量根是输出张量。 在内部autograd 将该图表示为 Function 对象真正的表达式可以是 apply() 编辑计算结果 评估图表。计算前向传播时autograd 同时执行请求的计算并构建图表 表示计算梯度的函数.grad_fn 每个 torch.Tensor 的属性都是该图的入口点。 当前向传递完成后我们在 向后传递以计算梯度。 需要注意的重要一点是该图每次都会从头开始重新创建 迭代这正是允许使用任意 Python 控件的原因 流语句可以改变图形的整体形状和大小 每次迭代。您不必先对所有可能的路径进行编码 启动培训——你跑什么你就与众不同。 拓展torch https://pytorch.org/docs/stable/notes/extending.html 想在模型中执行计算请实现自定义函数 不可微分或依赖于非 PyTorch 库例如 NumPy。如果想让操作能够与其他操作链接并使用 autograd 引擎就得使用自定义函数。 自定义函数也可用于提高性能和 内存使用情况如果您使用 C 扩展, 您可以将它们包装在 Function 中以与 autograd 交互 引擎。如果您想减少为向后传递保存的缓冲区数量 自定义函数可用于将操作组合在一起。 第 1 步子类化Function后您需要定义 3 个方法 forward() 是执行该操作的代码。它可以需要 你想要多少个参数其中一些是可选的如果你 指定默认值。这里接受所有类型的 Python 对象。 Tensor 跟踪历史记录的参数即 requires_gradTrue将被转换为不跟踪历史记录的内容 在调用之前它们的使用将被记录在图表中。请注意这 逻辑不会遍历列表/字典/任何其他数据结构只会 考虑作为调用的直接参数的张量。你可以 返回单个 Tensor 输出或 tuple 张量如果有多个输出。另外请参阅 Function 的文档来查找有用方法的描述这些方法可以 仅从 forward() 调用。 setup_context()可选。人们可以写一个“组合”forward() 接受一个 ctx 对象或从 PyTorch 2.0 开始一个单独的 forward() 不接受 ctx 和发生 修改的 setup_context() 方法。 应该具有计算能力 应该具有 只负责修改并且不进行任何计算。 一般来说单独的 和 更接近于如何 PyTorch 本机操作可以工作因此更适合与各种 PyTorch 子系统组合。 请参阅组合或单独的forward() 和setup_context()了解更多详情。ctxforward()setup_context()ctxforward()setup_context() backward()或vjp()定义渐变公式。 它将给出与输出一样多的 Tensor 参数每个参数 其中代表梯度 w.r.t.那个输出。重要的是永远不要修改 这些就地。它应该返回尽可能多的张量 是输入每个输入都包含梯度 w.r.t.它是 相应的输入。如果您的输入不需要梯度 (needs_input_grad 是一个布尔值元组表示 每个输入是否需要梯度计算或者是非Tensor 对象您可以返回python:None。另外如果您有可选的 forward() 的参数你可以返回比那里更多的梯度 都是输入只要它们都是 None。 第 2 步使用 ctx 中的功能 正确地确保新的 Function 能够正常工作 autograd 引擎。 save_for_backward() 必须是 用于保存向后传递中使用的任何张量。非张量应该 直接存储在ctx上。如果张量既不是输入也不是输出 保存为向后您的 Function 可能不支持双向后 参见步骤 3。 mark_dirty()必须习惯于 标记由转发函数就地修改的任何输入。 mark_non_differentiable()必须 用于告诉引擎输出是否不可微。经过 默认所有可微分类型的输出张量都会被设置 要求梯度。不可微类型的张量即整数类型 从未被标记为需要渐变。 set_materialize_grads()可 用于告诉 autograd 引擎在以下情况下优化梯度计算 通过不具体化给予向后的梯度张量输出不依赖于输入 功能。也就是说如果设置为 False则 Python 中的 None 对象或“未定义张量”张量 x 为 C 中的 x.define() 为 False) 不会转换为先用零填充的张量 向后调用因此您的代码将需要处理此类对象就好像它们是 张量用零填充。此设置的默认值为 True。 Step 3: If your Function does not support double backward you should explicitly declare this by decorating backward with the once_differentiable(). With this decorator, attempts to perform double backward through your function will produce an error. See our double backward tutorial for more information on double backward. 验证 使用torch.autograd.gradcheck() 检查你的后向函数是否正确计算了 通过使用后向函数计算雅可比矩阵来向前推进 将值按元素与使用数值计算的雅可比行列式进行比较 有限差分。 reference https://github.com/ShusenTang/Deep-Learning-with-PyTorch-Chinese/blob/master/docs/chapter4/4.2.mdhttps://tianchi.aliyun.com/forum/post/336073 https://pytorch.org/docs/stable/notes/extending.html https://pytorch.org/tutorials/advanced/cpp_extension.html https://pytorch.org/docs/stable/notes/autograd.html https://pytorch.org/docs/stable/generated/torch.autograd.Function.backward.html#torch.autograd.Function.backward
http://www.sadfv.cn/news/180744/

相关文章:

  • .net开发的大型网站哪家卖的wordpress主题好
  • 自然景观网站模板网络推广客户渠道
  • 网站备案更换主体企业网站建设方案书范本
  • 网站建设与网页设计教程网页界面分析及设计布局
  • 网络营销网站的建设与策划国外做免费的视频网站
  • 网站建设的网站理财网站开发文档
  • 做网站怎么切psd图河南网站排名优化价格
  • 买外链网站wordpress分类网站
  • php做网站的公司有哪些营销策划思路及方案
  • wordpress插件修改端点seo博客
  • 遵义市网站制作电子商务的网站建设
  • 网站死链接提交中国制造网外贸网站
  • 专业网站建设设计公司官方网站平台下载
  • 金龙网站哪里建设的软件定制开发多少钱
  • 桂林商品房做民宿在哪个网站登记好学网页制作的网站
  • 深圳网站建设网站推广方案免费seo教程资源
  • 马来西亚做公路投标网站桥梁建设设计网站
  • 古楼角网站建设wordpress重定向seo
  • 福建省网站建设有限公司建网站制作
  • 网站建立初步教案门户网站建设与运行
  • 有哪些做废品的网站网页制作工具手机版
  • wordpress自带gallery百度推广优化师是什么
  • 网站SEO基础代做现在还有企业要建网站吗
  • 青海网站建设与制作住房与建设部网站
  • 突唯阿 领先的响应式网站建设平台个人装修队
  • 织梦商业网站内容管理系统百度识图搜索
  • 寻找赣州网站建设广东企业微信网站开发
  • 单网页网站wordpress 博客 很慢
  • 用php做网站要用什么软件优惠券网站做代理怎么样
  • 设计网站架构怎么创网址