Tensor 和 NumPy 相互转换

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.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Tensor 和 NumPy 相互转换

我们很容易用numpy()from_numpy()TensorNumPy中的数组相互转换。但是需要注意的一点是: 这两个函数所产生的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/180185.html原文链接:https://javaforall.net

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


相关推荐

  • stm32蓝牙模块控制小车_51单片机蓝牙控制小车

    stm32蓝牙模块控制小车_51单片机蓝牙控制小车STM32库函数开发系列文章目录第一篇:STM32F103ZET6单片机双串口互发程序设计与实现第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案文章目录STM32库函数开发系列文章目录前言一、最简单DIY基于STM32单片机的蓝牙智能小车设计方案是什么?二、使用步骤1.准备硬件2.准备一个串口通信的代码3.修改源码三、运行与调试总结前言    daodanjishui物联网核心原创技术之最简单DIY基于STM32单片机的蓝牙智能小车设计方案。    市面上有各种开源STM3

    2022年10月10日
    0
  • matlab多重比较lsd法,多重比较法-LSD I 附赠统计学最全思维导图~[通俗易懂]

    matlab多重比较lsd法,多重比较法-LSD I 附赠统计学最全思维导图~[通俗易懂]原标题:多重比较法-LSDI附赠统计学最全思维导图~文末附赠统计学最全干货导图~前面我们讲了方差分析,方差分析主要是用于多组均值比较的,方差分析的结果是多组均值之间是否有显著性差异,但是这个显著性差异是整体的显著性差异,可是我们并不知道具体是哪些组之间有显著性差异。所以就有了我们今天的多重比较,目的就是为了获取具体哪些组之间有显著差异。多重比较法方法有很多种,这篇主要介绍一下比较常用的一种LS…

    2022年6月5日
    25
  • Java中System.setProperty()用法

    Java中System.setProperty()用法/* *设置指定键对值的系统属性 *setProperty(Stringprop,Stringvalue); *  *参数: *prop-系统属性的名称。 *value-系统属性的值。   *  *返回: *系统属性以前的值,如果没有以前的值,则返回null。 *  *抛出:   *SecurityExceptio

    2022年7月12日
    74
  • 实现数组转对象(reduce)「建议收藏」

    实现数组转对象(reduce)「建议收藏」//数组转对象letarr=[{id:1,name:’张三’},{id:2,name:’李四’},{id:3,name:’王五’}];lettransToObj=function(arr){if(!Array.isArray(arr))throw’参数错误’;returnarr.reduce((pre,cur,index,arr)=>{…

    2022年9月11日
    0
  • 过程控制系统与仪表pdf_计算机控制技术课程设计之炉温

    过程控制系统与仪表pdf_计算机控制技术课程设计之炉温目录一课程设计内容任务,,,,,,,,,,,,,,,,,,,,,,3二对课设任务的解读,,,,,,,,,,,,,,,,,,,,,,3三系统结构模型框图,,,,,,,,,,,,,,,,,,,,,,3四各部分程序流程图,,,,,,,,,,,,,,,,,,,,,,4五数字控制器设计,,,,,,,,,,,,,,,,,,,,,,5六系统仿真,,,,,,,,,,,,,,,,,,,…

    2022年9月29日
    0
  • win10 1分钟自动重启_windows7一分钟后自动重启

    win10 1分钟自动重启_windows7一分钟后自动重启前言Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。此时,我们只需网上找一个注册码即可解

    2022年7月31日
    3

发表回复

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

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