Python 运行时错误:CUDA内存不足。尝试分配754.00 MiB(GPU 0;2.00 GiB总容量;1.21 GiB已分配…)

Python 运行时错误:CUDA内存不足。尝试分配754.00 MiB(GPU 0;2.00 GiB总容量;1.21 GiB已分配…),python,anaconda,nvidia,slowmotion,Python,Anaconda,Nvidia,Slowmotion,我正在尝试使用Super SloMo将视频转换为高FPS画面 当我在Anaconda提示符下运行这个过程时,它会在大约30秒后停止,并显示这一点 “运行时错误:CUDA内存不足。尝试分配754.00 MiB(GPU 0;2.00 GiB总容量;1.21 GiB已分配;144.74 MiB可用;10.06 MiB已缓存)” 我真的不知道那里发生了什么,对此我没有什么问题 我的笔记本电脑规格:配备Gefroce 920mx专用图形卡的英特尔i3-7100u 所以,在这个过程中,当我查看任务管理器时

我正在尝试使用Super SloMo将视频转换为高FPS画面

当我在Anaconda提示符下运行这个过程时,它会在大约30秒后停止,并显示这一点 “运行时错误:CUDA内存不足。尝试分配754.00 MiB(GPU 0;2.00 GiB总容量;1.21 GiB已分配;144.74 MiB可用;10.06 MiB已缓存)”

我真的不知道那里发生了什么,对此我没有什么问题

