1、Pytorch-基本数据类型



Pytorch 基本数据类型

基本类型

在python中的数据类型在pytorch中基本都能一一对应,除了string

1、Pytorch-基本数据类型_第1张图片

pytorch并没有string类型,但是可以使用编码类型来表示。比如10表示小狗,01表示猫。在nlp中有专门的模块来解决这个问题。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ZGJn4r6-1605532660726)(https://i.loli.net/2020/11/08/j5yW3cgzYL2flqH.png)]

pytorch中的数据类型

1、Pytorch-基本数据类型_第2张图片

查看类型

a.type() 是torch中的方法,可以返回详细的类型

type(a) 是python自带的方法,没有提供额外信息

isinstance(a,torch.FloatTensor) 一般用这种方法来比对类型

1、Pytorch-基本数据类型_第3张图片

数据放置于cpu和GPU上所表示的数据类型是不同的

1、Pytorch-基本数据类型_第4张图片

dim0

torch.tensor(1.3) :对于标量数据类型可以使用该方法来创建一个0维数组。

a.shape : 可以查看tensor张量的形状

a.size() : 与a.shape 对应,不同之处在于一个直接是属性,另一个是函数。

1、Pytorch-基本数据类型_第5张图片

dim1

一维数据的生成

torch.tensor([1]) : 这个方法圆括号里面有中括号,会根据里面的值生成一维张量。

torch.FloatTensor() : 当里面只给出了一个数字,则会根据数字生成未初始化的相应一维张量。如果里面有中括号,则会根据中括号的内容生成一维张量。

1、Pytorch-基本数据类型_第6张图片

1、Pytorch-基本数据类型_第7张图片

将numpy中的一维数组转换为一维tensor张量。

1、Pytorch-基本数据类型_第8张图片

dim2

下面使用随机正态分布创建了一个dim为2的张量。

size函数如果不给值,则返回整个的形状。如果给了参数,则返回的是该维度上的形状大小。

dim3

下面使用随机均匀分布创建一个dim为3的张量。如20句话,每句话10个单词,每个单词用100个分量的向量表示,得到的Tensor就是shape=[20, 10, 100]

可以使用list方法直接将数据转换为列表。方便和python的交互。

三维数据适合文字处理。

1、Pytorch-基本数据类型_第9张图片

dim4

a = torch.rand(2,3,28,28)

dim为4的张量经常用来表示图片。从左往右,第一个数字表示有几张图片,第二个数字表示rgb的第几个通道,比如1表示灰色图片,3表示彩色图片。第三、第四分别表示图片的长和宽。

例如100张MNIST数据集的灰度图(通道数为1,如果是RGB图像通道数就是3),每张图高28像素,宽28像素,那么这个Tensor的shape=[100, 1, 28, 28],也就是一个batch的数据维度:[batch_size, channel, height, width]。

1、Pytorch-基本数据类型_第10张图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XZdrhVwe-1605532660754)(https://i.loli.net/2020/11/08/Q8iL69lxgAzmfRT.png)]

额外知识

torch.numel() : 得到tensor数据的具体大小。

torch.dim() : 和length(a.shape) 方法一样,返回的数据表示tensor张量的维度大小。

1、Pytorch-基本数据类型_第11张图片

你可能感兴趣的:(pytorch,pytorch,机器学习)