Я пытаюсь использовать некоторые sklearn
модули, написанные на Cython (о которых я не говорю). В модуле определен метод cdef inline...
, и кажется, что другие методы cdef
в модуле используют эти методы, но я не могу получить к ним доступ.
Здесь - это место, где определен класс, и что существует метод dist
:
cdef class EuclideanDistance(DistanceMetric):
#STUFF
cdef inline DTYPE_t dist(self, DTYPE_t* x1, DTYPE_t* x2,
ITYPE_t size) nogil except -1:
return euclidean_dist(x1, x2, size)
#MORESTUFF
И здесь мы видим, что метод dist
используется в других местах:
cdef inline DTYPE_t dist(self, DTYPE_t* x1, DTYPE_t* x2,
ITYPE_t size) nogil except -1:
"""Compute the distance between arrays x1 and x2"""
self.n_calls += 1
if self.euclidean:
return euclidean_dist(x1, x2, size)
else:
return self.dist_metric.dist(x1, x2, size) ####HERE!!!!
Но когда я пытаюсь использовать этот метод, его просто не существует ....
import sklearn.neighbors
help(sklearn.neighbors.dist_metrics.EuclideanDistance)
Как получить доступ к методу dist
?