亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Pytorch多GPU訓練過程

 更新時間:2024年06月26日 09:21:36   作者:HHHTTY-  
這篇文章主要介紹了Pytorch多GPU訓練過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1 導入庫

import torch#深度學習的pytoch平臺
import torch.nn as nn
from torch.autograd import Variable
from torch.utils.data import DataLoader
from torch.utils.data import TensorDataset

2 指定GPU

2.1 單GPU聲明

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

2.2 多GPU聲明

import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0,1,2,3,4,5' #指定GPU編號
device = torch.device("cuda") #創(chuàng)建GPU對象

3 數據放到GPU

x_train = Variable(train,requires_grad=True).to(device=device,dtype=torch.float32) #把訓練變量放到GPU

4 把模型網絡放到GPU 【重要】

net = DNN(layers)
net = nn.DataParallel(net)
net.to(device=device)

重要:nn.DataParallel

net = nn.DataParallel(net)
net.to(device=device)

1.使用 nn.DataParallel 打包模型

2.然后用 nn.DataParallel 的 model.to(device) 把模型傳送到多塊GPU中進行運算

torch.nn.DataParallel(DP)

DataParallel(DP)中的參數:

  • module即表示你定義的模型
  • device_ids表示你訓練時用到的gpu device
  • output_device這個參數表示輸出結果的device,默認就是在第一塊卡上,因此第一塊卡的顯存會占用的比其他卡要更多一些。

當調用nn.DataParallel的時候,input數據是并行的,但是output loss卻不是這樣的,每次都會在output_device上相加計算

===> 這就造成了第一塊GPU的負載遠遠大于剩余其他的顯卡。

DP的優(yōu)勢是實現簡單,不涉及多進程,核心在于使用nn.DataParallel將模型wrap一下,代碼其他地方不需要做任何更改。

例子:

5 其他:多GPU并行

加個判斷:

 if torch.cuda.device_count() > 1:
        model = torch.nn.DataParallel(model)
model = Model(input_size, output_size)  # 實例化模型對象
if torch.cuda.device_count() > 1:  # 檢查電腦是否有多塊GPU
    print(f"Let's use {torch.cuda.device_count()} GPUs!")
    model = nn.DataParallel(model)  # 將模型對象轉變?yōu)槎郍PU并行運算的模型

model.to(device)  # 把并行的模型移動到GPU上

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • PyCharm運行Python代碼時出現"未找到模塊"錯誤解決步驟

    PyCharm運行Python代碼時出現"未找到模塊"錯誤解決步驟

    在使用python的過程中經常會遇到一個問題,就是叫什么名字的模塊未發(fā)現,下面這篇文章主要給大家介紹了關于PyCharm運行Python代碼時出現"未找到模塊"錯誤的解決步驟,需要的朋友可以參考下
    2023-11-11
  • TensorFlow的reshape操作 tf.reshape的實現

    TensorFlow的reshape操作 tf.reshape的實現

    這篇文章主要介紹了TensorFlow的reshape操作 tf.reshape的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Python.append()與Python.expand()用法詳解

    Python.append()與Python.expand()用法詳解

    今天小編就為大家分享一篇Python.append()與Python.expand()用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python基礎之編碼規(guī)范總結

    python基礎之編碼規(guī)范總結

    今天帶大家來學習python基礎知識,文中對python編碼規(guī)范作了詳細的介紹,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • 用Python進行一些簡單的自然語言處理的教程

    用Python進行一些簡單的自然語言處理的教程

    這篇文章主要介紹了用Python進行一些簡單的自然語言處理的教程,主要用到了pandas和collections庫,需要的朋友可以參考下
    2015-03-03
  • 簡單了解python關系(比較)運算符

    簡單了解python關系(比較)運算符

    這篇文章主要介紹了簡單了解python關系(比較)運算符,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 基于Python pyecharts實現多種圖例代碼解析

    基于Python pyecharts實現多種圖例代碼解析

    這篇文章主要介紹了基于Python pyecharts實現多種圖例代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Python運行中頻繁出現Restart提示的解決辦法

    Python運行中頻繁出現Restart提示的解決辦法

    在編程的世界里,遇到各種奇怪的問題是家常便飯,但是,當你的 Python 程序在運行過程中頻繁出現“Restart”提示時,這可能不僅僅是令人頭疼的小問題,而是隱藏著深層次的原因,本文將深入探討這一現象,并提供解決方案,需要的朋友可以參考下
    2025-04-04
  • Python中嘗試多線程編程的一個簡明例子

    Python中嘗試多線程編程的一個簡明例子

    這篇文章主要介紹了Python中嘗試多線程編程的一個簡明例子,由于GIL的存在,Python中的多線程編程一個是熱點和難點問題,需要的朋友可以參考下
    2015-04-04
  • pycharm中成功運行圖片的配置教程

    pycharm中成功運行圖片的配置教程

    今天小編就為大家分享一篇pycharm中成功運行圖片的配置教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評論