Pytorch中torch.flatten()和torch.nn.Flatten()实例详解
作者:有人比我慢吗 发布时间:2021-09-15 06:39:43
标签:pytorch,torch.flatten(),torch.nn.flatten()
torch.flatten(x)等于torch.flatten(x,0)默认将张量拉成一维的向量,也就是说从第一维开始平坦化,torch.flatten(x,1)代表从第二维开始平坦化。
import torch
x=torch.randn(2,4,2)
print(x)
z=torch.flatten(x)
print(z)
w=torch.flatten(x,1)
print(w)
输出为:
tensor([[[-0.9814, 0.8251],
[ 0.8197, -1.0426],
[-0.8185, -1.3367],
[-0.6293, 0.6714]],
[[-0.5973, -0.0944],
[ 0.3720, 0.0672],
[ 0.2681, 1.8025],
[-0.0606, 0.4855]]])
tensor([-0.9814, 0.8251, 0.8197, -1.0426, -0.8185, -1.3367, -0.6293, 0.6714,
-0.5973, -0.0944, 0.3720, 0.0672, 0.2681, 1.8025, -0.0606, 0.4855])
tensor([[-0.9814, 0.8251, 0.8197, -1.0426, -0.8185, -1.3367, -0.6293, 0.6714]
,
[-0.5973, -0.0944, 0.3720, 0.0672, 0.2681, 1.8025, -0.0606, 0.4855]
])
torch.flatten(x,0,1)代表在第一维和第二维之间平坦化
import torch
x=torch.randn(2,4,2)
print(x)
w=torch.flatten(x,0,1) #第一维长度2,第二维长度为4,平坦化后长度为2*4
print(w.shape)
print(w)
输出为:
tensor([[[-0.5523, -0.1132],
[-2.2659, -0.0316],
[ 0.1372, -0.8486],
[-0.3593, -0.2622]],
[[-0.9130, 1.0038],
[-0.3996, 0.4934],
[ 1.7269, 0.8215],
[ 0.1207, -0.9590]]])
torch.Size([8, 2])
tensor([[-0.5523, -0.1132],
[-2.2659, -0.0316],
[ 0.1372, -0.8486],
[-0.3593, -0.2622],
[-0.9130, 1.0038],
[-0.3996, 0.4934],
[ 1.7269, 0.8215],
[ 0.1207, -0.9590]])
对于torch.nn.Flatten(),因为其被用在神经网络中,输入为一批数据,第一维为batch,通常要把一个数据拉成一维,而不是将一批数据拉为一维。所以torch.nn.Flatten()默认从第二维开始平坦化。
import torch
#随机32个通道为1的5*5的图
x=torch.randn(32,1,5,5)
model=torch.nn.Sequential(
#输入通道为1,输出通道为6,3*3的卷积核,步长为1,padding=1
torch.nn.Conv2d(1,6,3,1,1),
torch.nn.Flatten()
)
output=model(x)
print(output.shape) # 6*(7-3+1)*(7-3+1)
输出为:
torch.Size([32, 150])
来源:https://blog.csdn.net/Super_user_and_woner/article/details/120782656


猜你喜欢
- 安装 pip install django-crontab在Django项目中使用settings.pyINSTALLED_AP
- 一般安装完Python后,我会先装一些常用的Package。做个笔记,记录下来,以备查询:Web FrameWorksTornado,访问:
- 片头Python看了差不多三四天吧,基本上给基础看差不多了。写个管理系统吧,后续不出意外SQL、文件存储版本都会更。学习Python感想:
- 本文实例讲述了JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能。分享给大家供大家参考,具体如下:单例模式单例模式
- 我查了资料:setRequestHeader,单独指定请求的某个http头语法oXMLHttpRequest.setRequestHeade
- console.log,作为一个前端开发者,可能每天都会用它来分析调试,但这个简单函数背后不简单那一面,你未必知道……基础首先,简单科普这个
- 项目测试对于一个项目的重要性,大家应该都知道吧,写python的朋友,应该都写过自动化测试脚本。最近正好负责公司项目中的api测试,下面写了
- 在Python中用matplotlib画图的时候,为了区分曲线的类型,给曲线上面加一些标识或者颜色。以下是颜色和标识的汇总。颜色(color
- 基于tkinter模块的GUIGUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Pytho
- 1.腾讯企业邮箱SMTP服务器地址:smtp.exmail.qq.com,ssl端口为:4652.确保腾讯企业邮箱中开启了SMTP服务:3.
- 方式一import matplotlib.pyplot as pltimport numpy as npfrom scipy.stats i
- 本文实例为大家分享了js调节音量滑块的具体代码,供大家参考,具体内容如下效果html部分<body><div class=
- 本文实例讲述了Python打包文件夹的方法。分享给大家供大家参考,具体如下:一、zipimport os, zipfile#打包目录为zip
- 有个小项目,碰到需要批量建立输入框的需求,本文利用WxPython建立批量录入框窗口研究了一下WxPython ,实现了这个功能。# cod
- 创建数据库CREATE DATABASE 语法用于创建一个数据库。语法: PHP MySQL 函数库中,mysql_query()
- 主题众所周知,django.forms极其强大,不少的框架也借鉴了这个模式,如Scrapy。在表单验证时,django.forms是一绝,也
- 前言前面安装过mysql5.6,时隔三个月,开发那边反馈需要在MySQL中处理JSON类型的数据,查看文档,JSON是在5.7支持的新特性。
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- Gtid + Mha +Binlog server配置:1:测试环境OS:CentOS 6.5Mysql:5.6.28Mha:0.56192
- //比较数组是否相同 modeler.compArray=function(array1,array2) { &nb