我一直在玩一些使用anaconda的sklearn教程,但在Spyder工作时遇到了一个奇怪的问题。
import numpy as np
from sklearn.ensemble import RandomForestRegressor
x = np.random.uniform(1,100,1000)
y = np.log(x) + np.random.normal(0,0.3,1000)
# If running in Spyder IPython Console, it will freeze if n_jobs != 1
# Runs fine in all other situations, including a Spyder Python console.
clf = RandomForestRegressor(n_estimators=100, n_jobs=2, verbose=3)
clf.fit(x.reshape((1000,1)), y)
特别是,如果在IPython控制台中运行,任何使用多个线程的模型的尝试都将挂起(不产生输出)。
在常规Python控制台中,一切都按预期工作。
非常讨厌,起初相当混乱。