Pytorch maxpooling 通道维度

2023-12-07

我试图用 Pytorch 构建一个 cnn,但在 maxpooling 方面遇到了困难。我考了斯坦福举办的cs231n。我记得,maxpooling可以用作维度推导步骤,例如,我有这个(1, 20, height, width)输入ot max_pool2d(假设我的batch_size是1)。如果我使用 (1, 1) 内核,我想得到这样的输出:(1, 1, height, width),这意味着内核应该在通道维度上滑动。然而,在检查了 pytorch 文档后,它说内核在高度和宽度上滑动。感谢 Pytorch 论坛上的 @ImgPrcSng,他告诉我使用 max_pool3d,结果效果很好。但是 conv2d 层的输出和 max_pool3d 层的输入之间仍然存在重塑操作。所以很难聚合成 nn.Sequential,所以我想知道还有其他方法可以做到这一点吗?


像这样的东西会起作用吗?

from torch.nn import MaxPool1d
import torch.nn.functional as F


class ChannelPool(MaxPool1d):
    def forward(self, input):
        n, c, w, h = input.size()
        input = input.view(n, c, w * h).permute(0, 2, 1)
        pooled = F.max_pool1d(
            input,
            self.kernel_size,
            self.stride,
            self.padding,
            self.dilation,
            self.ceil_mode,
            self.return_indices,
        )
        _, _, c = pooled.size()
        pooled = pooled.permute(0, 2, 1)
        return pooled.view(n, c, w, h)

或者,使用einops

from torch.nn import MaxPool1d
import torch.nn.functional as F
from einops import rearrange


class ChannelPool(MaxPool1d):
    def forward(self, input):
        n, c, w, h = input.size()
        pool = lambda x: F.max_pool1d(
            x,
            self.kernel_size,
            self.stride,
            self.padding,
            self.dilation,
            self.ceil_mode,
            self.return_indices,
        )
        return rearrange(
            pool(rearrange(input, "n c w h -> n (w h) c")),
            "n (w h) c -> n c w h",
            n=n,
            w=w,
            h=h,
        )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pytorch maxpooling 通道维度 的相关文章

