【问题标题】:CUDA out of memory.Tried to allocate 14.00 MiB (GPU 0;4.00 GiB total capacity;2 GiB already allocated;6.20 MiB free;2GiB reserved intotal by PyTorch)CUDA 内存不足。尝试分配 14.00 MiB(GPU 0;4.00 GiB 总容量;2 GiB 已分配;6.20 MiB 空闲;2GiB 由 PyTorch 保留)
【发布时间】:2021-03-22 19:53:05
【问题描述】:

我正在尝试从 fastai 运行此代码

from fastai.vision.all import *
path = untar_data(URLs.PETS)/'images'

def is_cat(x): return x[0].isupper()
dls = ImageDataLoaders.from_name_func(
    path, get_image_files(path), valid_pct=0.2, seed=42,
    label_func=is_cat, item_tfms=Resize(224), num_workers = 0)

learn = cnn_learner(dls, resnet34, metrics=error_rate)
learn.fine_tune(1)

我收到以下错误

RuntimeError: CUDA 内存不足。试图分配 14.00 MiB (GPU 0; 4.00 GiB 总容量; 2.20 GiB 已分配; 6.20 MiB 免费; PyTorch 总共预留了 2.23 GiB)

我也试过跑步

import torch
torch.cuda.empty_cache()

然后重启没用的内核

任何帮助将不胜感激

【问题讨论】:

    标签: pytorch fast-ai


    【解决方案1】:

    根据文档hereImageDataLoaders.from_name_func 中使用的默认 batch_size 是 64。减少它应该可以解决您的问题。将另一个参数传递给ImageDataLoaders.from_name_func,如bs=32 或任何其他较小的值,直到不引发错误

    【讨论】:

      猜你喜欢
      • 2021-01-28
      • 1970-01-01
      • 2020-07-28
      • 2021-11-01
      • 2021-08-06
      • 2020-04-15
      • 2020-03-21
      • 1970-01-01
      • 2018-10-09
      相关资源
      最近更新 更多