ValueError: Invalid type <class ‘numpy.int32‘> for the flop count,Please use a wider type to avoid

news/2025/2/10 23:59:56/

        在使用fvcore模块计算模型的flops时,遇到了标题中的问题,记录一下解决方案。

        首先是在jit_analysis.py的589行出错。经过调试发现,op_counts.values()的类型是int32,但是计算要求的类型只能是int、float、np.float64和np.int64,因此需要做如下修改:

                inputs, outputs = list(node.inputs()), list(node.outputs())op_counts = self._op_handles[kind](inputs, outputs)if isinstance(op_counts, Number):op_counts = float(op_counts)  # 手动进行强制转换op_counts = Counter({self._simplify_op_name(kind): op_counts})for v in op_counts.values():if not isinstance(v, (int, float, np.float64, np.int64)):raise ValueError(f"Invalid type {type(v)} for the flop count! ""Please use a wider type to avoid overflow.")

        添加了注释的部分为我手动修改。

        然后,在jit_handles.py处有一个警告,意思是:变量的范围不够大,值出现了溢出(这可能会导致最终计算结果为0)。解决方案在https://github.com/facebookresearch/fvcore/issues/104

        如果进不去github,改进代码如下:

try:from math import prod
except ImportError:from numpy import prod as prodnp  # 修改def prod(x):  # 新增return int(prodnp(x))


http://www.ppmy.cn/news/196047.html

相关文章

error #6633: The type of the actual argument differs from the type of the dummy argument.

Intel fortran编译器编译较早的fortran代码出现上述错误。这错误是说,函数调用时形参和实参不匹配。类似,形参声明了一个较大数组,实参确实一个较小的数组;或者反过来。这个错误是visual studio中的默认选项“check routine inter…

android版本9vivoy83,vivoy83好吗 vivoy83配置参数一览【图文详解】

vivoy83已经正式发布,这是一款主打再拍功能的手机,并且具备很高的颜值,价格相对便宜,因此是一款性价比很高的手机,那么vivoy83好吗?下面就来具体了解一下。 vivoy83好吗? vivo Y83采用了6.22英寸1520*720显示屏&…

vivo Y83的Usb调试模式在哪里,打开vivo Y83Usb调试模式的教程

当我们使用安卓手机通过数据线连接到PC的时候,如果手机没有开启USB调试模式,PC则没能成功识别我们的手机,部分工具也没能正常使用,如果遇到这个情况我们需要找处理方法将手机的USB调试模式打开,如下资料我们记录一下vi…

numpy的asarray和array的区别

相同:array和asarray都可以将数组转化为ndarray对象 区别:当参数为一般数组时,两个函数结果相同;当参数本身就是ndarray类型时,array会新建一个ndarray对象,作为参数的副本,但是asarray不会新建…

MT6738/MT6738T芯片资料,MT6738处理器功能介绍

MT6738处理器是前两年联发科推出的一款面向中低端市场的全新解决方案平台,现在估计也没多少手机搭载这款处理器了。 下面我们看看MT6738和MT6738T的性能是如何的? MT6738和MT6738T处理器参数对比: 分析: 从以上我们可以解读出&…

冒泡排序实现当是字母时升序排序,当是数字时,实现降序排序。

public static void main(String[] args) {//字母是升序&#xff0c;数值倒序&#xff0c;E系列放最后或数值倒序List<String> list1 new ArrayList<>();list1.add("Y79A");list1.add("Y67A");list1.add("Y79");list1.add("Y5…

numpy中array,asarray和asanyarray的区别

一、先讨论默认情况下 1、array和asarray都可以将结构数据转化为ndarray&#xff0c;但是主要区别就是当数据源是ndarray时&#xff0c;array仍然会copy出一个副本&#xff0c;占用新的内存&#xff0c;但asarray不会。 也就是说当数据是ndarray时&#xff0c;a array&#x…

JS Typed Array 定型数组

定型数组&#xff08;typed array&#xff09;是一种类似数组的对象&#xff0c;提供了一种用于在内存缓冲区中访问原始二进制数据的机制&#xff0c;可以提升向原生库传输数据的效率。 历史由来 随着浏览器的流行&#xff0c;人们期待通过它来运行复杂的 3D 应用程序。 早在…