PyTorch中view()函数用法说明

首先,view( ) 是对 PyTorch 中的 Tensor 操作的,若非 Tensor 类型,可使用 data = torch.tensor(data)来进行转换。

(1) 作用:该函数返回一个有相同数据但不同维度大小的 Tensor。也就是说该函数的功能是改变矩阵维度,相当于 Numpy 中的 resize() 或者 Tensorflow 中的 reshape() 。

(2) 参数:view( *args )

python 复制代码
import torch

x = torch.randn(6, 6)
print(x.size())

y = x.view(36)
print(y.size())

z = x.view(-1, 9)  # -1表示该维度取决于其它维度大小,即(6*6)/ 9
print(z.size())

m = x.view(3, 3, 4) # 也可以变为更多维度
print(m.size())

输出:
torch.Size([6, 6])
torch.Size([36])
torch.Size([4, 9])
torch.Size([3, 3, 4])

特殊用法view(-1)

若需要转换维度为一维,有一种简单的方式,即将参数设置为 -1

python 复制代码
import torch

a = torch.Tensor([[1, 2, 3], [4, 5, 6],[7,8,9]]) # 定义一个 2*3 的 Tensor
a = a.view(-1)
print(a)

输出:
tensor([1., 2., 3., 4., 5., 6., 7., 8., 9.])
相关推荐
丝斯20117 小时前
AI学习笔记整理(50)——大模型中的Graph RAG
人工智能·笔记·学习
Coder_Boy_7 小时前
基于SpringAI的在线考试系统-DDD业务领域模块设计思路
java·数据库·人工智能·spring boot·ddd
甜辣uu7 小时前
双算法融合,预测精准度翻倍!机器学习+深度学习驱动冬小麦生长高度与产量智能预测系统
人工智能·小麦·冬小麦·生长高度·植物生长预测·玉米·生长预测
AI街潜水的八角7 小时前
深度学习烟叶病害分割系统3:含训练测试代码、数据集和GUI交互界面
人工智能·深度学习
AI街潜水的八角7 小时前
深度学习烟叶病害分割系统1:数据集说明(含下载链接)
人工智能·深度学习
weixin_446934037 小时前
统计学中“in sample test”与“out of sample”有何区别?
人工智能·python·深度学习·机器学习·计算机视觉
大模型RAG和Agent技术实践8 小时前
智审未来:基于 LangGraph 多 Agent 协同的新闻 AI 审查系统深度实战(完整源代码)
人工智能·agent·langgraph·ai内容审核
莫非王土也非王臣8 小时前
循环神经网络
人工智能·rnn·深度学习
Java后端的Ai之路8 小时前
【AI大模型开发】-基于 Word2Vec 的中文古典小说词向量分析实战
人工智能·embedding·向量·word2vec·ai大模型开发
weixin_462446238 小时前
使用 Python 测试 Mermaid 与 Graphviz 图表生成(支持中文)
python·mermaid·graphviz