Windows 7 中 Kmeans 出现“无法找到物理核心数量”错误

问题描述 投票:0回答:1

我在 64 位 Windows 7 上运行 Python 3.8.10。我正在尝试运行这个简单的示例:

from sklearn.cluster import KMeans

import numpy as np

X = np.array([[1, 2], [1, 4], [1, 0],

              [10, 2], [10, 4], [10, 0]])

kmeans = KMeans(n_clusters=2, random_state=0, n_init="auto").fit(X)

kmeans.labels_

kmeans.predict([[0, 0], [12, 3]])

kmeans.cluster_centers_

但是我收到此警告,并且代码无法运行:

Warning (from warnings module):

  File "C:\Users\Maria\AppData\Local\Programs\Python\Python38\lib\site-packages\joblib\externals\loky\backend\context.py", line 136

    warnings.warn(

UserWarning: Could not find the number of physical cores for the following reason:

[WinError 2] El sistema no puede encontrar el archivo especificado

Returning the number of logical cores instead. You can silence this warning by setting LOKY_MAX_CPU_COUNT to the number of cores you want to use.

  File "C:\Users\Maria\AppData\Local\Programs\Python\Python38\lib\site-packages\joblib\externals\loky\backend\context.py", line 257, in _count_physical_cores

    cpu_info = subprocess.run(

  File "C:\Users\Maria\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 493, in run

    with Popen(*popenargs, **kwargs) as process:

  File "C:\Users\Maria\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 858, in __init__

    self._execute_child(args, executable, preexec_fn, close_fds,

  File "C:\Users\Maria\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 1311, in _execute_child

    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,

我将:LOKY_MAX_CPU_COUNT设置为2,因为这是我的PC拥有的核心数量,但它不起作用。

有人有想法吗?

python windows scikit-learn k-means
1个回答
0
投票

试试这个:

import os

os.environ['OMP_NUM_THREADS'] = '1'

...
© www.soinside.com 2019 - 2024. All rights reserved.