深度学习框架pytorch:tensor.data和tensor.detach()的区别

本文重点

本文我们区别一下tensor.data和tensor.detach(),我们所讲解的都是pytorch的1.0版本的情况

官方解释

返回一个新的张量,它与当前图形分离。结果永远不需要梯度。返回的张量与原始张量共享相同的存储空间。将看到对其中任何一个的就地修改,并且可能在正确性检查中触发错误。

代码一

import torch
a=torch.full([8],1,requires_grad=True)
b=a.data
c=a.detach()
print(a)
print(b)
print(c)

我们可以看到a.data和a.detach()都可以取出tensor的值,不同的是原来的tensor是requires_grad=True,而b,c都是requires_grad=False,也就是原来的可以求梯度,而之后的不可以求梯度

二者的区别

data

import torch
a = torch.tensor([1,2,3.], requires_grad =True)
out=a.sigmoid()
c=out.data
c.zero_()
print(c)
print(out)
out.sum().backward()
print(a.grad)

相关推荐

  1. 深度学习机器学习区别

    2024-04-25 05:54:09       57 阅读
  2. 机器学习深度学习区别

    2024-04-25 05:54:09       44 阅读
  3. 深度学习强化学习区别

    2024-04-25 05:54:09       46 阅读
  4. 深度学习、机器学习神经网络之间区别

    2024-04-25 05:54:09       46 阅读
  5. 深度学习框架PyTorch介绍安装方法

    2024-04-25 05:54:09       54 阅读
  6. 深度学习框架TensorFlowPyTorch选取

    2024-04-25 05:54:09       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 05:54:09       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 05:54:09       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 05:54:09       82 阅读
  4. Python语言-面向对象

    2024-04-25 05:54:09       91 阅读

热门阅读

  1. python安装第三方包

    2024-04-25 05:54:09       34 阅读
  2. 搭建最新tensorflow 与pytorch环境

    2024-04-25 05:54:09       37 阅读
  3. 本地wsl的Ubuntu安装docker,不使用docker桌面版

    2024-04-25 05:54:09       38 阅读
  4. spring的扩展接口

    2024-04-25 05:54:09       37 阅读
  5. python实现爬虫例子2

    2024-04-25 05:54:09       27 阅读
  6. 十八、QGIS的作用和下载

    2024-04-25 05:54:09       38 阅读
  7. pandas保存dict字段再读取成DataFrame

    2024-04-25 05:54:09       32 阅读