国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

pytorch:?jiǎn)螜C(jī)多卡(GPU)訓(xùn)練

這篇具有很好參考價(jià)值的文章主要介紹了pytorch:?jiǎn)螜C(jī)多卡(GPU)訓(xùn)練。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目前pytorch支持2種多卡訓(xùn)練:
1. torch.nn.DataParallel
2. torch.nn.parallel.DistributedDataParallel
第一種只支持單機(jī)多卡,第二種支持單機(jī)多卡和多機(jī)多卡;性能上,第二種優(yōu)于第一種,真正實(shí)現(xiàn)分布式訓(xùn)練。下面只介紹第二種方法的單機(jī)多卡訓(xùn)練:

import torch
import torch.nn as nn
import torch.utils.data as Data
import torch.distributed as dist
from torch.nn.parallel import DistributedDataParalled as ddp
import os
import argparse


# 1. 初始化group,參數(shù)backend默認(rèn)為nccl,表示多gpu,多cpu是其它參數(shù)
dist.init_process_group(backend='nccl')

# 2. 添加一個(gè)local_rank參數(shù)
parser = argparse.ArgumentParser()
parser.add_argument("--local_rank")
args = parser.parse_args()

# 3. 從外面得到local_rank參數(shù),在調(diào)用DDP的時(shí)候,其會(huì)根據(jù)調(diào)用gpu自動(dòng)給出這個(gè)參數(shù)
local_rank = args.local_rank

# 4.根據(jù)local_rank指定使用那塊gpu
torch.cuda.set_device(local_rank)

# 5.定義設(shè)備
os.environ['CUDA_VISIBLE_DEVICES'] = "0,1,2,3"  # 根據(jù)gpu的數(shù)量來設(shè)定,初始gpu為0,這里我的gpu數(shù)量為4
DEVICE = torch.device("cuda", local_rank)

# 6. 把模型加載到cuda上
model = Model().to(device)  # 自己定義的模型

# 7. 初始化ddp模型
model = ddp(model, device_ids=[local_rank], output_device=local_rank)

# 8. 數(shù)據(jù)分到各gpu上
traindata = datasetloader()  # 此處為加載訓(xùn)練集
testdata = datasetloader()  # 此處為加載測(cè)試集
train_samper =Data.distributed.DistributedSampler(traindata)  # 切分訓(xùn)練數(shù)據(jù)集
test_samper =Data.distributed.DistributedSampler(testdata)  # 切分測(cè)試數(shù)據(jù)集
trainloader = Data.DataLoader(dataset=traindata, batch_size=32, sampler=train_samper, shuffle=False, num_workers=2)  
testloader = Data.DataLoader(dataset=testdata, batch_size=32, sampler=test_samper, shuffle=False, num_workers=2)

根據(jù)以上設(shè)置,便可實(shí)現(xiàn)單機(jī)多卡的分布式訓(xùn)練,這里需要注意一點(diǎn),也是我踩過的坑,就是Data.DataLoader的shuffle必須為false,否則報(bào)錯(cuò)。

最后,在終端,使用以下命令行運(yùn)行訓(xùn)練腳本(train.py)即可:

python -m torch.distributed.launch --nproc_per_node=4 train.py

這里nproc_per_node的參數(shù)表示gpu數(shù)量文章來源地址http://www.zghlxwxcb.cn/news/detail-642675.html

