python中flatten()参数示例详解
作者:皮皮宽 发布时间:2022-07-03 11:19:57
这篇博客主要写flatten()作用,及其参数的含义
flatten()是对多维数据的降维函数。
flatten(),默认缺省参数为0,也就是说flatten()和flatte(0)效果一样。
python里的flatten(dim)表示,从第dim个维度开始展开,将后面的维度转化为一维.也就是说,只保留dim之前的维度,其他维度的数据全都挤在dim这一维。
比如一个数据的维度是( S 0 , S 1 , S 2......... , S n ) , flatten(m)后的数据为( S 0 , S 1 , S 2 , . . . , S m − 2 , S m − 1 , S m ∗ S m + 1 ∗ S m + 2 ∗ . . . ∗ S n )
下面我们举个例子来理解一下flatten
比如我们随机定义一个维度为(2,3,4)的数据a
import torch
a = torch.rand(2,3,4)
a输出结果为:
a此时的维度为(2,3,4)
flatten()和flatten(0)效果一样,a这个数据从0维展开,就是( 2 ∗ 3 ∗ 4 2*3*4 2∗3∗4),维度就是(24)
b = a.flatten()
c = a.flatten(0)
b,c的结果如图:
b,c相等,维度均为 ( 2 ∗ 3 ∗ 4 ) (2*3*4) (2∗3∗4)也就是(24)
a从1维展开flatten(1),就是 ( 2 , 3 ∗ 4 ) (2,3*4) (2,3∗4),也就是(2,12).
d = a.flatten(1)
d的结果如图所示:
a从一维展开后的数据d的维度为 ( 2 , 3 ∗ 4 ) (2,3*4) (2,3∗4)也就是(2,12)
a若是从2维展开flatten(2),那就是(2,3,4)和之前没有变化
e = a.flatten(2)
e的结果如图所示:
e从二维展开后的数据d的维度为 ( 2 , 3 , 4 ) (2,3,4) (2,3,4)
总结
python里的flatten(dim)表示,从第dim个维度开始展开,将后面的维度转化为一维.也就是说,只保留dim之前的维度,其他维度的数据全都挤在dim这一维。
比如一个数据的维度是( S 0 , S 1 , S 2 , S 3......... , S n ) (S0,S1,S2,S3.........,Sn)(S0,S1,S2,S3.........,Sn), flatten(m)后的数据为( S 0 , S 1 , S 2 , S 3 , . . . , S m − 2 , S m − 1 , S m ∗ S m + 1 ∗ S m + 2 ∗ . . . ∗ S n ) (S0, S1,S2,S3,...,Sm-2,Sm-1,Sm*Sm+1*Sm+2*...*Sn)(S0,S1,S2,S3,...,Sm−2,Sm−1,Sm∗Sm+1∗Sm+2∗...∗Sn)
来源:https://blog.csdn.net/kuan__/article/details/116987162


猜你喜欢
- ASP中转换unicode编码为GB编码方法:<% function urldecode(encodestr)
- python字典中,值可任意更改;但键是唯一的,不支持直接修改。若真的需要修改字典中的键,可通过几种间接方式实现。新建空白字典。info =
- 1.聚合运算(1)使用内置的聚合运算函数进行计算1>内置的聚合运算函数sum(),mean(),max(),min(),size(),
- **问题描述:**有如下程序输出日志,计算程序运行时间,显示花费623分钟?start time:2019-03-15 19:45:31.2
- 问题一: 在anconda里面如何创建新的python环境(也就是更换新的python版本)1.先打开anconda软件,创建需要的环境2.
- 一、Xpath概述1、Xpath简介Xpath(XML Path Language) 是一门在 XML 文档中查找信息的语言,可以
- 我们怎么让一个 Python 程序里边实现多任务呢?实现多任务可以有多种方式,这里我们先了解使用线程的方式实现多任务。线程是实现多任务的一种
- 这篇文章主要介绍了python处理RSTP视频流过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 1、定义标记变量;利用变量值的变化退出循环# 第一种嵌套形式a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]# i
- 理解 pandas 的函数,要对函数式编程有一定的概念和理解。函数式编程,包括函数式编程思维,当然是一个很复杂的话题,但对今天介绍的 app
- 引言web开发的背景下,“中间件”通常意思是“包装原始应用并添加一些额外的功能的应用的一部分”。这个概念似乎总是不被人理解,但是我认为中间件
- Python 能做很多无聊,但有意思的事情,例如接下来的一些案例。以下程序,不要发代码,要不实现不了你整蛊的目的。要打包成一个 exe 程序
- 0 写在前面josephus问题是数据结构教材中的一个常见实例,其问题可以描述为:设nnn个人围坐一圈,现在要求从第kkk个人开始报数,报到
- 在PHP中,有两种包含外部文件的方式,分别是include和require。他们之间有什么不同呢?如果文件不存在或发生了错误,require
- 几周前, Elastic Beanstalk声明在AWS云中配置和管理Docker容器。在本文中,我们通过一个简单的注册表单页面应用去理解D
- 通常来说,javascript中的对象就是一个指向prototype的指针和一个自身的属性列表。javascript创建对象时采用了写时复制
- 直接贴代码import subprocessdef get_system_stats(): # 通过 shell
- 本文实例讲述了Python爬虫框架Scrapy基本用法。分享给大家供大家参考,具体如下:Xpath<html><head&
- pyecharts介绍pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。
- Python输入整数进行排序任务:自定需要排序数字的个数,对这些数字进行排序"""功能: 输入整数进行排序作者