pytorh实现全局平均(最大)池化的两种方式
Pytorch没有对全局平均(最大)池化单独封装为一层。需要自己实现。下面有两种简单的实现方式。
- 使用torch.max_pool1d()定义一个网络层。
- 使用nn.AdaptiveMaxPool1d(1)并设置输出维度是1
import torch
import torch.nn as nn
import numpy as np#第一种方式
class GlobalMaxPool1d(nn.Module):def __init__(self):super(GlobalMaxPool1d,self).__init__()def forward(self, x):return torch.max_pool1d(x,kernel_size=x.shape[2])a = torch.tensor(np.arange(24),dtype=torch.float).view(2,3,4).cuda()
gmp1 = GlobalMaxPool1d()
print(gmp1(a))#第二种方式
gmp2 = torch.nn.AdaptiveMaxPool1d(1)
print(gmp2(a))
运行结果一样。
tensor([[[ 3.],[ 7.],[11.]],[[15.],[19.],[23.]]], device='cuda:0')
tensor([[[ 3.],[ 7.],[11.]],[[15.],[19.],[23.]]], device='cuda:0')
pytorh实现全局平均(最大)池化的两种方式相关推荐
- 对连续值/离散值进行预处理的两种方式(标准化/one-hot化)、反标准化/逆标准化、字符串预处理
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) tensorflow 2.0 画出model网络模型的拓扑图 ...
- 实现数组扁平化的 6 种方式
实现数组扁平化的 6 种方式 老规矩,开局先上问题,带着问题去思考: 怎样用最普通的方法解决数组扁平化问题? ES6里面是否有一些高级的方法能够直接实现? 扁平化的实现 数组的扁平化其实就是将一个 ...
- java如何做全局缓存_传智播客JNI第七讲 – JNI中的全局引用/局部引用/弱全局引用、缓存jfieldID和jmethodID的两种方式...
讲解JNI中的全局引用/局部引用/弱全局引用.缓存jfieldID和jmethodID的两种方式,并编写两种缓存方式的示例代码. 1.从Java虚拟机创建的对象传到本地C/C++代码时会产生引用,根据 ...
- java 连接池配置_java数据库连接池配置的几种方式
关于java数据库连接池配置的几种方式 今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下 ...
- Android通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
在加载大量数据的时候,经常会用到异步加载,所谓异步加载,就是把耗时的工作放到子线程里执行,当数据加载完毕的时候再到主线程进行UI刷新.在数据量非常大的情况下,我们通常会使用两种技术来进行异步加载,一是 ...
- Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比 标签: AndroidAsyncTaskThreadPool异步加载view 2 ...
- 创建线程池有哪几种方式呢?
转自: 创建线程池有哪几种方式呢? 下文笔者讲述创建线程池的方法分享,如下所示 java原生提供创建线程池的方式如下 newSingleThreadExecutor():它的特点在于工作线程数目被限制 ...
- JDK1.8 创建线程池有哪几种方式?
JDK1.8 创建线程池有哪几种方式? newFixedThreadPool 定长线程池,每当提交一个任务就创建一个线程,直到达到线程池的最大数量,这时线程数量不再变化,当线程发生错误结束时,线程池会 ...
- 创建线程池有哪几种方式?
线程池创建有七种方式,最核心的是最后一种: newSingleThreadExecutor():它的特点在于工作线程数目被限制为 1,操作一个无界的工作队列,所以它保证了所有任务的都是被顺序执行,最多 ...
最新文章
- 【计算机网络】计算机网络 标准化及组织 ( 标准化工作 | 标准化工作流程 | 标准化工作组织 )
- android配置文件说明
- 任务栏托盘不消失的问题-有启示
- nginx nodejs环境配置_基于docker的nodejs、php开发环境,包含多种组合安装
- POJ - 3926 Parade(单调队列优化dp)
- -js中json数组 以表格形式_为什么js类数组加上splice方法就是数组形式,不加就是对象形式?...
- django language_「基于Python技术的智慧中医商业项目」Django问诊系统篇-1.系统配置...
- lnmp一键安装包删除添加的域名
- jquery 获取日期时间
- mui获取css参数,Mui-获取时间-调用手机api
- html节点分析,解析html程序(C#版)——遍历各个节点(mshtml)
- 悉尼大学理学院计算机科学,【悉尼大学理学院专业】 - 澳大利亚留学联盟
- Dubbo支持自适应等待无损下线
- DevOps的技术和工具有哪些?
- html实现跳跳棋游戏,原生JS实现的跳一跳小游戏完整实例
- 计步器(Pedometer)实现原理简介
- RealView MDK的指定位置
- 如何制作自己的网页字体图标
- 分支语句与循环语句(二)
- 【vue】二、vue2仿去哪儿网app——首页开发