首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用4个CPU和python训练多个模型的时间?

如何使用4个CPU和python训练多个模型的时间?
EN

Stack Overflow用户
提问于 2019-04-26 10:52:17
回答 1查看 597关注 0票数 0

我的任务是

代码语言:javascript
运行
复制
from sklearn.gaussian_process import GaussianProcessRegressor

num = 100
model = dict()

for i in range(100):
    model[i]=GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=20)

for i in range(num):
    model[i].fit(X,Y)

其中X,Y是我的训练数据,分别包含特征和标签。

我的Ubuntu有4个CPU。因此,为了将训练时间减少到上述代码的四分之一,我希望同时在CPU-0上执行model[0].fit(X, Y)、在CPU-1上执行model[1].fit(X, Y)、在CPU-2上执行model[2].fit(X, Y)和在CPU-3上执行model[3].fit(X, Y)。我该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2019-04-26 11:19:54

将input_x和input_y替换为列表中的实际训练数据。

代码语言:javascript
运行
复制
input_x=[X for i in range(100)]
input_y=[Y for i in range(100)]

def trainmodel(X,Y):
    model=GaussianProcessRegressor(n_restarts_optimizer=20)
    model.fit(X,Y)
    return model

models=joblib.Parallel(n_jobs=4,verbose=1)(map(joblib.delayed(trainmodel),input_x,input_y))

您还应该检查可用cpu的数量,以防万一

代码语言:javascript
运行
复制
import multiprocessing
multiprocessing.cpu_count()
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55860169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档