Python &引用;索引N超出大小为“N”的轴0的界限;当运行并行KMeans而顺序KMeans工作正常时

Python &引用;索引N超出大小为“N”的轴0的界限;当运行并行KMeans而顺序KMeans工作正常时,python,python-2.7,parallel-processing,scikit-learn,k-means,Python,Python 2.7,Parallel Processing,Scikit Learn,K Means,我正在尝试使用scikit学习实现并行运行KMeans,但始终收到以下错误消息: Traceback (most recent call last): File "run_kmeans.py", line 114, in <module> kmeans = KMeans(n_clusters=2048, n_jobs=-1).fit(descriptors) File "/usr/local/lib/python2.7/dist-packages/sklearn/cl

我正在尝试使用scikit学习实现并行运行KMeans,但始终收到以下错误消息:

Traceback (most recent call last):
  File "run_kmeans.py", line 114, in <module>
    kmeans = KMeans(n_clusters=2048, n_jobs=-1).fit(descriptors)
  File "/usr/local/lib/python2.7/dist-packages/sklearn/cluster/k_means_.py", line 889, in fit
    return_n_iter=True)
  File "/usr/local/lib/python2.7/dist-packages/sklearn/cluster/k_means_.py", line 362, in k_means
    for seed in seeds)
  File "/usr/local/lib/python2.7/dist-packages/sklearn/externals/joblib/parallel.py", line 768, in __call__
    self.retrieve()
  File "/usr/local/lib/python2.7/dist-packages/sklearn/externals/joblib/parallel.py", line 719, in retrieve
    raise exception
sklearn.externals.joblib.my_exceptions.JoblibIndexError: JoblibIndexError
_________________________________________________________________________
Multiprocessing exception:
..........................................................................
IndexError: index 11683 is out of bounds for axis 0 with size 11683
描述符
是一个形状为
(11683128)
的numpy数组


我是做错了什么,还是KMeans实现中存在缺陷

我应该怎么做(例如使用
binibatchmeans
等)


PS:我在Ubuntu 16.04 64位机器上运行它,带有4GB内存和Intel Core i7-4700HQ 2.40GHz

这个问题可以通过将输入数据转换为float64来解决,如描述符。astype(np.float64)


你能提供一个可复制的例子吗?你的sklearn版本是什么?@MaxU我的sklearn版本是0.18.1。问题是,我得到的错误不时出现,我不确定它是不是很容易重现。我已经连续六次收到它了,决定就此提出一个问题。但现在当我尝试代码时,错误不再出现。出于某种原因,在我看来,这更像是一个硬件问题。。。
kmeans = KMeans(n_clusters=2048, n_jobs=-1).fit(descriptors)