【已解决】AttributeError: module ‘numpy‘ has no attribute ‘int‘.

2023-06-28 10:13:43

问题详情

AttributeError: module ‘numpy’ has no attribute ‘int’.
np.int was a deprecated alias for the builtin int. To avoid this error in existing code, use int by itself. Doing this will not modify any behavior and is safe.

Traceback (most recent call last):
  File "/home/wh/projects/DenseNet_Demo/train_resnet.py", line 17, in <module>
    from torchtoolbox.transform import Cutout
  File "/home/wh/anaconda3/envs/pytorch39/lib/python3.9/site-packages/torchtoolbox/transform/__init__.py", line 5, in <module>
    from .autoaugment import *
  File "/home/wh/anaconda3/envs/pytorch39/lib/python3.9/site-packages/torchtoolbox/transform/autoaugment.py", line 194, in <module>
    Compose([Posterize(0.4, 8), Rotate(0.6, 9)]),
  File "/home/wh/anaconda3/envs/pytorch39/lib/python3.9/site-packages/torchtoolbox/transform/autoaugment.py", line 104, in __init__
    ranges = np.round(np.linspace(8, 4, 10), 0).astype(np.int)
  File "/home/wh/anaconda3/envs/pytorch39/lib/python3.9/site-packages/numpy/__init__.py", line 305, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'int'.
`np.int` was a deprecated alias for the builtin `int`. To avoid this error in existing code, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

在这里插入图片描述

问题原因

新版本的numpy里面没有np.int了。

解决方法

第一种,降低numpy版本,安装1.20以下的版本。

pip uninstall numpy

pip install numpy==1.19.0

第二种,修改源码。

ranges = np.round(np.linspace(8, 4, 10), 0).astype(np.int)

修改为:

ranges = np.round(np.linspace(8, 4, 10), 0).astype(int)

如果,对降低numpy版本后,影响到其他的库,可以采用第二种方法。

专栏目录:神经网络精讲与实战

这篇文章,是对专栏的总目录,方便大家查看文章。这个专栏我计划整理一些经典常用的主干网络模型,对其进行讲解和实战。由浅入深,逐步增加深度,让大家更容易接受。

PDF版的文章和实战代码以及数据集,我会放到网盘上,大家在文章的末尾可以看到。

AlexNet

第一篇 AlexNet——论文翻译

第二篇 AlexNet——模型精讲

第三篇 制作数据集

第四篇 AlexNet——网络实战
在这里插入图片描述

VGGNet

第五篇 VGGNet——论文翻译

第六篇 VGGNet——模型精讲

第七篇 图像分类的评价指标

第八篇 VGGNet——网络实战
在这里插入图片描述

GoogLeNet

第九篇 GoogLeNet——论文翻译

第十篇 GoogLeNet——模型精讲

第十一篇 绘图matplotlib.pyplot的使用

第十二篇 GoogLeNet——网络实战
在这里插入图片描述

Inception V2——V4

第十三篇 Inception V2——论文翻译

第十四篇 Inception V3——论文翻译

第十五篇 Inception V4——论文翻译

第十六篇 Inception V2、Inception V3、Inception V4模型详解

第十七篇 PyTorch学习率调整策略

第十八篇 InceptionV3实战

ResNet

第十九篇 ResNet——论文翻译

第二十篇 ResNet——模型讲解

第二十一篇 数据增强

第二十二篇 ResNet实战
在这里插入图片描述

DenseNet

第二十三篇 DenseNet——论文翻译

第二十四篇 DenseNet——模型讲解

第二十五篇 argparse模块

第二十六篇 DenseNet实战

在这里插入图片描述

SE-ResNet

第二十七篇 SeNet——论文翻译

第二十八篇 SeNet模型解析

更多推荐

Python实战:用多线程和多进程打造高效爬虫

文章目录🍋引言🍋为什么要使用多线程和多进程?🍋线程的常用方法🍋线程锁(也称为互斥锁或简称锁)🍋小案例🍋实战---手办网🍋总结🍋引言在网络爬虫的世界里,效率是关键。为了快速地获取大量数据,我们需要运用一些高级技巧,如多线程和多进程。在本篇博客中,我们将学习如何使用Python的多线程和多进程来构建一个高效

