如何解决“改用 scipy.optimize.linear_sum_assignment”

2024-02-25

我正在使用 python 脚本进行人员检测。 我的脚本中有以下行:

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

当我运行我的脚本时,我得到以下几行:

/home/user/.local/lib/python3.6/site-packages/sklearn/utils/linear_assignment_.py:127:
     DeprecationWarning: The linear_assignment function is deprecated in 0.21 and will be removed from 0.23. Use scipy.optimize.linear_sum_assignment instead.
     DeprecationWarning)

请告诉我如何解决它。


您需要更换sklearn.utils.linear_assignment_.linear_assignment函数由scipy.optimize.linear_sum_assignment function.

区别在于返回格式:linear_assignment()正在返回一个numpy 数组 and linear_sum_assignment() a numpy 数组的元组。通过转换数组中的 Linear_sum_assignment() 的输出并转置它,可以获得相同的输出。

您的脚本应如下所示:

import time
import cv2 as cv
import glob
import argparse
import sys
import numpy as np
import os.path
from imutils.video import FPS
from collections import deque
from scipy.optimize import linear_sum_assignment

#compute your cost matrix
indices = linear_sum_assignment(cost_matrix)  
indices = np.asarray(indices)
indices = np.transpose(indices)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决“改用 scipy.optimize.linear_sum_assignment” 的相关文章

随机推荐