tensor 和 numpy 的互相转换

tensor 和 numpy 的互相转换为什么要相互转换:1.要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下面一个小程序讲述了将tensor转化为numpy数组,以及又重新还原为tensor:2.Torch的Tensor和numpy的array会共享他们的存储空间,修改一个会导致另外的一…

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

Jetbrains全系列IDE稳定放心使用

为什么要相互转换:

简单一句话, numpy操作多样, 简单. 但网络前向只能是tensor类型, 各有优势, 所以需要相互转换补充.

# convert Tensor x of torch to array y of  numpy: 
y = x.numpy();

# convert array x of  numpy to Tensor y of torch: 
y = torch.from_numpy(x)

# 先将数据转换成Tensor, 再使用CUDA函数来将Tensor移动到GPU上加速

如果想把CUDA tensor格式的数据改成numpy时,需要先将其转换成cpu float-tensor随后再转到numpy格式。 

x_np = x.data.numpy()

# 改为:

x_np = x.data.cpu().numpy()

# 或者兼容上面两者的方式
x_np = x.detach().cpu().numpy() if x.requires_grad else x.cpu().numpy()

参考1:https://blog.csdn.net/ljs_a/article/details/78758116 

参考2:https://blog.csdn.net/u012436149/article/details/54627597

参考3:https://blog.csdn.net/weixin_39449466/article/details/80410314

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • ICO身份核实KYC

    ICO身份核实KYC

    2021年6月11日
    104
  • 三阶贝塞尔曲线_三阶贝塞尔曲线公式

    三阶贝塞尔曲线_三阶贝塞尔曲线公式目的:使用L-Edit绘制DC耦合器版图其中的弯曲部分就是基于贝塞尔曲线画出来的。长这样↓使用语言:C语言写了两个版本。一个是基于L-edit平台的版本,一个是基于VS平台版本(我的是2017版)。这里说下VS的版本,不过VS里我就没有费心画出来了,只是列出了坐标来验证我L-Edit里面版图的正确性。贝塞尔曲线是个啥可参考这篇:点击打开链接简言之我们要画的三阶贝塞尔曲线就是通过四个点来拟合一条曲线…

    2022年9月19日
    3
  • 不平衡数据处理之SMOTE、Borderline SMOTE和ADASYN详解及Python使用

    不平衡数据处理之SMOTE、Borderline SMOTE和ADASYN详解及Python使用  不平衡数据在金融风控、反欺诈、广告推荐和医疗诊断中普遍存在。通常而言,不平衡数据正负样本的比例差异极大,如在Kaggle竞赛中的桑坦德银行交易预测和IEEE-CIS欺诈检测数据。对模型而言,不均衡数据构建的模型会更愿意偏向于多类别样本的标签,实际应用价值较低,如下图所示,为在不均衡数据下模型预测的概率分布。  不平衡数据的处理方法,常见方法有欠采样(under-sampling)和过采样(…

    2025年8月25日
    14
  • Android NDK location无法配置?

    Android NDK location无法配置?

    2021年10月2日
    74
  • Ubuntu下安装cuda_Ubuntu下KDE的安装删除

    Ubuntu下安装cuda_Ubuntu下KDE的安装删除Ubuntu下安装CUDA、cuDNN;多版本安装

    2022年9月23日
    2
  • 什么叫大数据 大数据的概念

    什么叫大数据 大数据的概念1、大数据定义 对于“大数据”(Bigdata)研究机构Gartner给出了定义,“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工

    2022年5月4日
    62

发表回复

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

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