В настоящее время я выполняю простую регрессионную задачу (без библиотек ML, только мой собственный код) для домашнего задания.Проблема в том, что Jupyter иногда использует 95% + моего процессора (это хорошо, у меня есть 8600 КБ, который я хотел бы использовать), но часто решает вообще не использовать никаких дополнительных потоков и остается на постоянном уровне использования 20%.Мой цикл обратной связи увеличился в 6 раз только из-за этого.
Я искал все параметры, связанные с jupyter, которые могли бы иметь отношение, но не нашел ни одного.Есть ли объяснение этой проблемы?
РЕДАКТИРОВАТЬ: Вот код, который я сейчас использую.Переданные данные - это массив 30000x36 np.Я не знаю, как jupyter идет параллельно с этим, но эй, иногда так и получается.
def hyp(theta, X):
return X.dot(theta)
def cost_function(theta,X,Y):
return (1.0 / ( 2 * X.shape[0] ) ) * np.sum( (hyp(theta, X) - Y ) ** 2 )
def derivative_cost_function(theta, X, Y):
e = hyp(theta, X) - Y
return (1.0 / X.shape[0]) * X.T.dot(e)
def GradientDescent(X, Y, maxniter=400000):
nexamples = float(X.shape[0])
thetas = np.ones(X.shape[1],)
alpha = 0.001
print("Before:", cost_function(thetas, X, Y))
print_iter = 100
for i in range (maxniter):
dtheta = derivative_cost_function(thetas, X, Y)
thetas = thetas - alpha * dtheta
if i % print_iter == 0:
print(i, cost_function(thetas, X, Y))
print("After:", cost_function(thetas, X, Y))
return thetas