Tensor和NumPy相互转换「建议收藏」

Tensor和NumPy相互转换我们很容易用numpy()和from_numpy()将Tensor和NumPy中的数组相互转换。但是需要注意的一点是:这两个函数所产生的Tensor和NumPy中的数组共享相同的内存(所以他们之间的转换很快),改变其中一个时另一个也会改变!1.Tensor转NumPya=torch.ones(6)b=a.numpy()print(a,b)a+=1print(a,b)b+=1print(a,b)tensor([1.,1.

大家好,又见面了,我是你们的朋友全栈君。

Tensor和NumPy相互转换

我们很容易用numpy()from_numpy()Tensor和NumPy中的数组相互转换。但是需要注意的一点是: 这两个函数所产生的TensorNumPy中的数组共享相同的内存(所以他们之间的转换很快),改变其中一个时另一个也会改变!

1. Tensor转NumPy

a = torch.ones(6)
b = a.numpy()
print(a, b)

a += 1
print(a, b)
b += 1
print(a, b)
tensor([1., 1., 1., 1., 1., 1.]) [1. 1. 1. 1. 1. 1.]
tensor([2., 2., 2., 2., 2., 2.]) [2. 2. 2. 2. 2. 2.]
tensor([3., 3., 3., 3., 3., 3.]) [3. 3. 3. 3. 3. 3.]

2. NumPy数组转Tensor

import numpy as np
a = np.ones(7)
b = torch.from_numpy(a)
print(a, b)

a += 1
print(a, b)
b += 1
print(a, b)
[1. 1. 1. 1. 1. 1. 1.] tensor([1., 1., 1., 1., 1., 1., 1.], dtype=torch.float64)
[2. 2. 2. 2. 2. 2. 2.] tensor([2., 2., 2., 2., 2., 2., 2.], dtype=torch.float64)
[3. 3. 3. 3. 3. 3. 3.] tensor([3., 3., 3., 3., 3., 3., 3.], dtype=torch.float64)

3. torch.tensor()将NumPy数组转换成Tensor

直接用torch.tensor()NumPy数组转换成Tensor,该方法总是会进行数据拷贝,返回的Tensor和原来的数据不再共享内存。

import numpy as np
a = np.ones((2,3))
c = torch.tensor(a)
a += 1
print('a:',a)
print('c:',c)
print(id(a)==id(c))
a: [[2. 2. 2.]
 [2. 2. 2.]]
c: tensor([[1., 1., 1.],
        [1., 1., 1.]], dtype=torch.float64)
False
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125276.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MATLAB 绘制折线图

    MATLAB 绘制折线图MATLAB绘制折线图想要绘制出如上图所示折线图,首先,先展示代码:x=0:10:50;a=[0,1.80,7.60,17.40,31.20,49.00]plot(x,a,’s-g’,’MarkerSize’,2,’MarkerFaceColor’,’g’,’MarkerEdgeColor’,’g’,’LineWidth’,2);gridb=[0,1.10,4.20,9.30,1…

    2022年6月14日
    51
  • AndroidO(8.0) 和 Android P(9.0)

    大早上躺床上就索性百度了下p和o发现百度百科的说明还是很简洁易懂的2017年8月22日,谷歌正式发布了Android8.0的正式版,其正式名称为:AndroidOreo(奥利奥) 。奥利奥版安卓的聚焦重点是电池续航能力、速度和安全,让用户更好地控制各种应用程序,加大了对App在后台操作的限制。这种限制在一定程度上延长了安卓机在“睡眠”(Doze)模式下的电池的续航能力,它让不在使用的App进…

    2022年4月7日
    42
  • 微信小程序宠物论坛2[通俗易懂]

    微信小程序宠物论坛2[通俗易懂]微信小程序宠物论坛2发帖模块界面展示填写标题、内容和选择图片之后,点击确定图片,然后点击发布即可。JS部分//import{promisify}from’../../utils/promise.util’import{$init,$digest}from’../../utils/common.util’//constwxUploadFile=promisify(wx.cloud.uploadFile)constdb=wx.cloud.databa

    2022年10月7日
    3
  • python爬虫入门教程(二):开始一个简单的爬虫

    python爬虫入门教程(二):开始一个简单的爬虫python爬虫入门教程,介绍编写一个简单爬虫的过程。

    2022年6月7日
    46
  • 设备树 dtb结构

    设备树 dtb结构dtb 结构由一个小的报头和三个大小可变的部分组成 内存预留块 结构块和字符串块 这些应该按这个顺序出现在扁平的设备树中 因此 设备树结构作为一个整体 当以地址载入内存时 将类似于下图的图 较低的地址位于图的顶部 注 内存预留块可能不存在 尽管在某些情况下可能需要它们来满足单个块的对齐约束 自格式的原始定义以来 已经定义了几种扁平设备树结构的版本 报头中的字段给出了版本 以便客户端程序可以确定设备树是否以兼容的格式编码 本文档仅描述 17 版的格式 兼容 DTSpec 的引导程

    2025年6月22日
    3
  • github加速插件

    github加速插件在chrome或edge的插件库里搜索github加速,安装后访问github,和在github上下东西都很快

    2025年6月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号