numpy array转tensor

本文介绍了如何使用torch.tensor创建张量,比较了torch.tensor、torch.as_tensor和torch.from_numpy之间的差异,重点讲解了数据类型、拷贝行为以及ToTensor函数的特性。适合理解PyTorch中张量操作和数据处理的初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 torch.tensor(data*dtype=Nonedevice=Nonerequires_grad=Falsepin_memory=False  

最推荐

数据类型:和输入相同,可以使用dtype改变数据类型

拷贝类型:总是深拷贝;  如果数据为tensor,不想拷贝,使用torch.Tensor.requires_grad_() or torch.Tensor.detach()

具体参考:https://pytorch.org/docs/stable/generated/torch.tensor.html#torch.tensor

2、torch.as_tensor(datadtype=Nonedevice=None)

次推荐

数据类型:和输入相同;可以使用dtype改变数据类型

拷贝类型:data为tensor,如果dtype和device相同,不拷贝,反之则拷贝;

                  data为numpy,如果dtype相同,device=cpu,不拷贝

具体参考:https://pytorch.org/docs/stable/generated/torch.as_tensor.html#torch.as_tensor

3、torch.from_numpy(ndarray

数据类型:和输入相同

拷贝类型:浅拷贝;

4、torch.Tensor()

torch.Tensor 是默认的tensor类型 (torch.FloatTensor) 的简称.

数据类型:默认Float32

拷贝类型:深拷贝

具体参考:https://pytorch.apachecn.org/docs/1.0/tensors.html

类似的包含8种张量,上链接均有介绍

5、Transform.ToTensor

def transform():
    return Compose([
    ToTensor(),
    ])
data = transform(data)

这是我采坑的地方,ToTensor会自动归一化,也就是 / 255

只处理三维数据(HWC),C不一定为3

参考感谢:

https://zhuanlan.zhihu.com/p/345648168

https://blog.youkuaiyun.com/github_28260175/article/details/105382060

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值