pytorch学习03:张量数据类型和一些操作

张量数据类型

Data typedtypeCPU tensorGPU tensor
32-bit floating pointtorch.float32 or torch.floattorch.FloatTensortorch.cuda.FloatTensor
64-bit floating pointtorch.float64 or torch.doubletorch.DoubleTensortorch.cuda.DoubleTensor
16-bit floating pointtorch.float16 or torch.halftorch.HalfTensortorch.cuda.HalfTensor
8-bit integer(unsigned)torch.uint8torch.ByteTensortorch.cuda.ByteTensor
8-bit integer(signed)torch.int8torch.CharTensortorch.cuda.CharTensor
16-bit integer(signed)torch.int16 or torch.shorttorch.ShortTensortorch.cuda.ShortTensor
32-bit integer(signed)torch.int32 or torch.inttorch.IntTensortorch.cuda.IntTensor
64-bit integer(signed)torch.int64 or torch.longtorch.LongTensortorch.cuda.LongTensor

类型使用

示例1:类型比较

import torch

# 随机初始化
a = torch.randn(2, 3)

print("a.type(): ", a.type())
print("type(a): ", type(a))
print("type of 'a' is torch.FloatTensor: ",
      isinstance(a, torch.FloatTensor))

在这里插入图片描述

示例2:同一数据被部署在CPU和GPU上类型不同

import torch

# 随机初始化
a = torch.randn(2, 3)

print(isinstance(a, torch.cuda.FloatTensor))
# 如果没有开启cuda会报错
a = a.cuda()
print(isinstance(a, torch.cuda.FloatTensor))

在这里插入图片描述

示例3:标量

import torch

a = torch.tensor(1.)
print("a: ", a)

b = torch.tensor(1.3)
print("b: ", b)

在这里插入图片描述

示例4:标量的shape

import torch

a = torch.tensor(2.2)
print("a.shape: ", a.shape)
print("len(a.shape): ", len(a.shape))
print("a.dim(): ", a.dim())
print("a.size(): ", a.size())

在这里插入图片描述

示例5:一维张量

import numpy as np
import torch

print(torch.tensor([1.1]))
print(torch.tensor([1.1, 2.2]))
print(torch.FloatTensor(1))
print(torch.FloatTensor(2))

data = np.ones(2)
print("data: ", data)
data = torch.from_numpy(data)
print("tensor from numpy:", data)

print("data.shape: ", data.shape)
print("data.dim(): ", data.dim())
print("data.size(): ", data.size())

在这里插入图片描述

示例6:二位张量

import torch

a = torch.randn(2, 3)
print("a:", a)
print("a.shape:", a.shape)
print("a.size():", a.size())
print("a.size(0):", a.size(0))
print("a.size(1):", a.size(1))
print("a.shape[1]:", a.shape[1])
print("a.dim():", a.dim())

在这里插入图片描述

示例7:三维张量

import torch

# 随机均匀分布初始化
a = torch.rand(2, 2, 3)

print("a:", a)
print("list(a.shape):", list(a.shape))
print("a.size():", a.size())
print("a.size(0):", a.size(0))
print("a.size(1):", a.size(1))
print("a.shape[1]:", a.shape[1])
print("a.dim():", a.dim())

在这里插入图片描述

示例8:获得总元素个数

import torch

# 随机均匀分布初始化
a = torch.rand(2, 2, 3)

# 返回a的总元素个数 2 * 2 * 3
print("a.numel():", a.numel())

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值