c++ 归并排序

归并排序算法时间复杂度较为稳定,一般为nlogn,而快速排序受源数组排序影响较大,今天来学习归并排序。一.归并排序代码首先上代码:可以直接运行#include<bits/stdc++.h>usingnamespacestd;voidinsertsort(vector<int>&nums,intleft,intmid,i

中兴面试-Java开发

1、Springboot框架,yarn是怎么配置的SpringBoot本身没有直接的配置或集成与YARN(YetAnotherResourceNegotiator)的特性,YARN是Hadoop的一个资源管理和作业调度平台。如果你想在YARN上运行SpringBoot应用,你需要考虑将你的SpringBoot应用打包为

分布式AKF拆分原则

目录1前言2什么是AKF3如何基于AKFX轴扩展系统?4如何基于AKFY轴扩展系统?5如何基于AKFZ轴扩展系统?6小结1前言当我们需要分布式系统提供更强的性能时,该怎样扩展系统呢?什么时候该加机器?什么时候该重构代码?扩容时,究竟该选择哈希算法还是最小连接数算法,才能有效提升性能?在面对Scalability可伸缩性

大数据-玩转数据-Flink恶意登录监控

一、恶意登录对于网站而言,用户登录并不是频繁的业务操作。如果一个用户短时间内频繁登录失败,就有可能是出现了程序的恶意攻击,比如密码暴力破解。因此我们考虑,应该对用户的登录失败动作进行统计,具体来说,如果同一用户(可以是不同IP)在2秒之内连续两次登录失败,就认为存在恶意登录的风险,输出相关的信息进行报警提示。这是电商网

图解Raft协议

前言分布式系统设计中,在极大提高可用性、容错性的同时,带来了一致性问题(CAP理论),Raft协议就是解决分布式中的一致性问题。最近研究了Raft协议,谈谈自己对Raft协议的理解。希望这篇文章能够帮助大家理解。raft协议是什么?Raft协议是一种分布式一致性算法(共识算法),共识就是多个节点对某一个事件达成一致的算

网络编程套接字 | TCP套接字

前面的文章中我们使用UDP套接字编写了四个版本,不同的UDP服务器,在本文中我们将要对TCP套接字进行几个不同的版本的代码的编写,首先测试一下TCP套接字的代码,然后是将这个版本进行修改成多进程版本的,再将代码修改成多线程版本的,最后在编写一个线程池版本的代码。在编写TCP套接字之前我们会使用如下的一些APIsocke

QT基础教程(QT中的文件操作)

文章目录前言一、文件操作方法二、QFileInfo类四、QTemporaryFile类总结前言本篇文章我们来讲解QT中的文件操作,文件操作对于QT来说是非常重要的一个点,那么下面的话将给大家详细的讲解QT中的文件操作。一、文件操作方法在QT中,文件操作是通过Qt的文件和目录处理类来完成的。以下是一些常用的文件操作功能:

FLASK中的鉴权的插件Flask-HTTPAuth

在Web应用中,我们经常需要保护我们的api,以避免非法访问。比如,只允许登录成功的用户发表评论等。Flask-HTTPAuth扩展可以很好地对HTTP的请求进行认证,不依赖于Cookie和Session。本文主要介绍两种认证的方式:基于密码和基于令牌(token)。1、安装$pipinstallFlask-HTTPA

数学建模——微分方程介绍

一、基础知识1、一阶微分方程称为一阶微分方程。y(x0)=y0为定解条件。其常规求解方法:(1)变量分离再两边积分就可以求出通解。(2)一阶线性求解公式通解公式:有些一阶微分方程需要通过整体代换,比如u=x+y,u=xy,u=x/y,u=1/yn等化为以上两种类型求解后再还原。2、二阶常系数微分方程【1】【2】【1】为

Java运行时数据区域

运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域:程序计数器程序计数器(ProgramCounterRegister)是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号

热文推荐