运行时错误:.append 时 CUDA 内存不足?

问题描述 投票:0回答:1

我有 50 个客户,但我想分别训练每 5 个客户,并将他们的权重保存在

w_locals
中,之后我想将所有权重保存在
w_totals

w_totals = []
for iter in range(epochs):
  
    w_locals = [w_glob for i in range(client_5)]
    
    for idxs_task in range(task_num):
        
        dataset = load_data() 
        
        for client_idx in range(client_5):
                   
            dataloader_train = load_data_train()
            w = train(copy.deepcopy(net_glob).to(device), dataloader_train) 
            w_locals[client_idx] = copy.deepcopy(w)
                      
        
        w_totals.append(copy.deepcopy(w_locals))

我确信当我添加此行时会出现错误

w_totals.append(copy.deepcopy(w_locals))
那么我该如何解决这个问题以及

python-3.x pytorch append
1个回答
0
投票

尝试先将权重传输到CPU,然后保存权重。或者,如果可以的话,将每个模型保存到硬盘并保存每个权重的路径。如果直接从 GPU 复制权重,有时垃圾收集器不会处理未使用的权重,新的权重仍保留在 GPU 上,这会占用空间。

© www.soinside.com 2019 - 2024. All rights reserved.