zoukankan      html  css  js  c++  java
  • 【python基础】python开启GPU加速

    前言

    训练时使用GPU可以加速程序运行,本文介绍如何使用GPU加速。

    前提条件

    1. 机子有GPU显卡,并安装GPU显卡驱动;

    2. 安装GPU的使用环境,CUDA等;

    3. 打开nvidia-smi中的PM属性;

    4. 程序中指定使用的GPU设备;

    本文主要讲解如何指定GPU设备开启GPU进行加速。

    操作过程

    方法一:

    看了好多教程都提到了使用 os.environ["CUDA_VISIBLE_DEVICES"] = "1" 或者export CUDA_VISIBLE_DEVICES=1,但是我加进代码里面速度并没有提高,查了很久才找到问题所在,当你的电脑有两块以上GPU时,上面这两句代码才起作用!如果电脑只有一块GPU,需要将参数的“1”改成“0”才可以,否则找不到“1”号设备,它就会默认使用CPU,速度不会提高。
    方法二:
    如果是在终端中运行python程序,使用命令:CUDA_VISIBLE_DEVICES=0 python filename.py即可

    方法三:
    如果有多块卡,想要指定多个gpu训练,可以这样设置:

    def set_gpus(gpu_index):
        if type(gpu_index) == list:
            gpu_index = ','.join(str(_) for _ in gpu_index)
        if type(gpu_index) ==int:
            gpu_index = str(gpu_index)
        os.environ["CUDA_VISIBLE_DEVICES"] = gpu_index

    通过调用set_gpu函数即可实现。

    将set_gpu函数加在程序入口文件很前面的位置,保证程序能执行这句;另外,第一块GPU如果利用率低,可以通过设置tf.Session()的config参数来指定gpu显存利用率,第二块卡没有用的原因有可能是代码本身是不支持多GPU的,需要修改代码。

    另外, 打开nvidia-smi中的PM属性,可以使用命令

    nvidia-smi -pm 1

    参考

    1. python开启GPU加速

  • 相关阅读:
    chess「dp」
    e[树上主席树]
    d[贪心]
    神盐皇
    LA 8043. ACM-ICPC World Finals 2017 E. Need for Speed
    八数码问题
    UVa 679. Dropping Balls
    关于时间复杂度
    欧拉序列 (Euler Tour)
    莫队算法
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/11683708.html
Copyright © 2011-2022 走看看