到了這里,關(guān)于pytorch:?jiǎn)螜C(jī)多卡(GPU)訓(xùn)練的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【解決】pytorch單機(jī)多卡問題:ERROR: torch.distributed.elastic.multiprocessing.api:failed

    【解決】pytorch單機(jī)多卡問題:ERROR: torch.distributed.elastic.multiprocessing.api:failed

    最近在使用單機(jī)多卡進(jìn)行分布式(DDP)訓(xùn)練時(shí)遇到一個(gè)錯(cuò)誤:ERROR: torch.distributed.elastic.multiprocessing.api:failed。 而實(shí)際報(bào)錯(cuò)的內(nèi)容是:ValueError: sampler option is mutually exclusive with shuffle. 報(bào)錯(cuò)的詳細(xì)內(nèi)容如下截圖所士: 出現(xiàn)這種錯(cuò)誤的原因是,在分布式訓(xùn)練時(shí)使用了sampler,并且d

    2024年02月13日
    瀏覽(23)
  • Pytorch 多卡并行(3)—— 使用 DDP 加速 minGPT 訓(xùn)練

    Pytorch 多卡并行(3)—— 使用 DDP 加速 minGPT 訓(xùn)練

    前文 并行原理簡(jiǎn)介和 DDP 并行實(shí)踐 和 使用 torchrun 進(jìn)行容錯(cuò)處理 在簡(jiǎn)單的隨機(jī)數(shù)據(jù)上演示了使用 DDP 并行加速訓(xùn)練的方法,本文考慮一個(gè)更加復(fù)雜的 GPT 類模型,說明如何進(jìn)行 DDP 并行實(shí)戰(zhàn) MinGPT 是 GPT 模型的一個(gè)流行的開源 PyTorch 復(fù)現(xiàn)項(xiàng)目,其實(shí)現(xiàn)簡(jiǎn)潔干凈可解釋,因而頗具

    2024年02月09日
    瀏覽(22)
  • 【深度學(xué)習(xí):入門】如何配置CUDA,使用gpu本地訓(xùn)練

    【深度學(xué)習(xí):入門】如何配置CUDA,使用gpu本地訓(xùn)練

    由于顯卡的不同,需要先查看我們顯卡及驅(qū)動(dòng)最高支持的cuda。 進(jìn)入cmd輸入 nvidia -smi 版本支持向下兼容,為了保證能夠和其他開發(fā)庫(kù)版本兼容,這里使用的CUDN版本為11.6. CUDA Toolkit| NVIDIA Developer官網(wǎng)找到對(duì)應(yīng)CUDA版本。(我這里選擇的是CUDA11.6) 依次選擇如下配置,點(diǎn)擊Download下

    2024年02月08日
    瀏覽(18)
  • 深度學(xué)習(xí)環(huán)境配置pytorch-GPU版本

    深度學(xué)習(xí)環(huán)境配置pytorch-GPU版本

    一、下載與安裝Anaconda 官網(wǎng):Free Download | Anaconda 安裝時(shí)添加環(huán)境變量勾選上,這樣可以減少一步操作,不用再去自己手動(dòng)添加了。 二、在anaconda里面創(chuàng)建虛擬環(huán)境 創(chuàng)建虛擬環(huán)境,其中pytorch為虛擬環(huán)境名,3.8.8對(duì)應(yīng)python版本號(hào): 激活進(jìn)入虛擬環(huán)境,其中pytorch為虛擬環(huán)境名:

    2024年02月14日
    瀏覽(27)
  • 完整教程:深度學(xué)習(xí)環(huán)境配置(GPU條件&pytorch)

    完整教程:深度學(xué)習(xí)環(huán)境配置(GPU條件&pytorch)

    如果是python小白,強(qiáng)烈推薦B站小土堆的視頻,講得很清晰(但需要花些時(shí)間),地址如下: 最詳細(xì)的 Windows 下 PyTorch 入門深度學(xué)習(xí)環(huán)境安裝與配置 CPU GPU 版 如果有些基礎(chǔ),跟著往下看就行。 配置 作用 Anaconda 靈活切換python運(yùn)行環(huán)境、高效使用python包 GPU 軟硬件:硬件基礎(chǔ)(

    2024年02月15日
    瀏覽(19)
  • pytorch的深度學(xué)習(xí)環(huán)境安裝配置(GPU版)

    pytorch的深度學(xué)習(xí)環(huán)境安裝配置(GPU版)

    目錄 一些概念理解 ?0.anaconda配置國(guó)內(nèi)鏡像源 ?1.anaconda建立一個(gè)新的虛擬環(huán)境 ?2. 更新顯卡驅(qū)動(dòng)CUDA Driver ?3. 安裝pytorch 3.1 法(一):利用pip安裝Pytorch 3.1.1 法(一)在線pip安裝 ?3.1.2 法(二)本地pip安裝 3.2 法(一):利用conda安裝Pytorch 3.3 驗(yàn)證pytorch是否安裝成功 ?4. Pychar

    2023年04月15日
    瀏覽(22)
  • Windows下PyTorch深度學(xué)習(xí)環(huán)境配置(GPU)

    Windows下PyTorch深度學(xué)習(xí)環(huán)境配置(GPU)

    (路徑最好全英文) (下載好后,可以創(chuàng)建其他虛擬環(huán)境,因?yàn)槭亲约簩W(xué)習(xí),所以先不放步驟,有需要者可以參考B站up我是土堆的視頻) 1.確定顯卡型號(hào) (如圖右上角,我是1050ti) 確定顯卡算力 6.1 (更多CUDA和GPU間的算力關(guān)系可參考https://zhuanlan.zhihu.com/p/544337083?utm_id=0) 確

    2024年02月16日
    瀏覽(37)
  • 試用阿里云GPU服務(wù)器進(jìn)行深度學(xué)習(xí)模型訓(xùn)練

    最近在用PyTorch時(shí)發(fā)現(xiàn)在本地訓(xùn)練模型速度一言難盡,然后發(fā)現(xiàn)阿里云可以白嫖gpu服務(wù)器,只要沒有申請(qǐng)過PAI-DSW資源的新老用戶都可以申請(qǐng)5000CU*H的免費(fèi)額度,三個(gè)月內(nèi)有效。 阿里云免費(fèi)試用活動(dòng)頁(yè)面 一、申請(qǐng)?jiān)囉貌?chuàng)建實(shí)例 點(diǎn)擊試用,完成注冊(cè)、實(shí)名、領(lǐng)取產(chǎn)品,然后前往

    2024年04月17日
    瀏覽(25)
  • [超級(jí)詳細(xì)]如何在深度學(xué)習(xí)訓(xùn)練模型過程中使用GPU加速

    [超級(jí)詳細(xì)]如何在深度學(xué)習(xí)訓(xùn)練模型過程中使用GPU加速

    前言 在深度學(xué)習(xí)當(dāng)中,我們訓(xùn)練模型通常要對(duì)模型進(jìn)行反復(fù)的優(yōu)化訓(xùn)練,僅用CPU來進(jìn)行訓(xùn)練的話需要花費(fèi)很長(zhǎng)時(shí)間,但是我們可以使用GPU來加速訓(xùn)練模型,這樣就可以大大減少我們訓(xùn)練模型花費(fèi)的時(shí)間。下圖是我在訓(xùn)練模型過程中使用GPU加速和未使用GPU加速花費(fèi)時(shí)間的對(duì)比:

    2024年02月09日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包