我有一个python代码,其中包括sklearn库中的svm模型和gaussianprocessregressor。
代码中有一个循环,在每个循环中,我用训练数据x和分类y训练svm和gp回归模型,训练数据x的维数从50 x 8(50个样本和8个特征)增加到1000 x 8(1000个样本和8个特征)。y也从10x1增加到1000x1。
for _itr in range(max_main_loop):
# initialize SVM
SVM_classifier = svm.SVC(kernel='rbf', C = 10000)
# initialize GP regressor
GP_regressor = MyGPR(normalize_y = True, n_restarts_optimizer = 0, alpha = 1e-7, copy_X_train = False)
# initialize Active sampling class
AS = ActiveSampling(X, y, SVM_classifier, GP_regressor, bounds, max_itr = max_itr)
# training start
AS.train()
当我通过vs代码运行代码时,该代码在内存为16 gb的windows 10桌面pc上运行得非常好。另外,当我检查内存使用情况时,它不会增加那么多。
然而,当我在linux集群中运行这段代码时,突然内存使用量增加得如此之快,它达到了内存限制,即使我将最大内存设置为32GB,作业也在大约20分钟内被终止。
有什么具体的原因吗?我的猜测是vs代码控制了它可以在内部使用多少内存,但linux集群并没有这个功能。
任何建议或猜测都会对我大有帮助。非常感谢。
暂无答案!
目前还没有任何答案,快来回答吧!