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

ModelScope有没有像torch.cuda.empty_cache()能清除显存的方法?

ModelScope像这种基于tensorflow的模型,处理完请求后显存满的,有没有像torch.cuda.empty_cache()能清除显存的方法?image.png
image.png

展开
收起
真的很搞笑 2023-11-01 20:22:08 242 0
4 条回答
写回答
取消 提交回答
  • 在TensorFlow中,有多种方式可以清理显存:

    1. tf.keras.backend.clear_session(),可以清除会话中的所有资源;
    2. tf.keras.backend.get_session().close(),可以销毁当前会话;
    3. 使用with语句,确保会在完成后自动关闭所有的会话和资源。

    此外,还有其他一些方法可以清理显存,例如重新初始化TensorFlow的图层等等

    2023-11-02 22:19:35
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 TensorFlow 中,可以使用 tf.keras.backend.clear_session() 来清除显存缓存:

    from tensorflow.keras import backend as K
    
    def clean_session():
       K.clear_session()
    

    请注意,这仅仅清空了 TensorFlow 的缓存,但并没有释放 GPU 内存;为释放 GPU 内存,您还需要关闭所有 TensorFlow 图形会话:

    import os
    
    os.system('taskkill /F /IM tensorboard.exe')
    os.system('taskkill /F /IM tensorboard-shutdown-server.exe')
    
    2023-11-02 13:45:16
    赞同 展开评论 打赏
  • 在TensorFlow中,没有直接提供类似于PyTorch的torch.cuda.empty_cache()的函数来清除显存。不过,你可以尝试以下几种方法来释放显存:

    1. 关闭TensorFlow会话(Session):当你完成模型推理后,可以关闭TensorFlow会话,以释放占用的显存。
    import tensorflow as tf
    
    # 创建会话
    sess = tf.Session()
    
    # 进行推理
    ...
    
    # 关闭会话
    sess.close()
    
    1. 手动删除变量和占用的显存:你可以尝试手动删除不再需要的变量,以释放显存。请注意,这种方法可能不适用于所有情况,因为有些变量可能是必需的,或者由TensorFlow自动管理。
    # 删除变量
    del variable_name
    
    # 删除占用的显存
    tf.reset_default_graph()
    
    1. 使用TensorFlow的优化器:TensorFlow提供了一些优化器,如tf.train.Savertf.train.Optimizer,它们可以用来保存和恢复模型参数,或者进行模型优化。通过使用这些优化器,你可以将模型参数保存到磁盘上,并从磁盘加载模型参数,从而释放显存。
    2. 使用TensorFlow的缓存机制:TensorFlow支持缓存机制,可以将中间计算结果缓存到磁盘上,以避免重复计算。通过使用缓存,你可以减少显存的使用量。你可以使用tf.cache.Cachetf.cache.LRUCache等缓存类来实现缓存机制。
    3. 调整TensorFlow的内存使用:TensorFlow允许你调整内存使用策略,例如通过设置tf.config.experimental.VirtualMemory来使用虚拟内存来存储大型数据。这可以帮助你更好地管理显存的使用。
    2023-11-02 10:02:12
    赞同 展开评论 打赏
  • 您试一下这个环境。
    conda create -n modelscope python=3.7
    source activate
    conda activate modelscope
    pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
    pip install modelscope
    pip install "modelscope[cv]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
    pip install --upgrade tensorflow-gpu==1.15 # GPU 版,此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”

    2023-11-01 22:02:09
    赞同 展开评论 打赏

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

相关电子书

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