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()函数以及它们的区别等。

相关推荐
深蓝AI2 小时前
不调模型不改壳:CMU 开源 Hermit,给 Agent 外挂一个能训练的适配器
人工智能·agent
汤姆宝库5 小时前
世界模型深拆:视频生成、潜在模拟与物理直觉
人工智能
weixin_468466858 小时前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
朋友圈自动点赞工具8 小时前
科学AI插件化:从蛋白质结构到古籍修复
人工智能
龙粤GEO9 小时前
实体Entity在GEO中代表什么含义
人工智能
前端精髓9 小时前
结构化输出with_structured_output(抽卡)
python·langchain
听风吹等浪起9 小时前
第26章:ViT+InceptionDW+FocalLoss改进|CT骨折影像二分类完整Pytorch实现(含PyQt5推理GUI)
pytorch·qt·分类
拜小白10 小时前
【论文解读】《DeepPanoContext:用全局场景关系图 + 可微关系优做全景 3D 场景理解
深度学习·计算机视觉·全景图
尹人入圣10 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
剑雨巍巍10 小时前
AI Agent面试之基础概念
人工智能