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.csdn.net/github_28260175/article/details/105382060

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