解决 warning 显示 The linear_assignment function is deprecated in 0.21 and will be removed from 0.23. Use scipy.optimize.linear_sum_assignment instead

用以下代码做实验

import time
import cv2 as cv
import glob
import argparse
import sys
import numpy as np
import os.path
from collections import deque
from sklearn.utils.linear_assignment_ import linear_assignment

.....
.....
for i in range(100):
    indices = linear_assignment(cost_matrix)

输出显示

DeprecationWarning: The linear_assignment function is deprecated in 0.21 and will be removed from 0.23. Use scipy.optimize.linear_sum_assignment instead.

经过查阅相关资料,代码部分替换为下面形式即可解决

不同之处在于返回格式: linear_assignment() 返回一个 numpy 数组和linear_sum_assignment() 返回 一个 numpy 数组的元组。通过转换 linear_sum_assignment()输出为array并转置它,可以获得相同的输出。

import time
import cv2 as cv
import glob
import argparse
import sys
import numpy as np
import os.path
from collections import deque
from scipy.optimize import linear_sum_assignment # 代替上面 linear_assignment

indices = linear_sum_assignment(cost_matrix)
indices = np.asarray(indices)
indices = np.transpose(indices)

参考资料


https://stackoverflow.com/questions/57369848/how-do-i-resolve-use-scipy-optimize-linear-sum-assignment-instead

原文地址:https://www.cnblogs.com/clemente/p/12321745.html

时间: 2024-10-09 00:12:41

解决 warning 显示 The linear_assignment function is deprecated in 0.21 and will be removed from 0.23. Use scipy.optimize.linear_sum_assignment instead的相关文章

解决PHP显示Warning和Notice等问题

PHP在安装后,会在php.ini 文件中设置报错.提醒.警告等方式的出现,这样的方式可以使我们在调试PHP程序的时候能及时了解程序所存在的问题.然后,有时候我们并不需要提醒.警告等内容,比如当我们使用PHP5.5(或更高)时,搭配MySql 开发环境时,使用了较老的 MySql连接方式,此时PHP 就会提示:请使用最新的 MySql 连接方式,当你在使用其读取数据库内容作为 json 格式(或其他)返回前台时,往往内容就会发生错误 如何屏蔽这个错误呢,方法有下: 1,在可能(或已经)发生提醒,

解决warning: incompatible implicit declaration of built-in function 'malloc'

由于代码中使用了malloc函数和字符串函数,编译时出现错误 warning: incompatible implicit declaration of built-in function 'malloc' warning: incompatible implicit declaration of built-in function 'bzero' warning: incompatible implicit declaration of built-in function 'strncpy  

linux系统下,警告:warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration] 和 warning: the `gets' function is dangerous and should not be used. 的由来和解决方法。

字符数组 的英文名字是 char [] gets()函数的基本用法为:char *gets(char *s); 该函数的参数是一个字符数组,该函数的返回值也是一个字符数组. linux下的代码如下: 1 #include <stdio.h> 2 3 int main() 4 { 5 char a[100] = { 0 }; 6 gets(a); 7 printf("%s\n", a); 8 return 0; 9 }-----------------------------

vs的【warning C4996:&#39;fopen&#39;: This function or variable may be unsafe】解决方案

转载自:http://my.oschina.net/liujinofhome/blog/36287 以及http://blog.sina.com.cn/s/blog_562f523f0100rezj.html 二.编译警告:warning C4996 与 Security Enhancements in the CRT 将过去的工程用VS2005打开的时候.你有可能会遇到一大堆的警告:warning C4996.比如:warning C4996: 'strcpy': This function

VS2012 [warning C4996]: &#39;sprintf&#39;: This function or variable may be unsafe.

使用VS2012编译时,会出现以下警告: warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.如图: c:\program files (x86)\microsoft visual stu

【VC】warning C4996: &#39;XXXX&#39;: This function or variable may be unsafe.

关于VS系列使用 Unicode 格式产生以上警告: warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. MSDN Generic-Text Routine Mappings TCHAR.H

warning: control reaches end of non-void function 和 warning: implicit declaration of function &#39;rsgClearColor&#39; is invalid in C99

用gcc编译一个程序的时候出现这样的警告: warning: control reaches end of non-void function 它的意思是:控制到达非void函数的结尾.就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何值.这时候,最好检查一下是否每个控制流都会有返回值. <Android应用性能优化> p202 hellorendering.rs 文件: #pragma version(1) #pragma rs java_package_name(com.len

warning: implicit declaration of function &#39;func1&#39; [-Wimplicit-function-declaration]

warning: implicit declaration of function 'func1' [-Wimplicit-function-declaration] 这个警告是因为func1函数所在的 .h 文件没有生成对应的 .o 文件,即函数所在文件没有编译.解决办法就是加上include. 如果函数func1与主函数在同一文件下,注意函数引用与函数声明的顺序. 如图所示,加引用函数之前声明,或者直接将所调用函数直接放在引用之前都可以. warning: implicit declarat

warning C4996: &#39;strcpy&#39;: This function or variable may be unsafe. Consider using strcpy_s instead.

使用VS2005以上版本(VS2005.VS2008.VS2010)编译在其他编译器下正常通过的C语言程序,你可能会遇到类似如下的警告提示: 引用内容warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for det