【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加速


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM