Jupyter笔记本电脑随机停止使用所有CPU内核

时间:2019-04-25 18:45:09

标签: python-3.x multithreading jupyter-notebook linear-regression cpu-usage

我目前正在为一项家庭作业分配一个简单的回归任务(不涉及ML库,只有我自己的代码)。问题是Jupyter有时会使用我95%+的CPU(这很好,我想使用8600k),但经常决定根本不使用任何额外的线程,并保持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

1 个答案:

答案 0 :(得分:1)

这看起来更像是一个麻木的问题,而不是一个jupyter问题。看看https://roman-kh.github.io/numpy-multicore/可以使numpy使用更多的内核。