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.])
相关推荐
和平宇宙几秒前
AI笔记005. hermes-DeepSeek V4 Pro, 128K上下文引发的探索
前端·人工智能·笔记
56AI2 分钟前
360 智语 AI 企业智能体平台深度评测:从 L4 蜂群架构到政企落地实战
人工智能·架构
IT_陈寒14 分钟前
Redis持久化这个坑,我爬了一整天才出来
前端·人工智能·后端
无风听海14 分钟前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
kimi-22219 分钟前
LangChain 里的 chatmodel.bind_tools 和 ReAct Agent
人工智能
zhangfeng113336 分钟前
计算机视觉vc 3D 希尔伯特曲线 基础介绍,人工智能
人工智能·计算机视觉·3d
没事别瞎琢磨40 分钟前
十一、审计与 Run Session——每一步操作都被记录
人工智能·node.js
没事别瞎琢磨41 分钟前
十六、AgentSandbox——把所有模块串起来的编排类
人工智能·node.js
George37543 分钟前
当 Loop Engineering 成为行业共识,我发现自己的开源项目已经实践了 3 个月
人工智能
没事别瞎琢磨1 小时前
十二、网络代理与白名单规则引擎
人工智能·node.js