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])
相关推荐
美酒没故事°19 小时前
Open WebUI安装指南。搭建自己的自托管 AI 平台
人工智能·windows·ai
云烟成雨TD19 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
简简单单做算法19 小时前
基于GA遗传优化的Transformer-LSTM网络模型的时间序列预测算法matlab性能仿真
深度学习·matlab·lstm·transformer·时间序列预测·ga遗传优化·电池剩余寿命预测
AI攻城狮19 小时前
用 Obsidian CLI + LLM 构建本地 RAG:让你的笔记真正「活」起来
人工智能·云原生·aigc
鸿乃江边鸟19 小时前
Nanobot 从onboard启动命令来看个人助理Agent的实现
人工智能·ai
lpfasd12320 小时前
基于Cloudflare生态的应用部署与开发全解
人工智能·agent·cloudflare
俞凡20 小时前
DevOps 2.0:智能体如何接管故障修复和基础设施维护
人工智能
comedate20 小时前
[OpenClaw] GLM 5 关于电影 - 人工智能 - 的思考
人工智能·电影评价
财迅通Ai20 小时前
6000万吨产能承压 卫星化学迎来战略窗口期
大数据·人工智能·物联网·卫星化学
liliangcsdn20 小时前
Agent Memory智能体记忆系统的示例分析
数据库·人工智能·全文检索