COOT icon indicating copy to clipboard operation
COOT copied to clipboard

Error with compute cost matrix when reproducing HDA

Open chenmzh opened this issue 3 years ago • 1 comments

Dear Authors,

I am trying to run the HDA script on my own dataset. The error comes when I run this code: M_lin = compute_cost_matrix(Ty,Sy_ss,v=100) and compute_cost_matrix is defined as:

M=ot.dist(ys.reshape(-1,1),yt.reshape(-1,1),metric=comp_(v))
return M

Then it will report the following:

~/test/lib/python3.7/site-packages/ot/utils.py in dist(x1, x2, metric, p, w)
    226             raise NotImplementedError()
    227         else:
--> 228             if metric.endswith("minkowski"):
    229                 return cdist(x1, x2, metric=metric, p=p, w=w)
    230             return cdist(x1, x2, metric=metric, w=w)

AttributeError: 'function' object has no attribute 'endswith'

On my local computer I try to edit the utils.py to avoid this error, but I wonder if there is a way to solve that when wrote the script.

Thank you very much for your attention!

chenmzh avatar Feb 24 '22 21:02 chenmzh

Hello,

I think it is because your "comp_(v)" is a function and in our code it should be a string (the name of the metric as written in the documentation of the cdist function).

tvayer avatar Feb 24 '22 21:02 tvayer