返回顶部
首页 > 资讯 > 后端开发 > Python >pytorch中函数tensor.numpy()的数据类型解析
  • 552
分享到

pytorch中函数tensor.numpy()的数据类型解析

2024-04-02 19:04:59 552人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录函数tensor.numpy()的数据类型tensor数据和numpy数据转换中注意的一个问题函数tensor.numpy()的数据类型 今天写代码的时候,要统计一下标签数据里出

函数tensor.numpy()的数据类型

今天写代码的时候,要统计一下标签数据里出现的类别总数和要分类的分类数是不是一致的。

我的做法是把tensor类型的数据转变成list,然后用Counter函数做统计。

代码如下:

from collections import Counter
List_counter = Counter(List1)
#List1就是待统计的数据,是一维的列表。生成的List_counter是一个字典,键是数据,
#对应的值是数据出现的频率

在做这个统计的时候,突然发现,我的数据是float的类型,这是不应该出现的,因为标签数据在处理的时候都是整型数据。

经过一番查找后,发现是tensor.numpy()返回值数据类型的原因。这个函数的返回值是float类型的

tensor数据和numpy数据转换中注意的一个问题

PyTorch中,把numpy.array数据转换到张量tensor数据的常用函数是torch.from_numpy(array)或者torch.Tensor(array)

第一种函数更常用,然而在pytorch0.4中已经舍弃了这种函数

下面一个简单的编程实验说明这两种方法的区别

实验在pytorch0.4框架下进行

运行程序之后,结果是

可以看出修改数组a的元素值,张量b的元素值也改变了,但是张量c却不变。

修改张量c的元素值,数组a和张量b的元素值都不变。

这说明torch.from_numpy(array)是做数组的浅拷贝,torch.Tensor(array)是做数组的深拷贝

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: pytorch中函数tensor.numpy()的数据类型解析

本文链接: https://lsjlt.com/news/119351.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作