1. ホーム
  2. Python

Resolve "ImportError: cannot import name 'imresize'"."

2022-02-07 02:43:23
<パス

1. 問題の説明

質問と同様に、Pythonコードは以下の完全なエラーメッセージでエラーを報告します。

from scipy.misc import imresize
ImportError: cannot import name 'imresize'


場合によっては、Pillowをインストールする(コマンド。 pip install pillow ) が、ご自身の環境では Pillowはすでにインストールされていますが、それでも上記のエラーが報告されます。 それなら他のものでいいはずです。


2. 原因分析

検索してみると、imresizeはSciPyライブラリの最新版では非推奨となっており エラーを報告しているPython環境のSciPyライブラリのバージョンは1.3.0です。 というのが、上記の問題の原因です。

<ブロッククオート

imresize は非推奨です! imresize は SciPy 1.0.0 で非推奨となり、1.3.0 で削除される予定です。
---- から https://docs.scipy.org/doc/scipy-1.2.0/reference/generated/scipy.misc.imresize.html


3. 解決方法

別の書き方で、以下のimport文でnumpy経由で実装します(もちろん、それでもPillowライブラリに依存する必要があります。 pip install pillow をインストールする必要があります)。

from PIL import Image
import numpy as np


imresizeの使用例(コメントされた最初の行はscipyライブラリ、2番目の行はnumpyをベースにしています)。

# im = imresize(im, (h, int(w * aspect_ratio)), interp='bicubic')
im = np.array(Image.fromarray(im).resize((h, int(w * aspect_ratio))))







参考

  • https://docs.scipy.org/doc/scipy-1.2.0/reference/generated/scipy.misc.imresize.html
  • https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/issues/652