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])
相关推荐
田里的水稻13 小时前
FA_CNN卷积神经网络二十一---丢弃法PyTorch
人工智能·pytorch·cnn
学IT的周星星13 小时前
本地部署与开源模型:不想花钱怎么办
人工智能·开源·大模型·llm·agent
AI人工智能+13 小时前
炫彩活体检测利用手机屏幕投射随机彩色光,通过分析真实皮肤对光的次表面散射、血红蛋白吸收及纹理细节等光学特性,实现1-2秒内无感核验
人工智能·深度学习·人脸识别·炫彩活体检测
沐梯子13 小时前
MOSS-Transcribe-Diarize 和豆包语音识别哪个好?多人会议录音转写的准确率与说话人归属对比
人工智能·语音识别·xcode
小王师傅6613 小时前
分类是科学的基础
人工智能·分类
隔振降噪研究员13 小时前
裁断机一响,楼板为什么会跟着抖?
大数据·linux·数据库·人工智能
东坡肘子13 小时前
快速消失的硬盘容量 -- 肘子的 Swift 周报 #160
人工智能·swiftui·swift
高洁0113 小时前
端侧大模型的应用场景与工程实践
人工智能·深度学习·机器学习·transformer·tornado
乐橙开放平台13 小时前
离岗检测怎么实现?通过客流相机或 AI 摄像头识别岗位区域无人状态,再推送告警消息
人工智能·笔记·后端·数码相机·物联网·自动化·音视频
2301_7760452313 小时前
山寨币与比特币之间的关系
大数据·人工智能·区块链