Python Pytorch:需要帮助实现自定义滑动窗口吗

Python Pytorch:需要帮助实现自定义滑动窗口吗,python,numpy,pytorch,convolution,Python,Numpy,Pytorch,Convolution,假设我有两个矩阵A和B,都是10x10。 现在我想要一个滑动窗口,3x3穿过a和B,并且: 计算以下结果: 然后取这个结果矩阵,求和,并将其保存在一个新矩阵内的位置e 如果应用加权和(即卷积),则内核等效于以下内容: 可直接使用torch.nn.functional.conv2d实现: import torch.nn.功能为F kernel=torch.Tensor([[-1,-2,-3], [-4,总和([1,2,3,4,6,7,8,9]),-6], [-7,-8,-9]]) kernel

假设我有两个矩阵A和B,都是10x10。 现在我想要一个滑动窗口,3x3穿过a和B,并且:

  • 计算以下结果:
  • 然后取这个结果矩阵,求和,并将其保存在一个新矩阵内的位置e

  • 如果应用加权和(即卷积),则内核等效于以下内容:

    可直接使用
    torch.nn.functional.conv2d实现:

    import torch.nn.功能为F
    kernel=torch.Tensor([[-1,-2,-3],
    [-4,总和([1,2,3,4,6,7,8,9]),-6],
    [-7,-8,-9]])
    kernel=kernel.reformate(1,1,3,3)
    A=火炬。随机数(1,5,5)
    B=火炬的随机数(1,5,5)
    输入=火炬堆栈([A,B])
    F.conv2d(输入、内核、填充=1)
    
    欢迎使用一些代码和尝试的解决方案。您是在a和B之间分别应用固定筛选器,还是筛选器是B的位置相关3x3窗口?