RuntimeError:库达内存不足。尝试分配144.00 MiB (GPU 0;11.17 GiB总容量;10.49 GiB已经分配;13.81 MiB空闲;10.56 GiB被PyTorch总共保留)如果保留内存是>>分配的内存,尝试设置max_split_size_mb以避免碎片化。请参阅内存管理和PYTORCH_CUDA_ALLOC_CONF文档
这是我得到的错误,我试着玩了批量大小,但没有任何效果。我正在google colab上接受培训。
这是与错误有关的代码段:
training_args = TrainingArguments(
output_dir="/content/",
num_train_epochs=EPOCHS,
per_device_train_batch_size=16,
per_device_eval_batch_size=16,
# gradient_accumulation_steps=BATCH_UPDATE,
evaluation_strategy="epoch",
save_strategy='epoch',
fp16=True,
fp16_opt_level=APEX_OPT_LEVEL,
warmup_steps=WARMUP_STEPS,
learning_rate=LR,
adam_epsilon=EPS,
weight_decay=0.01,
save_total_limit=1,
load_best_model_at_end=True,
)有解决办法吗?
发布于 2022-03-19 17:53:15
你用的是哪种型号?只是拥抱脸的标准gpt-2?我以前在我自己的GPU上对这个模型进行了微调,它只有6GB,并且能够使用8的batch_size,没有问题。
我将尝试以下每一项:
batch_size -您已经尝试过了,您是否一直将其更改为1的batch_size?即使在那时,问题是否也会发生呢?!nvidia-smi -L查看分配给您的GPU。如果您应该看到您有一个低于24 got的模型,请将Notebook-设置转换为None,然后再转到GPU以获得一个新的。或者管理会话,->终止会话,然后重新分配。试几次,直到你得到一个好的GPU。因为您的代码可能不适用于16 or或更低的容量,而可能只使用24 or。一般来说,清除您的资源可能是一个好主意,以防已经加载了一些大型的东西,这首先导致了这个问题。https://stackoverflow.com/questions/71539894
复制相似问题