首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用焦火炬分组卷积获取误差

用焦火炬分组卷积获取误差
EN

Stack Overflow用户
提问于 2019-11-28 15:47:50
回答 1查看 155关注 0票数 0

我正试图在非常大的图像(10kx10k像素)上使用Pytorch分组Conv2d操作符。我得到了一个RuntimeError:在网络中应用分组卷积时,偏移量太大了。有人知道怎么绕过这事吗?

可重复性代码:

代码语言:javascript
复制
import torch
import torch.nn as nn
import pdb


def create_img(size, batch_size=1, channels=3):
    return torch.FloatTensor(batch_size, channels, size, size).uniform_(-1, 1)


class TestModel(nn.Module):

    def __init__(self):
        super(TestModel, self).__init__()
        self.conv1 = nn.Conv2d(in_channels=64, out_channels=64, kernel_size=(3,3), stride=(1,1), groups=64, bias=False)

    def forward(self, x):
        out = self.conv1(x)
        return out


if __name__ == '__main__':
    model = TestModel()

    data = create_img(5002, channels=64)

    out = model(data)
    pdb.set_trace()

而错误是:

代码语言:javascript
复制
Traceback (most recent call last):
  File "test.py", line 26, in <module>
    out = model(data)
  File ".../pipenv/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in __call__
    result = self.forward(*input, **kwargs)
  File "test.py", line 17, in forward
    out = self.conv1(x)
  File ".../pipenv/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in __call__
    result = self.forward(*input, **kwargs)
  File ".../pipenv/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 320, in forward
    self.padding, self.dilation, self.groups)
RuntimeError: offset is too big

我正在使用Python3.6和Py火炬1.0.0。奇怪的是,这适用于较小的图像。例如,将图像大小从5002更改为502。

EN

回答 1

Stack Overflow用户

发布于 2019-11-28 16:02:30

通过将火炬更新到1.3.0来解决

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59092390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档