最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

keras實現(xiàn)多GPU或指定GPU的使用介紹

 更新時間:2020年06月17日 16:36:58   作者:shuangyumelody  
這篇文章主要介紹了keras實現(xiàn)多GPU或指定GPU的使用介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1. keras新版本中加入多GPU并行使用的函數(shù)

下面程序段即可實現(xiàn)一個或多個GPU加速:

注意:使用多GPU加速時,Keras版本必須是Keras2.0.9以上版本

from keras.utils.training_utils import multi_gpu_model  #導入keras多GPU函數(shù)
import VGG19   #導入已經寫好的函數(shù)模型,例如VGG19

if G <= 1:
  print("[INFO] training with 1 GPU...")
  model = VGG19()

# otherwise, we are compiling using multiple GPUs
else:
  print("[INFO] training with {} GPUs...".format(G))
  # we'll store a copy of the model on *every* GPU and then combine
  # the results from the gradient updates on the CPU
  with tf.device("/cpu:0"):
    # initialize the model
    model1 = VGG19()
    # make the model parallel(if you have more than 2 GPU)
    model = multi_gpu_model(model1, gpus=G)

2.指定使用某個GPU

首先在終端查看主機中GPU編號:

watch -n -9 nvidia-smi

查詢結果如下所示:

顯示主機中只有一塊GPU,編號為0

2.1 下面方法是直接在終端運行時加入相關語句實現(xiàn)指定GPU的使用

export CUDA_VISIBLE_DEVICES=0 python test.py
# 表示運行test.py文件時,使用編號為0的GPU卡
export CUDA_VISIBLE_DEVICES=0,2 python test.py
# 表示運行test.py文件時,使用編號為0和2的GPU卡

2.2 下面方法是在Python程序中添加

import os
# 使用第一張與第三張GPU卡
os.environ["CUDA_VISIBLE_DEVICES"] = "0, 2"

補充知識:踩坑記----large batch_size cause low var_acc

有時候,我們在訓練模型前期,會出現(xiàn)很高的train_acc(訓練準確率),但var_acc(驗證準確率)卻很低。這往往是因為我們模型在訓練過程中已經進入局部最優(yōu),或者出現(xiàn)過擬合的現(xiàn)象。造成這種情況有多種原因,我只提出以下幾點,有補充的可以在下面留言,我補充。

(1).訓練數(shù)據(jù)分布不均勻,可能你的訓練數(shù)據(jù)某一類別占據(jù)了大多數(shù),比如95%的數(shù)據(jù)為蘋果,5%的數(shù)據(jù)為其他類別,那么模型為了擬合訓練數(shù)據(jù),則模型會偏袒于把識別結果歸屬于蘋果,而驗證集的數(shù)據(jù)是正常的,那么便會出現(xiàn)高train_acc,低val_acc。

(2).訓練數(shù)據(jù)沒有shuffle,那么整個batch里面將會是同一個類別數(shù)據(jù),比如都為蘋果的圖片,那么訓練一個batch,那么模型輸出將會往這一類別靠攏,會形成一個很高的acc的假象,但這個模型泛化能力卻很低,因為這個模型都只會為了擬合這批同類的數(shù)據(jù)。

(3).訓練集跟驗證集的預處理不一致,這個是細節(jié)問題,輸入的圖片分布不一致,那么必然會影響到驗證結果。

(4).模型過于復雜,造成過擬合現(xiàn)象,特別是在于訓練數(shù)據(jù)集不多的情況下,更容易出現(xiàn)過擬合。

(5).這個也是最難發(fā)現(xiàn)的,就是過大的batch_size,造成訓練前期,模型還未收斂,出現(xiàn)很高的train_acc,卻有很低的val_acc,親測,在120個類別,參數(shù)只有七萬的分類模型中,在batch-size等于64的情況下,在第二個epoch時,train_acc達到80%,val_acc卻只有6%,train_loss跟val_loss也是相差很大,而在batch_size在等于8的情況下,在第二個epoch,train_acc跟val_acc皆能達到60%,且還有上升的趨勢。至于為什么,個人認為,模型在大的batch_size的情況下,模型泛化能力下降,且更難擬合,每個epoch所包含的step也更少,且在adam的優(yōu)化算法,前期的學習率較高,模型出現(xiàn)了振蕩,一直在局部最優(yōu)值徘徊,具體原因不知。

接下來分析下,batc_size對模型的影響:

large batch_size:

好處:訓練的更快,每一step都包含更多的訓練集,模型準確率會更高,不容易受到噪聲的影響,穩(wěn)定性更好。

small batch_size:

好處:不容易陷入局部最優(yōu),泛化能力更強。

