【问题标题】:AttributeError: module 'torch' has no attribute 'rfft' with PyTorchAttributeError:模块 'torch' 没有 PyTorch 的属性 'rfft'
【发布时间】:2021-08-11 07:07:13
【问题描述】:

我在使用符合documentation 的代码时遇到错误。 目标是使用piq Python 库计算特征相似性指数度量 (FSIM)。

终端输出:

TiffPage 1: ByteCounts tag is missing
Traceback (most recent call last):
  File "...\.venv\lib\site-packages\IPython\core\interactiveshell.py", line 3441, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-3044cfc208ce>", line 1, in <module>
    runfile('.../stackoverflow.py', wdir='...')
  File "...\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "...\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File ".../stackoverflow.py", line 15, in <module>
    main()
  File "...\.venv\lib\site-packages\torch\autograd\grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File ".../stackoverflow.py", line 10, in main
    fsim_index: torch.Tensor = piq.fsim(x, y, data_range=1., reduction='none')
  File "...\.venv\lib\site-packages\piq\fsim.py", line 84, in fsim
    pc_x = _phase_congruency(
  File "...\.venv\lib\site-packages\piq\fsim.py", line 241, in _phase_congruency
    imagefft = torch.rfft(x, 2, onesided=False)
AttributeError: module 'torch' has no attribute 'rfft'

代码:

from skimage import io
import torch
import piq

@torch.no_grad()
def main():
    x = torch.tensor(io.imread('scikit_image\cover\cover_1.tiff')).permute(2, 0, 1)[None, ...] / 255.
    y = torch.tensor(io.imread('scikit_image\stego\stego_1.tiff')).permute(2, 0, 1)[None, ...] / 255.

    fsim_index: torch.Tensor = piq.fsim(x, y, data_range=1., reduction='none')

    print(fsim_index)

if __name__ == "__main__":
    main()

【问题讨论】:

    标签: python python-3.x image image-processing pytorch


    【解决方案1】:

    最新版本的pytorch在模块torch.fft中实现了所有快速傅立叶函数,显然piq依赖于旧版本的pytorch,所以如果你想运行piq考虑降级你的pytorch版本,例如:

    pip3 install torch==1.7.1 torchvision==0.8.2 
    

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 2018-04-29
      • 1970-01-01
      • 2022-06-16
      • 2018-04-14
      • 2019-02-18
      • 1970-01-01
      • 2020-01-01
      • 2019-07-20
      相关资源
      最近更新 更多