PyTorch中torch.flatten()函数的用法

1 问题

在编写神经网络数据从输入层前向传播到输出层的函数时,使用了torch.flatten()函数,但是torch.flatten()函数的各个参数的含义是什么以及怎么用呢?

2 方法

flatten翻译成中文是扁平化,使......平坦,即把多维的输入拉伸一维化,右键单击flatten转到定义后发现torch.flatten()方法一共有三个参数:

1.input:tensor,需要被拉伸展平的输入;

2.start_dim:开始拉伸展平的维度,默认为0;

3.end_dim:结束拉伸展平的维度,默认为-1。

通过实例实验后,了解了参数的具体用法,首先,利用torch.rand()函数随机产生一个四维数据实验后得知:

1.torch.flatten(x)就等于torch.flatten(x,0),默认将输入拉伸为一维的向量,从第一维开始扁平化;

2.torch.flatten(x,1)表示从第二维开始扁平化;

3.torch.flatten(x,0,1)表示在第一维和第二维之间扁平化。

运行结果如下:

其次,定义了一个三维数据实验后得知:

1.start_dim为1,end_dim默认为-1时,第一维度不变;

2.start_dim为0,并且锁定结束维度为1时,前面的维度就会合并。

****运行结果如下:

3 结语

针对torch.flatten()函数各个参数的含义是什么以及如何使用的问题,查看了函数本身的定义并搜索了函数参数的其他解释,通过随机产生一个四维数据和假设一个三维数据实例实验后,了解了利用torch.flatten()函数设置不同参数的具体用法,本文只描述了torch.flatten()函数,未来还可以更深入了解torch.nn.Flatten()函数、torch.Tensor.flatten()函数以及它们的区别等。

相关推荐
吴佳浩2 小时前
Skill 为什么不同于 Tool?Agent 技能库的自演进与动态加载机制
人工智能·agent·ai编程
IvanCodes4 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
大模型任我行5 小时前
谷歌:“课程学习”融入扩散模型强化学习
人工智能·语言模型·自然语言处理·论文笔记
AIGCmagic社区5 小时前
具身智能专题:机器人也有Scaling Law?智元GE-Act 2.0用3万小时真机数据给出答案
人工智能·aigc·具身智能
Patrick在香港5 小时前
Claude 工具调用返回空:8 次失败里只有 1 次状态码不对,其余全带 200
爬虫·python·api·claude·香港
Web3&Basketball5 小时前
CRM Agent 后训练实战:3 倍更少错误
python·架构·大模型·agent·推理
Rosanci6 小时前
谷歌浏览器插件开发实战指南:从 Hello World 到上架发布
大数据·人工智能·chrome·程序人生
明月_清风6 小时前
AI 越来越强,程序员真正的价值到底是什么?
人工智能·后端
m0_466525296 小时前
云从科技上线云起ModelHub:AI团队时代的模型算力基础设施
大数据·人工智能·科技
火山引擎开发者社区6 小时前
OpenViking:给 Codex 加上长期记忆
人工智能