2
我正在处理一个具有500个维度的640万个样本的数据集,并且我试图将它分组为200个集群。我仅限于90GB的内存,当我尝试从sklearn.cluster运行MiniBatchKmeans时,操作系统将杀死用尽太多内存的进程。有没有办法减少小批量kmeans的内存使用量?
这是代码:
data = np.loadtxt('temp/data.csv', delimiter=',')
labels = np.genfromtxt('temp/labels', delimiter=',')
kmeans = cluster.MiniBatchKMeans(n_clusters=numClusters, random_state=0).fit(data)
predict = kmeans.predict(data)
Tdata = kmeans.transform(data)
它不会让过去集群。
对不起,我之前的回答是错误的。我错过了你没有使用GPU,但实际用完了主RAM。 –
我确实拥有GPU访问权限。你认为我可以重写这个在GPU上工作而不占用太多内存吗? – user1816679
不,你想要做的是延迟加载数据文件,我。即一片一片。我知道这是可能的,而且不是非常困难,但不幸的是现在不记得具体细节。 –