位置: IT常识 - 正文

Pytorch训练过程中出现RuntimeError: falseINTERNAL ASSERT FAILED... Couldn‘t open shared file mapping...(pytorch训练函数)

编辑:rootadmin
Pytorch训练过程中出现RuntimeError: falseINTERNAL ASSERT FAILED... Couldn‘t open shared file mapping...

推荐整理分享Pytorch训练过程中出现RuntimeError: falseINTERNAL ASSERT FAILED... Couldn‘t open shared file mapping...(pytorch训练函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pytorch训练过程中逐渐增加训练数据,pytorch训练过程中 内存缓慢增长,pytorch 训练过程,pytorch训练过程中cpu内存占满,pytorch训练过程中 内存缓慢增长,pytorch训练过程中内存一直慢慢增长直到爆,pytorch训练过程查看,pytorch训练过程中cpu内存占满,内容如对您有帮助,希望把文章链接给更多的朋友!

一句话:换成pytorch1.8。

一、问题描述

今天跑一个开源的模型跑到第9个epoch时报错,如下:

RuntimeError: falseINTERNAL ASSERT FAILED at "..\\aten\\src\\ATen\\MapAllocator.cpp":135,please report a bug to PyTorch.Couldn't open shared file mapping: <000002043F0A2562>, error code: <1455>二、寻找解决方案

遂搜索,同类问题比较少,有一个博客讲到是显卡性能问题。于是我尝试大幅降低batch_size和works,又跑了一遍,这次第3个epoch就报了同样的错误(我跑一个epoch要一小时)。 这时我就奇怪了,降低了对配置的要求(顺便提一下我用的3050Ti),报错来的更快了,这怎么解释?

后来我又到PyTorch的github主页上看有没有人提交过相似的issue,确实有一个:https://github.com/pytorch/pytorch/issues/67864,讨论的时间比较久。 原来这个问题一般在pytorch1.10版本中出现(同时在更高的版本中不保证不出现),如果将版本回滚到1.8,就不会出现。由于这个问题的出现太随机了,没有规律可循,这帮人一直没有能够得到一个稳定的复现,所以不好修。

因此现阶段的一个可行方案就是将pytorch的版本回到1.8。

三、解决问题

这里我记录了我的解决过程,其实就是安装个pytorch1.8。 (1)通过conda创建一个新的环境,我使用了python3.6

conda activate base #一定要先回到base环境下conda create --name [你的环境名] python=3.6conda activate [你的环境名]

(2)【非必要】由于在包略多的环境中conda的索引时间太长了,体验极差,solving environment要转个一小时,我推荐使用mamba替换conda

conda install mambaPytorch训练过程中出现RuntimeError: falseINTERNAL ASSERT FAILED... Couldn‘t open shared file mapping...(pytorch训练函数)

安装成功后可以用mamba替换conda,比如更新conda时:

mamba update conda

(3)【可能遇到】我install中出现PackagesNotFoundError问题,参考了https://blog.csdn.net/weixin_45552562/article/details/109668589 后解决

(4)安装pytorch 首先在pytorch官网中寻找pytorch1.8的安装命令。在我这个时间点1.8的连接还挂在首页作为一个长期维护版本,之后可能需要在历史版本中找到1.8。

注意要安装GPU版本以及注意cuda版本的匹配。这里有一个小问题,就是通过nvidia-smi和nvcc -v查到的cuda版本可能不一样,当时安装的时候我还没注意过这个问题,具体见:https://blog.csdn.net/sophicchen/article/details/120782209。当时我在nvidia-smi中查到的cuda版本为11.6,而pytorch1.8没有匹配cuda11.6,只有10.2和11.1,于是我只能装11.1的版本试试(后来证明可用)。我使用如下命令装pytorch:

mamba install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch-lts -c conda-forge

这里我失败了3次,因为我用的宿舍网,网络环境好的话应该一次就可以成功。 (4)验证安装是否成功

conda env list

看到pytorch位列其中,接下来看看pytorch是否能够调用gpu 打开pycharm,随便开一个项目,将项目环境切换到你刚创建的新环境。 有可能pycharm识别不到你刚创建的环境,这时在解释器设置中手动添加相应的python.exe即可。 切换环境后,在pycharm下方的控制台中输入

import torch #如果这里有报错,下方有解决方案import torchvisiontorch.cuda.is_available()

得到Ture即为成功,也可以用

torch.cuda.get_device_name(0)

查看显卡类型。 (5)【可能遇到】import torch报错

上面提到有可能在import torch时报错,报错信息如下

ValueError: module functions cannot set METH_CLASS or METH_STATIC

这是python3.6版本中的一个bug,具体见https://github.com/pytorch/pytorch/issues/2731 只要在终端(注意要在你刚创建的环境下)中

pip install numpy -I

即可解决问题

四、后续

如果问题没有解决,到时候再更新

本文链接地址:https://www.jiuchutong.com/zhishi/299906.html 转载请保留说明!

上一篇:深入理解TDNN(Time Delay Neural Network)——兼谈x-vector网络结构(深入理解linux内核)

下一篇:【华为OD机试真题2023 JAVA】服务中心的最佳位置(华为od测试岗机试需要怎么准备)

  • 美团怎么邀请新用户(美团怎么邀请新人拼团购物)

  • 荟萃浏览器有电脑版吗(荟萃浏览器电脑版)

  • 微信视频会议人数限制是(微信视频会议室)

  • 华为npc有什么用(华为上的npc是什么)

  • 被主播移除直播间还能进去吗(被主播移除直播会怎么样)

  • vb中inputbox啥意思

  • 陌陌注销后显示的状态(陌陌注销显示钱包余额尚未结清)

  • 苹果手表可以连接华为手机吗(苹果手表可以连oppo手机吗)

  • 淘宝直播回放能下载吗(淘宝直播回放能看几天前的)

  • 5s和6s区别(5s和6哪个好)

  • 物联卡网速慢是什么原因(物联卡网速慢是什么意思)

  • hmaal00是华为什么型号手机(hmaal00是华为什么型号)

  • 京东取消处理中要多久(京东订单取消处理中要多久)

  • 手机变色了怎么设置回来(手机变色了怎么恢复)

  • 微信分身是同一个号码吗(微信分身是一个微信号还是两个微信号)

  • 腾讯充值开发票有什么用

  • 天猫精灵远程监听吗(天猫精灵远程监控怎么用)

  • 天猫精灵可以监控家里吗(天猫精灵可以监视房间吗)

  • 思科交换机恢复出厂设置(思科交换机恢复密码)

  • ios13怎么设置自定义铃声(ios13怎么设置自拍镜像)

  • 闲鱼永久禁言解除诀窍(闲鱼永久禁言解封成功)

  • 探探会员有什么功能(探探会员有什么用)

  • 手机不能语音了怎么回事(手机不能语音了微信手机微信不能语音了怎么能解决)

  • 苹果 x怎么滚动截屏(苹果x怎么滚动截屏长图片)

  • 苹果x屏幕发黄怎么调(苹果x手机屏幕发黄怎么调节)

  • 华为手机怎么翻译英文(华为手机怎么翻转镜像图片)

  • 手机怎么查淘金币(手机怎么查淘金币余额)

  • 牛顿市的一片南瓜地,美国马萨诸塞州 (© Frank Debonis/EyeEm/Alamy)(牛顿地名)

  • python实现信息熵的计算代码(python 熵值法)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络