栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 版本的指定 GPUSwitcher

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 版本的指定 GPUSwitcher

Python 可以指定显卡使用 Cuda, 进行加速或者深度学习。通常通过 设置环境变量的方式。
环境变量为:“CUDA_VISIBLE_DEVICES”

import os


class GpuSwitcher(object):

    cuda_visible = "CUDA_VISIBLE_DEVICES"

    def __init__(self, cur_gpu_id):
        """ 设置当前的 GPU ID """
        if self.cuda_visible in os.environ.keys():
            self.ori_gpu_ids = os.environ[self.cuda_visible]
            os.environ["CUDA_VISIBLE_DEVICES"] = cur_gpu_id
            print(r'switch gpu: set current gpu id {}, origin gpu ids {}'.format(cur_gpu_id, self.ori_gpu_ids))
        else:
            print(r'switch gpu: CUDA_VISIBLE_DEVICES 不存在')

    def __del__(self):
        """ 恢复到原来的 GPU IDs """
        if self.cuda_visible in os.environ.keys():
            os.environ[self.cuda_visible] = self.ori_gpu_ids
            print(r'switch gpu: recover ori gpu ids {}'.format(self.ori_gpu_ids))
        else:
            print(r'switch gpu: CUDA_VISIBLE_DEVICES 不存在')


if __name__ == "__main__":
    GpuSwitcher(str(1))

GpuSwitcher 的作用是:在作用域中, 使用的就 cur_gpu_id。
当离开作用域时,就会恢复到原来的显卡状态。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/423347.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号