开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

ModelScope中,请教怎样清除显存?

ModelScope中,请教怎样清除显存。现在老是cuda out of memory跑多了之后,就需要清除显存,是mistral-7b那个

展开
收起
多麻辣哦 2023-11-08 20:55:16 195 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 ModelScope 中,可以按照以下步骤清除 CUDA 显存:

    1. 关闭所有占用显存的进程。在终端窗口中输入以下命令:

      bash

      nvidia-smi

      这将会列出当前运行的所有进程及其占用的显存情况。找到占用显存最大的进程,记下其 ID (PID)。

    2. 使用 kill 命令关闭该进程,输入以下命令:

      css

      kill -9 PID

    这里 PID 是刚才记录下的进程 ID。

    1. 清除所有显存中的数据,输入以下命令:

      python

      nvidia-smi --reset-gpu=all

      这将会清理所有显卡上的 CUDA 内存。

    2023-11-09 14:04:22
    赞同 展开评论 打赏
  • 在PyTorch中,你可以使用torch.cuda.empty_cache()函数来清空缓存,从而释放GPU内存。这个函数会清理所有未被PyTorch管理的CUDA缓存,包括未使用的张量、优化器等。

    以下是一个简单的例子:

    import torch
    
    # 假设你已经使用了一些GPU资源
    a = torch.randn(1000, 1000).cuda()
    b = torch.randn(1000, 1000).cuda()
    
    # 做一些操作...
    
    # 清空缓存
    torch.cuda.empty_cache()
    

    请注意,这个方法并不能保证一定能释放所有的GPU内存,因为有些内存可能被其他进程或者库占用。如果你经常遇到GPU内存不足的问题,你可能需要考虑其他的解决方案,比如增加GPU内存、优化模型结构、使用更小的批次大小等。

    2023-11-09 10:41:45
    赞同 展开评论 打赏
  • 你的模型大小在运行时超过显存上限,建议选择小一点的模型进行操作——此回答整理自钉群:魔搭ModelScope开发者联盟群 ①

    2023-11-08 21:55:53
    赞同 展开评论 打赏

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
低代码开发师(初级)实战教程 立即下载