解决 warning 显示 The linear_assignment function is deprecated in 0.21 and will be removed from 0.23. Us...

Vera ·
更新时间:2024-09-20
· 637 次阅读

用以下代码做实验

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


作者:clemente620



IS FROM AND linear

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Belle 2020-10-12
942