Как решить ошибку pdist, такую как "2-мерный массив должен быть передан"?
У меня ошибка pdist в третьей строке.
Сообщение об ошибке, как показано ниже.
A 2-dimensional array must be passed
Как я могу решить это?
def _filter_inconsistent(imgs, masks):
hists = np.array(map(_compute_img_hist, imgs))
dists = spdist.squareform(spdist.pdist(hists, metric='cosine'))
# + eye because image will be similar to itself. We dont want to include those.
close_pairs = dists + np.eye(dists.shape[0]) < 0.008
close_ij = np.transpose(np.nonzero(close_pairs))
# Find inconsistent masks among duplicates
valids = np.ones(len(imgs), dtype=np.bool)
for i, j in close_ij:
if _are_inconsistent(masks[i], masks[j]):
valids[i] = valids[j] = False
return np.array(imgs)[valids], np.array(masks)[valids]