Tensors (张量)

导入pytorch

python 复制代码
import torch

构造张量

python 复制代码
x = torch.empty(5, 3)  # 构造一个5x3矩阵,不初始化
y = torch.randn(5, 3)  # 构造一个随机初始化的矩阵
z = torch.zeros(5, 3)  # 构造一个矩阵全为 0

# 构造一个张量,直接使用数据
a = torch.tensor([1.2, 2, 3])  # 单行
b = torch.tensor([[1.2, 2, 3], [2, 3, 4]])  # 多行

# 创建一个 tensor 基于已经存在的 tensor
b = b.new_ones(3, 4, dtype=torch.double)  # 重新指定了size
b = b.new_ones([3, 4], dtype=torch.double)  # 和上面一样效果
a = torch.rand_like(b, dtype=torch.float)  # size依赖输入的形参b

获取张量的维度信息

python 复制代码
print(a.size())  # torch.Size([3, 4])

加法

python 复制代码
print(z + y)  # 加法
result = torch.empty(5, 3)
print(torch.add(z, y, out=result))  # 同样是加法,和上面加法效果一样,提供一个输出tensor作为参数,如果它的size和z+y不同,会提示错误
w = y.add_(z)  # y已经发生改变
print(y)
print(w)

索引操作

python 复制代码
print(y[:,0]) # 输出的是单行矩阵,数据是第一列的所有数字
print(y[1,2]) # 输出的是第二行,第三列的数字
print(y[1,:]) # 输出的是单行矩阵,数据是第二行的所有数值

改变tensor的大小或者形状

python 复制代码
u = w.view(15) # 改变成单行矩阵,必须是原来的矩阵的行数列数乘积
s = w.view(-1,5) # 改变成5列矩阵,-1表示自动计算行数
print(u.size(),s.size()) # torch.Size([15]) torch.Size([3, 5])
相关推荐
Liue6123123110 小时前
基于YOLOv26的口罩佩戴检测与识别系统实现与优化
人工智能·yolo·目标跟踪
小二·11 小时前
Python Web 开发进阶实战 :AI 原生数字孪生 —— 在 Flask + Three.js 中构建物理世界实时仿真与优化平台
前端·人工智能·python
chinesegf12 小时前
文本嵌入模型的比较(一)
人工智能·算法·机器学习
哥布林学者12 小时前
吴恩达深度学习课程五:自然语言处理 第二周:词嵌入 课后习题与代码实践
深度学习·ai
珠海西格电力12 小时前
零碳园区的能源结构优化需要哪些技术支持?
大数据·人工智能·物联网·架构·能源
Black蜡笔小新12 小时前
视频汇聚平台EasyCVR打造校园消防智能监管新防线
网络·人工智能·音视频
珠海西格电力科技12 小时前
双碳目标下,微电网为何成为能源转型核心载体?
网络·人工智能·物联网·云计算·智慧城市·能源
2501_9418372612 小时前
【计算机视觉】基于YOLOv26的交通事故检测与交通状况分析系统详解_1
人工智能·yolo·计算机视觉
HyperAI超神经12 小时前
加州大学构建基于全连接神经网络的片上光谱仪,在芯片级尺寸上实现8纳米的光谱分辨率
人工智能·深度学习·神经网络·机器学习·ai编程
badfl12 小时前
AI漫剧技术方案拆解:NanoBanana+Sora视频生成全流程
人工智能·ai·ai作画