Conv λ μ΄μ΄λ₯Ό λ§λ€κ³ μ€μλ‘ ν¨λ©μ floatλ‘ μ λ¬νλ©΄ νΌλμ€λ¬μ΄ μ€λ₯ λ©μμ§κ° νμλμ΄ λλ²κ·ΈνκΈ°κ° λ μ΄λ €μμ§λλ€. λν μ λ°©ν₯ ν¨μ€λ₯Ό μνν λ μ€λ₯κ° λ°μν©λλ€.
self.cnn = nn.Conv1d(in_channels=self.input_size, out_channels=self.num_filters,kernel_size=kw_l,padding=1.0)
self.cnn(inp) # error is thrown in this line
μ€λ₯ λ©μμ§λ "λ°νμ μ€λ₯: μΈμ 1μ ννμ΄ μλλΌ int ννμ΄μ΄μΌ ν©λλ€"μ λλ€.
λͺ νν νμλ©΄ μλͺ»λ ννμ μ νμ ν¬ν¨νλλ‘ RuntimeErrorκ° μ λ°μ΄νΈλλ©΄ λμμ΄ λ μ μλ€κ³ μκ°ν©λλ€.
import torch
import torch.nn as nn
from torch.autograd import Variable
input = Variable(torch.randn(1, 1, 10))
output = nn.Conv1d(1, 1, 3, padding=1)(input) # fine
output = nn.Conv1d(1, 1, 3, padding=1.0)(input) # error
μ΄ μ€λ₯ λ©μμ§λ TupleParser
μ μν΄ λ°μνλ©°, μ΄ μμ μμ ꡬ문 λΆμ μ€μΈ 맀κ°λ³μλ μμ§ λͺ»νκ³ λ§€κ°λ³μμ μΈλ±μ€(μΈμ λͺ©λ‘μ μμ)λ§ μ μ μμ΅λλ€.
νν νμλ autograd.functions.*
λ‘ λ§€κ°λ³μλ₯Ό ꡬ문 λΆμνλ λ°λ§ μ¬μ©λλ―λ‘ TupleParser::parse
ν¨μλ₯Ό νμ₯νμ¬ λ§€κ°λ³μ μ΄λ¦λ κ°μ Έμμ TupleParser::invalid_type
λ‘ μ λ¬ν μ μμ΅λλ€. λ μλ―Έμλ μ€λ₯λ₯Ό throwν©λκΉ?
μλλ©΄ νμ΄μ¬ μμ€μμ μ΄λ¬ν μ ν κ²μ¬λ₯Ό μΆκ°ν μ μμ΅λκΉ?
@apaszke @soumith μ νΈνλ λ°©λ²/λμμ μλ €μ£Όμλ©΄ PRμ 보λ΄λλ¦¬κ² μ΅λλ€.
νν νμμ 맀κ°λ³μ μ΄λ¦μ μΆκ°νλ κ²μ΄ λμκ² μ’κ² λ€λ¦½λλ€.