AttributeError: module 'numpy' has no attribute 'int'

Posted by Zora Stowers on Tuesday, May 21, 2024

I tried to run my code in another computer, while it successfully compiled in the original environment, this error can outta nowhere:

File "c:\vision_hw\hw_3\cv2IP.py", line 91, in SECOND_ORDER_LOG original = np.zeros((5,5),dtype=np.int) File "C:\Users\brian2lee\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\numpy\__init__.py", line 284, in __getattr__ raise AttributeError("module {!r} has no attribute " AttributeError: module 'numpy' has no attribute 'int' 

I have tried reinstallin numpy but it did not work. Down below is my code:

def SECOND_ORDER_LOG (self,img): original = np.zeros((5,5),dtype=np.int) original[2,2] = 1 kernel = np.array([[ 0, 0, -1, 0, 0], [ 0, -1, -2, -1, 0], [-1, -2, 16, -2, -1], [ 0, -1, -2, -1, 0], [ 0, 0, -1, 0, 0]]) result = original + 1 * kernel sharpened = cv2.filter2D(img, -1, result) return sharpened 

2 Answers

numpy.int was deprecated in NumPy 1.20 and was removed in NumPy 1.24.

You can change it to numpy.int_, or just int.

0

The error you're seeing (AttributeError: module 'numpy' has no attribute 'int') suggests that you're trying to use numpy.int, which isn't an attribute in numpy. However, there's numpy.int_, which is the exact equivalent of Python's built-in int but it's available for array operations inside numpy.

If you're not working within the numpy framework for the task causing this error, it's recommended to simply use Python's built-in int.

numpy.int (along with other similar types) was deprecated in NumPy 1.20 and subsequently removed in NumPy 1.24. Therefore, using numpy.int in versions after 1.24 will raise an error. Since numpy.int is now removed, using native Python's int type is the easiest replacement when numpy's specific capabilities aren't needed.

ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJobm1xZGuFdYGOmqutqpmXwrWxxKupqKpdorylwcueZKetnaXGbrTArGSnp12WwbW%2ByJusrZ1dnru1