创建张量:
torch.tensor(data)
: 从数据中创建张量。用列表创建,numpy创建- 维度只看[ ]
1 2 3 | # 一维张量 一维张量是指只有一个轴的张量,没有行列之分 data_1d = [1, 2, 3] tensor_1d = torch.tensor(data_1d)<br>结果<br>tensor([1, 2, 3]) |
1 2 3 | # 二维张量 data_2d = [[1, 2, 3], [4, 5, 6],[4, 5, 6]] tensor_2d = torch.tensor(data_2d)<br>结果<br>tensor([[1, 2, 3],<br> [4, 5, 6]<br> [4, 5, 6]])<br>但是形状是<br>torch.Size([3, 3])<br>是3行3列 |
1 2 3 | # 三维张量,就是多个二维 tensor_3d = torch.tensor([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]])<br>结果tensor([[[ 1, 2, 3, 4],<br> [ 5, 6, 7, 8],<br> [ 9, 10, 11, 12]],<br><br> [[13, 14, 15, 16],<br> [17, 18, 19, 20],<br> [21, 22, 23, 24]]])<br>torch.Size([2, 3, 4])<br>有 2 个元素(大小为 2)、3 行(大小为 3)和 4 列(大小为 4)。 |
torch.zeros(shape)
: 创建指定形状的全零张量。torch.ones(shape)
: 创建指定形状的全一张量。torch.randn(shape)
: 创建指定形状的随机张量。
创建有梯度的张量
1 | x = torch.tensor([2.0], requires_grad=True)<br>设置<code>requires_grad=True</code>,表示我们想要对这个张量进行梯度计算 |
查看维度:
dim()
方法用于获取张量的维度(即秩或阶)数量
查看尺寸
tensor.size()
: 返回张量的大小。形状的大小,几行几列
# 创建一个4x3的矩阵(2维tensor)
tensor_original = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
print(tensor_original)
print(tensor_original.dim())
print(tensor_original.size())
tensor([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]])
2
torch.Size([4, 3])
改变形状
tensor.view(shape)
: 改变张量的形状。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 创建一个4x3的矩阵(2维tensor) tensor_original = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # 结果 tensor([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12]]) # 使用view改变形状为3x4 tensor_reshaped = tensor_original.view(3, 4) # 结果 tensor([[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]) |
tensor.item()
: 获取张量中的单个元素的数值
转移设备
torch.Tensor.to(dtype=None, device=None, dtype2=None, non_blocking=False, copy=False, memory_format=torch.preserve_format) → Tensor
1 2 3 4 5 | # 创建一个CPU上的浮点型张量 x = torch.tensor([1.0, 2.0, 3.0]) # 将张量转移到CUDA设备上并转换为整型<br>将默认使用当前设备上的第一个可用的CUDA设备 y = x.to(dtype=torch. int , device= 'cuda' )y = x.to(dtype=torch. int , device= 'cuda:1' ) 就是第二块cudaprint(y) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!