8

numpy を使用する python コードがいくつかあり、これを 1 年以上正常に実行しています。先週、突然次のエラーが発生しました。

/usr/local/lib/python2.7/dist-packages/numpy/core/fromnumeric.py:2507: VisibleDeprecationWarning: `rank` is deprecated; use the `ndim` attribute or function instead. To find the rank of a matrix see `numpy.linalg.matrix_rank`.
  VisibleDeprecationWarning)

私はこれをオンラインであまり見つけることができませんが、これは古いバージョンの scipy のバグによるものであるという提案を見つけました (ただし、私のコードは実際には scipy を直接使用していません)。numpy 1.9.2 および scipy 0.15.1 で python 2.7.9 にアップグレードしましたが、それでも同じエラーが発生します。何が原因なのか、これを修正する方法がわかりません。

4

1 に答える 1

6

NumPy 1.9.0のリリース ノートから:

rank関数

ランク関数は、 との混同を避けるために廃止されましたnumpy.linalg.matrix_rank

開発者は、「ランク」という言葉を、配列が持つ線形に独立した行の数を意味するために予約し、次元数を意味するためにも使用しないことに適していると考えたようです。

この関数は、NumPy の将来のメジャー リリースには存在しません。したがって、np.rank配列の次元数を見つけるために を使用する代わりに、警告の提案に従い、代わりにndim配列または関数の属性を使用してnp.ndimください。

とりあえず警告を抑制したい場合は、warningsモジュールを使用してメッセージを無視できます。

于 2015-04-20T17:27:40.370 に答える