关于torch.load()更改了cuda位置还是cuda内存不够的问题

这篇具有很好参考价值的文章主要介绍了关于torch.load()更改了cuda位置还是cuda内存不够的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于torch.load()变了cuda位置还是cuda内存不够的问题

问题背景:在一次任务中,由于需要使用cuda进行代码运行,但是分明修改了cuda到一个空闲的卡位置,但是依然抱错cuda out of memory的问题

在任务中,最开始原始代码是采用以下方式尽心模型load的(指定了cuda to device的位置是空闲的卡2):
关于torch.load()更改了cuda位置还是cuda内存不够的问题,深度学习,人工智能
但是依然抱错cuda out of memory,分析如下:

model.load_state_dict(torch.load(FLAGS.restore))
print(f"Model loaded from {FLAGS.restore}")
model.to(FLAGS.device)

从上面的代码可以看出,其实model是先load到默认路径,然后再转换到了指定的device的位置,这样就在第一次load的时候,如果默认位置的cuda被占用,就会导致out of memory的问题

建议好的习惯:
model.load_state_dict(torch.load(FLAGS.restore, map_location=‘cuda:2’))
在model load 的时候直接map_location到指定位置,例如你可以在config文件中设置cuda卡配置:

model.load_state_dict(torch.load(FLAGS.restore, map_location=FLAGS.device))

这样则免除了load到默认卡的这一步。

respect!!!文章来源地址https://www.toymoban.com/news/detail-555733.html

到了这里,关于关于torch.load()更改了cuda位置还是cuda内存不够的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 内存不够用?小米古董手机刷机升级MIUI13实现内存扩展(详细教程)

    今天把五年前的古董机刷了小米6X最新的操作系统,不仅界面颜值得到了提升,机器性能也实现了质的飞跃,这要得益于MIUI13的内存扩展技术。本人4GB运行内存的手机在刷入MIUI13后直接提升为7GB,轻松运行moba手游。 TWRP3.7镜像:这个是第三方Recovery模式的镜像,用来安装ROM 链

    2024年04月15日
    浏览(194)
  • torch.hub.load 加载本地模型(已解决)

    运行网上的项目,有时会卡住或者超时,原因是 torch.hub.load 默认会去网上找模型,有时会因为网络问题而报错 不让 torch.hub.load 联网下载模型,改为 torch.hub.load 加载本地模型。本地模型默认的下载路径是:/root/.cache/torch/hub……

    2024年02月11日
    浏览(36)
  • torch.cuda.OutOfMemoryError: CUDA out of memory.

    训练清华ChatGLM-6B时报错, 原因是显存不够 torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 96.00 MiB (GPU 0; 23.70 GiB total capacity; 4.37 GiB already allocated; 64.81 MiB free; 4.37 GiB reserved in total by PyTorch) If reserved memory is allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentatio

    2024年02月06日
    浏览(48)
  • Pycharm报错torch.cuda.OutOfMemoryError: CUDA out of memory.

    报错 做深度学习相关的实验,可以看到我的显卡内存很小(哭了,不过我有时候是在别的电脑上做的,那个电脑比这个好用),网上搜到的说的 max_split_size_mb:128 这个方法我贴到我代码上之后没有效果。 因为我在这个电脑上做的是主实验后面的一些对比实验,也就是代码中很

    2024年02月05日
    浏览(46)
  • Windows配置深度学习环境——torch+CUDA

    这里基于读者已经有使用Python的相关经验,就不介绍Python的安装过程。 win10+mx350+Python3.7.4+CUDA11.4.0+cudnn11.4 torch 1.11.0+cu113 torchaudio 0.11.0 torchvision 0.12.0+cu113 一般来说在命令行界面输入python就可以了解python版本。 也可以使用如下代码查询python版本。 以下是torch与Python版本的对应关

    2024年01月25日
    浏览(58)
  • yarn安装和更改安装包位置、缓存位置

    安装命令,用管理员身份打开cmd执行: 查看bin目录命令: 查看global目录命令: 查看cache目录命令: 修改bin目录路径,一般默认在node目录下(先查看,如果是,则不改): 修改安装包位置: 修改缓存位置:   设置环境变量:  查看yarn版本:    问题一:  在vscode使用时,可

    2024年02月15日
    浏览(48)
  • pygame 用 load_xbm() 更改鼠标外形

    pygame.cursors.load_xbm()方法传入两个参数:分别传入同一个xbm文件即可 步骤: 1.选择一个png文件,改变图片的大小,推荐24x24,32x32,40x40的鼠标外形(8的倍数) 2.转化为xbm文件格式,可以利用XBM转换器 — Convertio这个网站 3.用 pygame.cursors.load_xbm(\\\'img鼠标X40.xbm\\\',\\\'img鼠标X40.xbm\\\') 这

    2024年01月22日
    浏览(69)
  • 【混合精度训练】 torch.cuda.amp.autocast()

    torch.cuda.amp.autocast() 是PyTorch中一种混合精度的技术,可在保持数值精度的情况下提高训练速度和减少显存占用。 混合精度是指将不同精度的数值计算混合使用来加速训练和减少显存占用。通常,深度学习中使用的精度为32位(单精度)浮点数,而使用16位(半精度)浮点数可

    2024年02月16日
    浏览(41)
  • 部署stable diffusion 错误torch.cuda.OutOfMemoryError: CUDA out of memory.

    以来安装完毕,开始执行web_ui.bat 错误截图:  猜测原因:GPU用错了 webUI.py加一行代码 在此启动web_ui.bat,成功打开网页页面

    2024年02月11日
    浏览(51)
  • windows10,CUDA、GPU 版本的torch安装

            前期环境准备:anaconda、pycharm版本不作具体要求         windows10打开命令行  Windows用户: win+R - 输入cmd   然后点击“运行” - conda  检查是否conda安装成功          若没有安装好,则 安装conda Windows用户: win+R - 输入cmd   然后点击“运行” - 输入nvidia-smi  检查

    2024年02月08日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包