gpt4 book ai didi

memory-leaks - 使用 gridsearchcv 的内存泄漏

转载 作者:行者123 更新时间:2023-12-01 16:24:20 25 4
gpt4 key购买 nike

问题:我的情况似乎是运行 gridsearchcv 时出现内存泄漏。当我运行 1 或 32 个并发工作线程 (n_jobs=-1) 时,会发生这种情况。以前我在 ubuntu 16.04 上运行过多次,没有出现任何问题,但最近升级到 18.04 并进行了 ram 升级。

import os
import pickle
from xgboost import XGBClassifier
from sklearn.model_selection import GridSearchCV,StratifiedKFold,train_test_split
from sklearn.calibration import CalibratedClassifierCV
from sklearn.metrics import make_scorer,log_loss
from horsebet import performance
scorer = make_scorer(log_loss,greater_is_better=True)
kfold = StratifiedKFold(n_splits=3)

# import and split data
input_vectors = pickle.load(open(os.path.join('horsebet','data','x_normalized'),'rb'))
output_vector = pickle.load(open(os.path.join('horsebet','data','y'),'rb')).ravel()
x_train,x_test,y_train,y_test = train_test_split(input_vectors,output_vector,test_size=0.2)


# XGB
model = XGBClassifier()
param = {
'booster':['gbtree'],
'tree_method':['hist'],
'objective':['binary:logistic'],
'n_estimators':[100,500],
'min_child_weight': [.8,1],
'gamma': [1,3],
'subsample': [0.1,.4,1.0],
'colsample_bytree': [1.0],
'max_depth': [10,20],
}

jobs = 8
model = GridSearchCV(model,param_grid=param,cv=kfold,scoring=scorer,pre_dispatch=jobs*2,n_jobs=jobs,verbose=5).fit(x_train,y_train)

返回:用户警告:当一些工作被分配给执行者时,工作人员停止了。这可能是由于工作超时太短或内存泄漏造成的。 “超时或内存泄漏。”,UserWarning

TermatedWorkerError:执行程序管理的工作进程意外终止。这可能是由于调用函数时出现段错误或内存使用过多导致操作系统杀死工作线程造成的。工作线程的退出代码为 {SIGKILL(-9)}

最佳答案

我的问题的原因是我将 n_jobs=-1 放入 gridsearchcv 中,而它应该放在分类器中。这样问题就解决了。

关于memory-leaks - 使用 gridsearchcv 的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55848101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com