Pytorch——tensor

1. 张量

a.dim=0:常量(scaler)
b.dim=1:向量(vector)
c.dim=2:矩阵(matrix)
d.dim=3:3阶张量

2. 创建tensor

a.从列表中创建

Pytorch——tensor_第1张图片 (其中Tensor默认数据类型是float,所以创建的张量会带有“.”)

b.从numpy中创建

Pytorch——tensor_第2张图片

c.使用torch中的api创建

torch.empty()_创建一个值为空的tensor
Pytorch——tensor_第3张图片

torch.zeros()_创建一个值全为0的tensor
Pytorch——tensor_第4张图片
torch.randint(low=a,high=b,size=[x,y])创建一个3行4列的tensor,随机值的区间是[low,high)
Pytorch——tensor_第5张图片

3.张量的属性

a.获取tensor中的数据(当tensor中只有一个元素可用),tensor.item()

Pytorch——tensor_第6张图片
当tensor中不是一个元素的时候,就不能用item(),会报错,显示只有一个只有一个元素张量可以转换为 Python 标量Pytorch——tensor_第7张图片

b.转化为numpy数组Pytorch——tensor_第8张图片

c. 形状的改变x.view

Pytorch——tensor_第9张图片
将x由原来的32改为23,且原来的值以及形状不变
关于x.view(-1,…)之类的可以参考这篇博客torch x = x.view(-1, …)理解

d. 获取维度

Pytorch——tensor_第10张图片

e.转置transpose

x.transpose(1,0)
tensor([[1, 3, 5],
        [2, 4, 6]])

有关transpose和permute的用法参考转置
permute适合高维的操作,而transpose只适和二维。

f.取值切片操作

先创建一个tensor

t4=torch.tensor(np.arange(24).reshape(3,4,2))
t4
tensor([[[ 0,  1],
         [ 2,  3],
         [ 4,  5],
         [ 6,  7]],
        [[ 8,  9],
         [10, 11],
         [12, 13],
         [14, 15]],
        [[16, 17],
         [18, 19],
         [20, 21],
         [22, 23]]], dtype=torch.int32)

若想取到“13”,则进行如下代码

t4[1,2,1]
tensor(13, dtype=torch.int32)

关于reshapeh的详解可以参考这篇reshape
size的用法可以参考size

你可能感兴趣的:(笔记,Python学习,pytorch,深度学习,python)