mariaderrico / DPA

The DPA package is the scikit-learn compatible implementation of the Density Peaks Advanced clustering algorithm. The algorithm provides robust and visual information about the clusters, their statistical reliability and their hierarchical organization.
BSD 3-Clause "New" or "Revised" License
27 stars 9 forks source link

ValueError: numpy.ndarray size changed, may indicate binary incompatibility. #7

Open alirizaaribas opened 2 years ago

alirizaaribas commented 2 years ago

Hi, Is this error the consequence of version incompatibility? What is your version? Can you share your environment? Thanks.

ValueError                                Traceback (most recent call last)
File <timed eval>:1, in <module>

File ~/miniconda3/lib/python3.9/site-packages/Pipeline/DPA.py:410, in DensityPeakAdvanced.fit(self, X, y)
    407 else:
    408     # TODO: implement option for kNN
    409     pass
--> 410 self.labels_, self.halos_, self.topography_, self.g_, self.centers_ = _DensityPeakAdvanced(self.densities_, 
    411                                                       self.err_densities_, self.k_hat_, 
    412                                                       self.nn_distances_, self.nn_indices_, self.Z)
    415 self.is_fitted_ = True
    417 return self

File ~/miniconda3/lib/python3.9/site-packages/Pipeline/DPA.py:80, in _DensityPeakAdvanced(densities, err_densities, k_hat, distances, indices, Z)
     30 def _DensityPeakAdvanced(densities, err_densities, k_hat, distances, indices, Z):  
     31     """Main function implementing the Density Peak Advanced clustering algorithm: 
     32 
     33     * Automatic detection of cluster centers
   (...)
     78 
     79     """
---> 80     from Pipeline import _DPA
     82     # We define as cluster centers the local maxima of g, where g is defined as density-err_density.
     83     g = [densities[i]-err_densities[i] for i in range(0,len(densities))]

File ~/PHDJUPYTER/TEMPP/DPA/src/Pipeline/_DPA.pyx:1, in init Pipeline._DPA()
----> 1 # !python
      2 # cython: boundscheck=False
      3 # cython: cdivision=False

ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
mariaderrico commented 2 years ago

Hi, It sounds like version incompatibility with the numpy package. In my environment I have numpy 1.21.6. Have you tried upgrading or reinstalling it?