随机推荐

  • 修改ngx-charts的内部CSS

    当我旋转 ngx charts 时高级饼图示例 我的传奇号码被切断了 深入研究 CSS 这似乎是因为margin top被设置为 6px 在浏览器中试验后发现10px让事情看起来如我所愿 所以在组件的 CSS 中 我添加了 advanced
  • 如何组合 numpy 数组和文本列并导出到 csv

    我想组合一个 numpy 数组和一个列 其中一个字符串作为标识符导出到 csv 文件 然后我可以将其导入到 Excel 中 例如 a np random rand 6 4 b for i in range 6 b append test 所
  • 使用 ES6 语法和 Babel 扩展 Javascript 中的错误

    我正在尝试使用 ES6 和 Babel 来扩展 Error 它没有成功 class MyError extends Error constructor m super m var error new Error ll var myerror
  • 阻止 jquery-ui datepicker 在 beforeShow 中显示

    我想做这样的事情 var showme false mydatepicker datepicker beforeShow function input inst if showme stop showing 但禁用或隐藏似乎都不起作用 我想
  • 将 Power BI 连接到 S3 存储桶

    由于我是 Power BI 和 Redshift 的新手 需要一些指导 我的原始 JSON 数据以 gz 文件的形式存储在 Amazon S3 存储桶中 每个 gz 文件有多行 JSON 数据 我想将 Power BI 连接到 Amazon
  • Spring Batch Javaconfig - 参数化提交间隔又名块大小

    使用基于 Spring Batch xml 的配置 您可以参数化提交间隔 块大小 例如
  • 取消 Twitter 中待处理的 Bloodhound 请求 typeahead.js

    我的 Twitter typeahead js 设置如下 var filteredSource new Bloodhound datumTokenizer Bloodhound tokenizers obj whitespace value
  • WHERE 子句中的逻辑处理顺序或 SQL 标准

    几天前有人问我有关 SELECT 语句的逻辑处理顺序的问题 更具体地说 有关别名和 where 子句的问题 我不确定一个问题 如果我们有这样的查询 SELECT name AS first name FROM people WHERE fi
  • PhoneGap 中颜色选择器的示例代码

    我无法修复phonegap 中的colorpicker js 它不起作用 请帮忙吗 thanks colorSelector ColorPicker color 0000ff onShow function colpkr colpkr fa
  • 使用 AJAX 的文本内容和文件上传

    我正在为我的公司编写一个客户数据库系统 没有太多花哨的东西 但它做了它应该做的事情 现在所有基本的 文本 内容都已完成 我想在其中添加一些文件管理 我有几个表单通过ajax发送到后端 然后写入模型中的数据库 其中一些表格计划上传文档文件 有
  • 如何在时间列上组合基于约束的 R 数据帧

    我有两个 R 表 每个表都有一个用户列表和一个与他们采取特定操作的时间相对应的时间戳 其中第一个 df1 两个表具有详尽的用户列表 并且用户将具有具有不同时间戳的多行 第二 df2 将有一个更有限的用户列表 但用户将再次出现在表中 并具有不
  • 带有可编辑复选框的 JTable

    下面的代码是我的项目类之一 它生成一个框架JTable当我单击 查找 按钮时 一些数据将动态加载到表中 表的最后一列必须是带有事件的复选框 我尝试了这个复选框代码 从另一个项目中获取它 它不起作用 DefaultTableModel dtm
  • Perl 未在 Windows 10 中运行

    我刚刚在 64 位笔记本电脑上下载了适用于 Windows 10 的 ActivePerl 但是当我进入命令提示符时 perl v 会失败 除非目录是 C Perl64 bin 在这种情况下它会告诉我我有 Perl 5 20 2 版权所有
  • Kubernetes 部署 - 为图像拉取指定多个选项作为后备?

    我们所有可能的 docker 注册表 包括 Artifactory AWS ECR 和 GitLab 都曾一度遇到过镜像拉取问题 即使 DockerHub 偶尔也会出现问题 Kubernetes 部署中是否有一种方法可以指定 pod 可以从
  • 自定义运行时 node.js - 在 Google App Engine 中看不到我的自定义日志

    我们正在使用 Google App Engine 自定义运行时来运行移动应用程序的 Node js 服务器端代码 HTTP 请求日志记录工作正常 但我们的自定义日志存在问题 我们使用 Winston 和 log4js 作为日志记录框架 将应
  • jqPlot - 如何以编程方式查找哪个 jQuery UI 选项卡图存在

    请看下面的例子 http www jqplot com deploy dist examples hiddenPlotsInTabs html 在第一个示例中 通过捕获 tabshow 事件并查找选择了哪个选项卡来绘制隐藏图 tabs bi
  • 无法让 cabal 在 Windows 上找到 haskell-mpi 的 mpi 库 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 问题解决了 按照 Dons 发布的说明进行操作here
  • 如何创建包含单选和多选组合的完形填空题类型?

    我的问题出现在导出到 Moodle 的问题中 我打算创建一个完形填空题 其中一部分是单选 schoice 另一部分是多选 mchoice 使用 exams2moodle 函数导出时 我有两种可能的行为 所有问题都显示为 schoice 下拉
  • 如何使用 Ruby 对 iPhone 移动配置文件进行加密和签名

    我有一个由 iphone 配置实用程序生成的未签名的 xml 格式 模板 mobileconfig 文件 我想使用 openssl 对其进行加密和签名 并能够使用 Ruby on Rails 将其安装在 iphone 上 我不想创建 SCE
  • Pytorch maxpooling 通道维度

    我试图用 Pytorch 构建一个 cnn 但在 maxpooling 方面遇到了困难 我考了斯坦福举办的cs231n 我记得 maxpooling可以用作维度推导步骤 例如 我有这个 1 20 height width 输入ot max