DeepInsight-PCALab / CompactBilinearPooling-Pytorch

A Pytorch Implementation for Compact Bilinear Pooling.
182 stars 41 forks source link

NotImplementedError in fft #8

Closed gullalc closed 6 years ago

gullalc commented 6 years ago

I am getting this particular error while running sample test given in readme.

  File "CompactBilinearPooling/test.py", line 14, in <module>
    out = layer(bottom1, bottom2) 
  File "anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "CompactBilinearPooling/CompactBilinearPooling.py", line 91, in forward
    fft1_real, fft1_imag = afft.Fft()(sketch_1, Variable(torch.zeros(sketch_1.size())).cuda())
  File "anaconda3/lib/python3.6/site-packages/pytorch_fft/fft/autograd.py", line 16, in forward
    return fft(X_re, X_im)
  File "anaconda3/lib/python3.6/site-packages/pytorch_fft/fft/fft.py", line 25, in fft
    raise NotImplementedError
NotImplementedError

Now this is due to this function fft.py:

    if 'Float' in type(X_re).__name__ :
        f = th_fft.th_Float_fft1
    elif 'Double' in type(X_re).__name__: 
        f = th_fft.th_Double_fft1
    else: 
        raise NotImplementedError
    return _fft(X_re, X_im, f, 1)

Because inputs to fft() are tensors, type(sketch_1) does not include 'Float' or 'Double'. Any help is appreciated.

gullalc commented 6 years ago

Apologies. It looks like a pytorch version issue.