numpyでDeprecationWarning: `np.int` is a deprecated alias for the builtin `int`が出るようになった

ゼロから作るDeepLearningをポチポチやってたらp46でタイトルのwarningに遭遇した

以下のバージョンで、

$ python -V
Python 3.10.0
$ pip freeze
numpy==1.21.4

以下のコードで再現する。

import numpy as np
print(np.array([1]).astype(np.int))

np.intint に直せばでなくなる。他の型含め、対応とか詳細は以下を見ればいい。 NumPy 1.20.0 Release Notes — NumPy v1.23.dev0 Manual

2021/1/31リリースのNumpy 1.20.0から出るようになったらしい。 github.com

おまけ

以下のブログでみた件がどうなってるのか確認してみた

cyanatlas.hatenablog.com

import numpy as np

x = np.log(10) > 1  # -> True
print(x, type(x))
print(x == True)
print(x == False)
$ python repro.py 
True <class 'numpy.bool_'>
True
False

特に挙動変わらなさそう

感想

python3.6でpip installすると1.20系じゃなくてnumpy1.19.5が入ったけど、この辺りが理由かもと思ったりした