總結:

(1).large batch_size,雖然訓練模型的訓練誤差會更低,但往往在execute的時候,效果卻不盡人意。

(2).在時間允許的情況下,建議batch_size在32或以下。

以上這篇keras實現(xiàn)多GPU或指定GPU的使用介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • pandas loc iloc ix用法詳細分析

    pandas loc iloc ix用法詳細分析

    pandas處理數(shù)據(jù)時,我們會經??吹絛ataframe結構使用loc, iloc, ix等方法,那么這些方法到底有啥區(qū)別,下面我們來進行詳細分析,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • Pytorch使用Visdom進行數(shù)據(jù)可視化的示例代碼

    Pytorch使用Visdom進行數(shù)據(jù)可視化的示例代碼

    pytorch Visdom可視化,是一個靈活的工具,用于創(chuàng)建,組織和共享實時豐富數(shù)據(jù)的可視化,這個博客簡要介紹一下在使用Pytorch進行數(shù)據(jù)可視化的一些內容,感興趣的朋友可以參考下
    2023-12-12
  • 深入理解Playwright的高級功能和用法

    深入理解Playwright的高級功能和用法

    Playwright是一個強大而靈活的Python庫,用于自動化瀏覽器操作和測試,本文主要介紹了深入理解Playwright的高級功能和用法,具有一定的 參考價值,感興趣的可以了解一下
    2024-05-05
  • 基于PyQt5制作數(shù)據(jù)處理小工具

    基于PyQt5制作數(shù)據(jù)處理小工具

    這篇文章主要和大家介紹了如何利用Python中的PyQt5模塊制作一個數(shù)據(jù)處理小工具,可以實現(xiàn)根據(jù)每個Excel數(shù)據(jù)文件里面的Sheet批量將數(shù)據(jù)文件合并成為一個匯總后的Excel數(shù)據(jù)文件,需要的可以參考一下
    2022-03-03
  • PyTorch零基礎入門之邏輯斯蒂回歸

    PyTorch零基礎入門之邏輯斯蒂回歸

    PyTorch是一個開源的Python機器學習庫,基于Torch,用于自然語言處理等應用程序,它是一個可續(xù)計算包,提供兩個高級功能:1、具有強大的GPU加速的張量計算(如NumPy)。2、包含自動求導系統(tǒng)的深度神經網(wǎng)絡
    2021-10-10
  • Python時間和日期庫的實現(xiàn)

    Python時間和日期庫的實現(xiàn)

    這篇文章主要介紹了Python時間和日期庫的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • python中將阿拉伯數(shù)字轉換成中文的實現(xiàn)代碼

    python中將阿拉伯數(shù)字轉換成中文的實現(xiàn)代碼

    用于將阿拉伯數(shù)字轉換化大寫中文。程序沒經過任何優(yōu)化,出沒經過詳細的測試,掛到網(wǎng)上,方便將來有需要的時候直接拿來用
    2011-05-05
  • conda虛擬環(huán)境默認路徑的修改方法

    conda虛擬環(huán)境默認路徑的修改方法

    最近發(fā)現(xiàn)我linux系統(tǒng)中的/dev/root目錄利用率占用了100%,這對后面文件的操作帶來了一些麻煩,下面這篇文章主要給大家介紹了關于conda虛擬環(huán)境默認路徑的修改方法,需要的朋友可以參考下
    2022-07-07
  • python 爬蟲 實現(xiàn)增量去重和定時爬取實例

    python 爬蟲 實現(xiàn)增量去重和定時爬取實例

    今天小編就為大家分享一篇python 爬蟲 實現(xiàn)增量去重和定時爬取實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 2024最新Pytorch安裝圖文教程(Anaconda+GPU)

    2024最新Pytorch安裝圖文教程(Anaconda+GPU)

    本文詳細介紹了如何使用Anaconda創(chuàng)建虛擬環(huán)境,并在該環(huán)境中安裝CUDA和cuDNN,最后安裝支持GPU的PyTorch,本文通過圖文并茂的形式給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-11-11

最新評論

邳州市| 黑水县| 静乐县| 浦城县| 晋中市| 科尔| 彩票| 通化县| 湘潭市| 宣城市| 镇巴县| 五大连池市| 教育| 定州市| 五指山市| 高邑县| 宽甸| 长子县| 天津市| 丽水市| 庄浪县| 肃北| 定西市| 当阳市| 海兴县| 丹江口市| 榕江县| 陆良县| 阳山县| 桐庐县| 岳普湖县| 仁布县| 上蔡县| 姚安县| 洪泽县| 两当县| 德安县| 沅陵县| 香河县| 昌乐县| 和平县|