Pytorch: Conv2d рдХреЛ 3d рдЗрдирдкреБрдЯ рджреЗрдиреЗ рд╕реЗ рдЧрд▓рдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдордИ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: 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)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдВ! рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдЦреБрд╢ рд╣реИрдВред рдПрдХ рдЬрдирд╕рдВрдкрд░реНрдХ рднреЗрдЬреЗрдВ :)

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдХрд╛рд░ (рдмреИрдЪ_рд╕рд╛рдЗрдЬ, рдКрдВрдЪрд╛рдИ, рд╡рдЬрди) рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╕ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд╕реНрдерд┐рддрд┐ 1 рдкрд░ 1 рдЖрдпрд╛рдо рдЬреЛрдбрд╝рд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХреА рдЧрдИред рдкреБрдирд╢реНрдЪ. рдореИрдВ in_channels = 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рддреНрд░реБрдЯрд┐ рдЗрд╕рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ view4d рдореЗрдВ torch/csrc/autograd/functions/convolution.cpp рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рд╡рдЬрд╝рди рдЯреЗрдВрд╕рд░ рдХреЗ рднреА 3D рд╣реЛрдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╣реЛрддреА рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, (3D) рдЗрдирдкреБрдЯ рдХреЛ рдЖрдХрд╛рд░ (3, 10, 1, 20) рдХреЗ рд╕рд╛рде 4D рдЯреЗрдВрд╕рд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА рд╣рдо рд╡реЗрдЯ рдЯреЗрдВрд╕рд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ, рдЖрдХрд╛рд░ рдмреЗрдореЗрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╢рд╛рдпрдж рд╣рдореЗрдВ input.dim() != 4 рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рд╕реНрддрд░ ( nn.functional.conv2d рдореЗрдВ) рдкрд░ рдПрдХ рдЪреЗрдХ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП?

@рд╕реМрдорд┐рде рдЕрдЧрд░ рдЖрдк рдЗрд╕рд╕реЗ рдЦреБрд╢ рд╣реИрдВ, рддреЛ рдореИрдВ рдПрдХ рдкреАрдЖрд░ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реВрдВ

рд╣рд╛рдВ! рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдЦреБрд╢ рд╣реИрдВред рдПрдХ рдЬрдирд╕рдВрдкрд░реНрдХ рднреЗрдЬреЗрдВ :)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