numpy转tensorflow_pytorch numpy

numpy转tensorflow_pytorch numpy.numpy()和.from_numpy()负责将tensor和numpy中的数组互相转换,共享共同内存,不共享地址torch.tensor()复制数据,但不共享地址#tensor转numpy,共享内存但不共享地址a=torch.ones(5)b=a.numpy()print(a,b)print(id(a)==id(b))a+=1print(a,b)print(id(a)==id(b))b+=1print(a,b)print(id(a)==id(b))”’tensor([1.,

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

.numpy()和.from_numpy()负责将tensor和numpy中的数组互相转换,共享共同内存,不共享地址
torch.tensor()复制数据,但不共享地址

#tensor转numpy,共享内存但不共享地址
a=torch.ones(5)
b=a.numpy()
print(a,b)
print(id(a)==id(b))
a+=1
print(a,b)
print(id(a)==id(b))
b+=1
print(a,b)
print(id(a)==id(b))
''' tensor([1., 1., 1., 1., 1.]) [1. 1. 1. 1. 1.] False tensor([2., 2., 2., 2., 2.]) [2. 2. 2. 2. 2.] False tensor([3., 3., 3., 3., 3.]) [3. 3. 3. 3. 3.] False '''

#numpy'转tenor,同样共享内存
import numpy as np
a=np.ones(5)
b=torch.from_numpy(a)
print(a,b)

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

#torch.tensor复制数据,但是不共享内存
c=torch.tensor(a)
a+=1
print(a,c)
''' [4. 4. 4. 4. 4.] tensor([3., 3., 3., 3., 3.], dtype=torch.float64) '''
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189631.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 电力系统104规约帧报文解析

    电力系统104规约帧报文解析最近被调到电力物联网的项目组,之前一直在做移动终端的我现在在这个项目中得要重新学起了。。~_~!1.电力系统常见概念首先介绍一份ppt:https://wenku.baidu.com/view/557ceb87be23482fb5da4c84.html看着挺好。。。这边文章主要是解释一些电力系统开发中比较常见的概念,也是给自己做个笔记~~~~~~电力系统远动(powersys…

  • SpringBoot登录用户权限拦截器「建议收藏」

    SpringBoot登录用户权限拦截器「建议收藏」1.创建自定义拦截器类并实现HandlerInterceptor接口packagecom.xgf.online_mall.interceptor;importcom.xgf.online_mall.system.domain.User;importlombok.extern.slf4j.Slf4j;importorg.springframework.stereotype.Component;importorg.springframework.web.servlet.Handler

  • c语言:位运算符「建议收藏」

    c语言:位运算符「建议收藏」简介位运算符用来对二进制位进行操作,Java中提供了如下表所示的位运算符:位运算符中,除~以外,其余均为二元运算符。操作数只能为整型和字符型数据。C语言中六种位运算符:&按位与|按位或^按位异或~取反>>右移<<左移运算方法按位与运算按位与运算符”&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。位运算.

  • P2939 [USACO09FEB]改造路Revamping Trails(分层图最短路)「建议收藏」

    P2939 [USACO09FEB]改造路Revamping Trails(分层图最短路)「建议收藏」P2939 [USACO09FEB]改造路Revamping Trails(分层图最短路)

  • JS向数组添加元素,插入数据

    js中对于数组的操作很常见,下面记录一下js向数组添加元素的方法。letmyArray=[11,22,33];console.log(‘原数组:’,myArray);myArray.push(44,55);console.log(‘用push在数组后面插入元素:’,myArray);myArray.unshift(66,77);co…

  • MFC进度条-转

    MFC进度条-转CProgressCtrl 控件属性当我们在处理大程序时,常常需要耗很长时间(比如搜索内存,复制大文件),为了不让用户错误的认为系统已经死机,我们要给程序添加进度条。CProgressC

发表回复

您的电子邮箱地址不会被公开。

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