python代码仅在linux集群中存在内存问题,在windows桌面pc中存在内存问题

xxslljrj  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(224)

我有一个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集群并没有这个功能。
任何建议或猜测都会对我大有帮助。非常感谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题