首页IT科技允许所有用户访问gpu性能计数器(使用指定GPU训练模型:os.environ[‘CUDA_VISIBLE_DEVICES‘]设置无效问题解决——随笔)

允许所有用户访问gpu性能计数器(使用指定GPU训练模型:os.environ[‘CUDA_VISIBLE_DEVICES‘]设置无效问题解决——随笔)

时间2025-04-30 17:17:38分类IT科技浏览8304
导读: 之前想使用指定的GPU训练模型,查网上的帖子一般是通过设置环境变量来实现的,然后自己试了一下,在debug的时候发现无论怎么弄显示的device都是‘cuda:0’:...

        之前想使用指定的GPU训练模型                ,查网上的帖子一般是通过设置环境变量来实现的                       ,然后自己试了一下        ,在debug的时候发现无论怎么弄显示的device都是‘cuda:0’:

         也没有多思考            ,于是就放弃了设置环境变量来指定GPU的方式                       ,改为用以下方式来指定:

device = torch.device("cuda:5") data = data.to(device) model = model.to(device)

        在debug的时候           ,发现模型和数据都非常舒服的装载到了自己想要得gpu上        ,但是感觉这种方法多少有点麻烦                        ,当有多个文件调用的时候               ,还要把device做为参数传来传去的    ,很不便捷               。

        终于在今天实验的时候发现之前对环境变量设置理解有些问题                        。

        在pycharm中设置环境变量有两种方式                        ,第一种方式是通过右上角Edit Configurations...界面设置

​        将cuda_visible_devices设置为5后                   ,将模型model = model.cuda()和输入数据input = input.cuda()加载到gpu上,观察到:

        而通过nvidia-smi命令观察到GPU使用情况如图:

        可见                    ,设置环境变量CUDA_VISIBLE_DEVICES=5后                       ,系统会对设置的GPU进行重新编号    ,从’0’开始        。cuda()命令会将模型/数据加载到相对“可见               ”的第一个GPU上           。

        第二种方式是在代码里设置                ,也能达到同样的效果:

        我看网上有帖子说环境变量os.environ[CUDA_VISIBLE_DEVICES]=5,6的设置要放到import torch之前                       ,否则会失效                       。但我自己试了一下        ,放到model.cuda()之前都没问题            。

        当然            ,如果调换一下顺序                       ,在将模型加载到cuda之后设置环境变量           ,此时设置会失效        ,模型参数会放在cuda:0上                        ,后续的input = input.cuda()后               ,input的device也为cuda:0        。

         所以只要是在使用cuda之前设置应该都可!(当然为了减少不必要的麻烦    ,比如说import的其他文件可能会先使用到cuda                        ,还是尽早设置环境变量为好)

参考:

【深度学习高效小trick】使用指定的GPU(组)搞深度学习:CUDA_VISIBLE_DEVICES || os.environ[‘CUDA_VISIBLE_DEVICES‘]=‘1‘_蓝胖胖▸的博客-CSDN博客_cuda_visible_devices

os.environ[‘CUDA_VISIBLE_DEVICES‘] 无法生效原因_天花板上飞着鱼的博客-CSDN博客 

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
stablediffusion在线生成(stable diffusion v1及v2版本 本地部署方法、踩坑) 独立域名格式(“独立域名如何节省费用?从选购到维护全攻略”)