Pytorch: memberikan input 3d ke Conv2d memberikan pesan kesalahan yang buruk

Dibuat pada 21 Mei 2017  ·  3Komentar  ·  Sumber: pytorch/pytorch

import torch
import torch.nn as nn
from torch.autograd import Variable

m = Variable(torch.randn(3, 10, 20))
nn.Conv2d(in_channels=3, out_channels=8, kernel_size=3)(m)
Traceback (most recent call last):
  File "too.py", line 6, in <module>
    nn.Conv2d(in_channels=3, out_channels=8, kernel_size=3)(m)
  File "/home/soumith/code/pytorch/torch/nn/modules/module.py", line 206, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/soumith/code/pytorch/torch/nn/modules/conv.py", line 237, in forward
    self.padding, self.dilation, self.groups)
  File "/home/soumith/code/pytorch/torch/nn/functional.py", line 43, in conv2d
    return f(input, weight, bias)
RuntimeError: expected 3D tensor
medium priority (this tag is deprecated)

Komentar yang paling membantu

Ya! sangat senang dengan ini. kirim PR :)

Semua 3 komentar

baru saja mengalami masalah serupa menggunakan data dengan bentuk (ukuran_batch, tinggi, berat), menambahkan 1 dimensi pada posisi 1 dan masalah diurutkan. PS. Saya menggunakan in_channels = 1.

Kesalahan terjadi karena panggilan ke view4d di torch/csrc/autograd/functions/convolution.cpp mengharapkan tensor bobot juga 3D.

Namun, input (3D) akan dikonversi ke tensor 4D dengan bentuk (3, 10, 1, 20), meskipun kita tidak mencoba melepaskan tensor bobot, ukurannya akan tidak cocok.

Mungkin kita harus menambahkan tanda centang di level Python (dalam nn.functional.conv2d ) untuk menaikkan jika input.dim() != 4 ?

@soumith jika Anda senang dengan ini, saya dapat mengirim PR

Ya! sangat senang dengan ini. kirim PR :)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

cdluminate picture cdluminate  ·  3Komentar

kuangliu picture kuangliu  ·  3Komentar

miguelvr picture miguelvr  ·  3Komentar

szagoruyko picture szagoruyko  ·  3Komentar

SeparateReality picture SeparateReality  ·  3Komentar