我的笔记本电脑规格:配备Gefroce 920mx专用图形卡的英特尔i3-7100u

  • 所以,在这个过程中,当我查看任务管理器时,只有CPU被加载,而Gpu-s没有加载,那么这是正确的吗?比如GPU可以处理这些事情
  • 进程停止并写入“RuntimeError:CUDA内存不足。尝试分配754.00 MiB(GPU 0…)我是否可以让CUDA使用GPU 1而不是GPU 0?也许这会有所帮助
  • 正如我在我链接的视频中看到的,这个过程可以用处理器或nvidia图形卡来完成,用nvidia来完成会快得多

    代码如下:

    (base) C:\Users\Nika>cd /d D:\SlowMo\SuperSloMo
    
    (base) D:\SlowMo\SuperSloMo>python video_to_slomo.py --ffmpeg D:\SlowMo\ffmpeg\bin\ --video D:\SlowMo\Input\Rotate.mp4 --sf 4 --checkpoint D:\SlowMo\SuperSloMo\SuperSloMo.ckpt --fps 120 --output D:\SlowMo\Output\Rotate120.mkv
    D:\SlowMo\ffmpeg\bin\ffmpeg -i D:\SlowMo\Input\Rotate.mp4 -vsync 0 tmpSuperSloMo\input/%06d.png
    ffmpeg version N-94156-g93a73df54d Copyright (c) 2000-2019 the FFmpeg developers
      built with gcc 9.1.1 (GCC) 20190621
      configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
      libavutil      56. 30.100 / 56. 30.100
      libavcodec     58. 53.101 / 58. 53.101
      libavformat    58. 28.101 / 58. 28.101
      libavdevice    58.  7.100 / 58.  7.100
      libavfilter     7. 56.100 /  7. 56.100
      libswscale      5.  4.101 /  5.  4.101
      libswresample   3.  4.100 /  3.  4.100
      libpostproc    55.  4.100 / 55.  4.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\SlowMo\Input\Rotate.mp4':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: mp41isom
        creation_time   : 2019-04-29T19:00:00.000000Z
      Duration: 00:00:04.67, start: 0.033333, bitrate: 32571 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 2880x2160 [SAR 1:1 DAR 4:3], 33772 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
        Metadata:
          creation_time   : 2019-12-08T21:30:20.000000Z
          handler_name    : VideoHandler
          encoder         : AVC Coding
    Stream mapping:
      Stream #0:0 -> #0:0 (h264 (native) -> png (native))
    Press [q] to stop, [?] for help
    Output #0, image2, to 'tmpSuperSloMo\input/%06d.png':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: mp41isom
        encoder         : Lavf58.28.101
        Stream #0:0(und): Video: png, rgb24, 2880x2160 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
        Metadata:
          creation_time   : 2019-12-08T21:30:20.000000Z
          handler_name    : VideoHandler
          encoder         : Lavc58.53.101 png
    frame=  135 fps=1.6 q=-0.0 Lsize=N/A time=00:00:04.50 bitrate=N/A speed=0.0525x
    video:1337063kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
      0%|                                                       | 0/134 [00:04<?, ?it/s]
    Traceback (most recent call last):
      File "video_to_slomo.py", line 217, in <module>
        main()
      File "video_to_slomo.py", line 166, in main
        flowOut = flowComp(torch.cat((I0, I1), dim=1))
      File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 541, in __call__
        result = self.forward(*input, **kwargs)
      File "D:\SlowMo\SuperSloMo\model.py", line 197, in forward
        x  = F.leaky_relu(self.conv1(x), negative_slope = 0.1)
      File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\functional.py", line 1063, in leaky_relu
        result = torch._C._nn.leaky_relu(input, negative_slope)
    RuntimeError: CUDA out of memory. Tried to allocate 754.00 MiB (GPU 0; 2.00 GiB total capacity; 1.21 GiB already allocated; 144.74 MiB free; 10.06 MiB cached)
    
    (base) D:\SlowMo\SuperSloMo>
    
    (基本)C:\Users\Nika>cd/d:\SlowMo\SuperSloMo
    (基本)D:\SlowMo\SuperSloMo>python video\u to\u slomo.py--ffmpeg D:\SlowMo\ffmpeg\bin\--video D:\SlowMo\Input\Rotate.mp4--sf 4--检查点D:\SlowMo\SuperSloMo\SuperSloMo.ckpt--fps 120--输出D:\SlowMo\output\Rotate120.mkv
    D:\SlowMo\ffmpeg\bin\ffmpeg-id:\SlowMo\Input\Rotate.mp4-vsync 0 tmpsupperslomo\Input/%06d.png
    ffmpeg版本N-94156-g93a73df54d版权所有(c)2000-2019 ffmpeg开发者
    根据gcc 9.1.1(gcc)20190621构建
    配置:--enable-gpl--enable-version3--enable-sdl2--enable-fontconfig--enable-gnutls--enable-iconv--enable-libass--enable-libdav1d--enable-libblebluray--enable-libfreetype--enable-libopencore amrwb--enable libopenjpeg--enable libopus--enable-libshine--enable-libsnappy enable-libsoxr--enable-libthera--enable-libtwolame--enable-libvpx--enable-libwavpack--enable-libwebp--enable-libx264--enable-libx265--enable-libzimg--enable-lzma--enable-zlib--enable-gmp--enable-libvo amrwbenc--enable-libmysofa enable-libspex--enable-libxvidm--enable-libmfx--启用amf--启用ffnvcodec--启用cuvid--启用d3d11va--启用NVNC--启用nvdec--启用dxva2--启用AVISynch--启用libopenmpt
    libavutil 56.30.100/56.30.100
    libavcodec 58.53.101/58.53.101
    libav格式58.28.101/58.28.101
    libavdevice 58.7.100/58.7.100
    libavfilter 7.56.100/7.56.100
    libswscale 5.4.101/5.4.101
    libswresample 3.4.100/3.4.100
    libpostroc 55.4.100/55.4.100
    输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自'D:\SlowMo\Input\Rotate.mp4':
    元数据:
    主要品牌:mp42
    次要版本:0
    兼容品牌:mp41isom
    创建时间:2019-04-29T19:00:00.000000Z
    持续时间:00:00:04.67,开始时间:0.033333,比特率:32571 kb/s
    流#0:0(und):视频:h264(主)(avc1/0x31637661),yuv420p,2880x2160[SAR 1:1 DAR 4:3],33772 kb/s,30 fps,30 tbr,30k tbn,60 tbc(默认)
    元数据:
    创建时间:2019-12-08T21:30:20.000000Z
    处理程序名称:VideoHandler
    编码器:AVC编码
    流映射:
    流#0:0->#0:0(h264(本机)->巴布亚新几内亚(本机))
    按[q]停止,按[?]获取帮助
    将#0,图像2输出到“tmpSuperSloMo\input/%06d.png”:
    元数据:
    主要品牌:mp42
    次要版本:0
    兼容品牌:mp41isom
    编码器:Lavf58.28.101
    流#0:0(und):视频:png,rgb24,2880x2160[SAR 1:1 DAR 4:3],q=2-31200KB/s,30fps,30tbn,30tbc(默认)
    元数据:
    创建时间:2019-12-08T21:30:20.000000Z
    处理程序名称:VideoHandler
    编码器:Lavc58.53.101 png
    帧=135 fps=1.6 q=-0.0 Lsize=N/A时间=00:00:04.50比特率=N/A速度=0.0525x
    视频:1337063kB音频:0kB字幕:0kB其他流:0kB全局头:0kB muxing开销:未知
    
    0%| | 0/134[00:04请试试这个。它对我有用:

    import torch, gc
    
    gc.collect()
    torch.cuda.empty_cache()
    

    请正确格式化您的代码。