色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Github上放出了只需4-8塊GPU就能訓練的“改進版”BigGAN模型代碼

DPVg_AI_era ? 來源:lp ? 2019-03-29 11:23 ? 次閱讀

機器學習模型訓練成本往往令普通人倍感頭疼,動輒幾十上百塊泰坦,別說買,就是租都肉疼。近日,BigGAN作者之一在Github上放出了只需4-8塊GPU就能訓練的“改進版”BigGAN模型代碼,可以說是窮人的福音。新模型使用PyTorch實現。

機器學習模型訓練是一個耗時費力的過程,而且隨著人們對模型性能要求的提升,訓練模型需要的計算力正以驚人的速度增長,堆疊高性能GPU進行數據訓練幾乎是唯一選擇,動輒幾十塊上百塊的泰坦,搞的地主家也沒有余糧。

BigGAN效果拔群,但訓練成本同樣讓人望而卻步,想自己搞?先摸摸錢包再說。

現在,BigGAN原作者之一Andrew Brock在Github上放出了只需4-8塊GPU就能訓練的新版BigGAN,想窮人之所想,急窮人之所急,可以說是非常親民了。新模型使用的是PyTorch,而不是TF。

下面一起看看這個新模型的具體介紹,以下內容來自Github上的簡介。

本資源包含由Andrew Brock,JeffDonahue和Karen Simonyan進行的大規模GAN高保真自然圖像合成訓練的BigGAN,只需4-8塊 GPU的訓練代碼。

本段代碼由Andy Brock和Alex Andonian編寫。

運行環境和條件

PyTorch 1.0.1

tqdm,numpy,scipy和h5py

ImageNet訓練集

首先,可以選擇準備目標數據集的預處理HDF5版本,以實現更快的輸入輸出。之后需要計算FID所需的Inception時刻。這些都可以通過修改和運行以下代碼來完成

shscripts / utils / prepare_data.sh

默認情況下,ImageNet訓練集被下載到此目錄中的根文件夾中,并將以128x128像素分辨率準備緩存的HDF5。

在scripts文件夾中,有多個bash腳本可以訓練具有不同批量大小的BigGAN。假設您無法訪問完整的TPU pod,因此通過梯度累積(在多個小批量下進行梯度平均,并且僅在N次累積后執行優化程序步驟),以此形式表示大批量。

默認情況下,可以使用launch_BigGAN_bs256x8.sh腳本訓練一個全尺寸的BigGAN模型,批大小為256和8個梯度累積,總批量為2048。在8張V100上進行全精度訓練(無張量),訓練需要15天,期間共進行約150k次迭代。

首先需要確定設置可以支持的最大批量大小。這里提供的預訓練模型是在8個V100上(每個顯存16GB )上訓練的,這個配置可以支持比默認使用的B1S256稍多一些的載荷。一旦確定了這一點,就應該修改腳本,使批大小乘以梯度累積的數量等于所需的總批量大?。˙igGAN默認為2048)。

另外,此腳本使用--load_in_memarg,將整個(最大支持64GB)的I128.hdf5文件加載到RAM中,以加快數據的加載速度。如果沒有足夠的RAM做硬件支持(可能需要96GB以上的RAM),請刪除此參數。

度量標準和抽樣

在訓練期間,腳本將輸出帶有訓練指標和測試指標的日志,同時保存模型權重和優化程序參數的多個副本(前者保存最近的2個,后者保存5個最高得分),并且每次保存權重時將生成樣本和插值。 logs文件夾包含處理這些日志的腳本,并使用MATLAB繪制結果。

訓練之后,可以使用sample.py生成其他樣本和插值,使用不同的截斷值,批量大小,站立統計累積次數等進行測試。有關示例,請參閱sample_BigGAN_bs256x8.sh腳本。

默認情況下,所有內容都保存在weights/samples/logs/data文件夾中,這些文件夾設置與此repo位于同一文件夾中??梢允褂?-base_root參數將所有這些指向不同的基本文件夾,或者使用各自的參數(例如--logs_root)選擇每個基礎文件夾的特定位置。

此代碼中包含了運行BigGAN-deep的腳本,但還沒有完全訓練使用它們的模型,因此用戶可以視作這些模型尚未測試過。此外,我代碼中還包括在CIFAR上運行模型的腳本,以及在ImageNet上運行SA-GAN(包括EMA)和SN-GAN的腳本。

SA-GAN代碼假設用戶配置在4張TitanX(或等同于該配置的GPU RAM),并且將以批量大小為128以及2個梯度累積運行。

關于初始度量標準的重要說明

本資源使用PyTorch內置的初始網絡來計算IS和FID分數。這些分數與使用Tensorflow官方初始代碼獲得的分數不同,僅用于監控目的。使用--sample_npz參數在模型上運行sample.py,然后運行inception_tf13來計算實際的TensorFlow IS。請注意,需要安裝TensorFlow 1.3或更早版本,因為1.4或更高版本會破壞原始的IS代碼。

預訓練模型

PyTorch初始分數和FID分數

我們引入了兩個預訓練模型檢查點(使用G,D,G的EMA副本,優化器和狀態dict):

主要檢查點是在 128x128 ImageNet 圖像上訓練的 BigGAN,該模型使用 BS256 和 8 梯度累積,并在崩潰前實現,其 TF Inception Score 為 97.35 +/- 1.79,

詳見:

https://drive.google.com/open?id=1nAle7FCVFZdix2—ks0r5JBkFnKw8ctW

第一個模型(100k G iters)的早期檢查點,性能更高,在崩潰之前實現,可能更容易微調。

詳見:

https://drive.google.com/open?id=1dmZrcVJUAWkPBGza_XgswSuT-UODXZcO。

另外,使用Places-365數據集的預訓練模型即將推出。

此repo還包含用于將原始TF HubBigGAN 生成器權重的PyTorch的移植腳本。有關更多詳細信息,請參閱TFHub文件夾中的腳本。

使用自己的數據集或創建新的訓練函數微調模型

如果想恢復中斷訓練或微調預訓練模型,請在運行相同的啟動腳本,添加--resume參數。實驗名稱是由訓練配置自動生成的,但如果希望使用修改后的優化器設置微調模型,可以使用--experiment_namearg進行文件名的覆蓋。

要準備自己的數據集,需要將其添加到datasets.py并修改utils.py中的convenience dicts,以獲得數據集的相應元數據。在prepare_data.sh中重復此過程(也可以選擇生成HDF5預處理副本,并計算FID的Inception Moments)。

默認情況下,訓練腳本將保存初始分數最高的前5個檢查點。對于ImageNet以外的數據集,初始分數可能是一種非常差的質量標準,可以使用--which_bestFID來代替。

要使用自己的訓練函數(如訓練BigVAE):修改train_fns.GAN_training_function或在if config['which_train_fn'] =='GAN'之后添加新的訓練函數。

本模型的主要亮點

本資源庫提供完整的訓練和指標日志以供參考。重現論文過程中最困難的事情之一就是檢查訓練早期的記錄日志是否規整,特別是在訓練時間長達數周的情況下。希望這將有助于未來的工作。

本資源庫包括一個加速的FID計算 - 原始的scipy版本可能需要超過10分鐘來計算矩陣sqrt,此版本使用加速的PyTorch版本,計算時間不到1秒。

本資源用了一種加速、低內存消耗的正交寄存器實現。默認情況下,只計算最大奇異值(譜范數),但本段代碼通過 —num_G_SVs 參數支持了更多 SV 的計算。

本模型與原始BigGAN之間的主要區別

我們使用來自SA-GAN的優化器設置(G_lr= 1e-4,D_lr = 4e-4,num_D_steps= 1,與BigGAN的設置不同(G_lr = 5e-5,D_lr = 2e-5,num_D_steps = 2)。雖然這樣犧牲了些許性能,但這是削減訓練時間的第一步。

默認情況下,本資源不使用Cross-Replica BatchNorm(又名Synced BatchNorm)。本資源嘗試的兩種變體與內置的BatchNorm具有略微不同的梯度(盡管是相同的前向傳遞),可以滿足訓練要求。

梯度累積意味著需要更頻繁地更新SV估計值和BN統計量(頻度增加了8倍)。這意味著BN統計數據更接近于常設統計數據,而且奇異值估計往往更準確。因此,在測試模式下默認使用G來衡量指標(使用BatchNorm運行統計估算,而不是像文件中那樣計算常設統計數據)。

我們仍然支持常設統計信息(具體見sample.sh腳本)。這也可能導致早期累積的梯度變得過時,但在實踐中這已經不再是個問題。

目前給出的預訓練模型未經過正交正則化訓練。似乎增加了模型由于截斷變得不可修復的可能性,但本資源庫中給出特定模型似乎格外好運,沒有碰到這種情況。不過,我們還是提供兩個經過高度優化(快速和最小內存消耗)的正交寄存器實現,直接計算正交寄存器梯度。

Github資源地址:

https://github.com/ajbrock/BigGAN-PyTorch

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4729

    瀏覽量

    128891
  • 機器學習
    +關注

    關注

    66

    文章

    8406

    瀏覽量

    132567
  • GitHub
    +關注

    關注

    3

    文章

    469

    瀏覽量

    16428

原文標題:學生黨福音!僅4個GPU打造自己的BigGAN,PyTorch代碼已開源

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    GPU是如何訓練AI大模型

    在AI模型訓練過程中,大量的計算工作集中在矩陣乘法、向量加法和激活函數等運算上。這些運算正是GPU所擅長的。接下來,AI部落小編帶您了解GPU是如何
    的頭像 發表于 12-19 17:54 ?85次閱讀

    如何使用FP8新技術加速大模型訓練

    /fp8_primer.html#Introduction-to-FP8 其中,使用 FP8 進行大模型訓練具有以下優勢: 新一代 GPU
    的頭像 發表于 12-09 11:30 ?123次閱讀

    助力AIoT應用:在米爾FPGA開發板實現Tiny YOLO V4

    量和內存占用) 三、 獲取數據集和模型可下載開源訓練集或預訓練模型。為了確保兼容性,建議將模型轉換為 ONNX 格式,以便后續能在 FPGA
    發表于 12-06 17:18

    訓練AI大模型需要什么樣的gpu

    訓練AI大模型需要選擇具有強大計算能力、足夠顯存、高效帶寬、良好散熱和能效比以及良好兼容性和擴展性的GPU。在選擇時,需要根據具體需求進行權衡和選擇。
    的頭像 發表于 12-03 10:10 ?105次閱讀

    PyTorch GPU 加速訓練模型方法

    在深度學習領域,GPU加速訓練模型已經成為提高訓練效率和縮短訓練時間的重要手段。PyTorch作為一個流行的深度學習框架,提供了豐富的工具和
    的頭像 發表于 11-05 17:43 ?546次閱讀

    GitHub Copilot引入多模型支持

    近日,據外媒報道,GitHub正在為其代碼完成和編程工具Copilot引入多模型支持。這一舉措將為開發者提供更加靈活和多樣化的選擇。 在近日舉辦的GitHub Universe大會上,
    的頭像 發表于 10-31 11:49 ?502次閱讀

    為什么ai模型訓練要用gpu

    GPU憑借其強大的并行處理能力和高效的內存系統,已成為AI模型訓練不可或缺的重要工具。
    的頭像 發表于 10-24 09:39 ?256次閱讀

    FP8模型訓練中Debug優化思路

    目前,市場上許多公司都積極開展基于 FP8 的大模型訓練,以提高計算效率和性能。在此,我們整理并總結了客戶及 NVIDIA 技術團隊在 FP8 模型
    的頭像 發表于 09-06 14:36 ?315次閱讀
    FP<b class='flag-5'>8</b><b class='flag-5'>模型</b><b class='flag-5'>訓練</b>中Debug優化思路

    GitHub推出GitHub Models服務,賦能開發者智能選擇AI模型

    8月2日,全球領先的代碼托管平臺GitHub宣布了一項重大創新——GitHub Models服務的正式推出。該服務被定位為AI時代的工程師助手,旨在幫助全球超過1億的
    的頭像 發表于 08-02 15:39 ?576次閱讀

    llm模型訓練一般用什么系統

    。 硬件系統 1.1 GPU(圖形處理器) 在訓練大型語言模型時,GPU是首選的硬件設備。相比于CPU,GPU具有更高的并行處理能力,可以顯
    的頭像 發表于 07-09 10:02 ?398次閱讀

    【大語言模型:原理與工程實踐】大語言模型的預訓練

    大語言模型的核心特點在于其龐大的參數量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而更傾向于培養通用的處理能力。然而,隨著學習容量的增加,對預訓練數據的需求也相應
    發表于 05-07 17:10

    如何提高自動駕駛汽車感知模型訓練效率和GPU利用率

    由于采用了多攝像頭輸入和深度卷積骨干網絡,用于訓練自動駕駛感知模型GPU 內存占用很大。當前減少內存占用的方法往往會導致額外的計算開銷或工作負載的失衡。
    的頭像 發表于 04-29 09:12 ?889次閱讀
    如何提高自動駕駛汽車感知<b class='flag-5'>模型</b>的<b class='flag-5'>訓練</b>效率和<b class='flag-5'>GPU</b>利用率

    AI訓練,為什么需要GPU?

    隨著由ChatGPT引發的人工智能熱潮,GPU成為了AI大模型訓練平臺的基石,甚至是決定性的算力底座。為什么GPU能力壓CPU,成為炙手可熱的主角呢?要回答這個問題,首先需要了解當前人
    的頭像 發表于 04-24 08:05 ?1075次閱讀
    AI<b class='flag-5'>訓練</b>,為什么需要<b class='flag-5'>GPU</b>?

    模型時代,國產GPU面臨哪些挑戰

    ,國產GPU在不斷成長的過程中也存在諸多挑戰。 ? 在大模型訓練存在差距 ? 大語言模型是基于深度學習的技術。這些
    的頭像 發表于 04-03 01:08 ?4663次閱讀
    大<b class='flag-5'>模型</b>時代,國產<b class='flag-5'>GPU</b>面臨哪些挑戰

    在AMD GPU如何安裝和配置triton?

    最近在整理python-based的benchmark代碼,反過來在NV的GPU又把Triton裝了一遍,發現Triton的github repo已經給
    的頭像 發表于 02-22 17:04 ?2356次閱讀
    在AMD <b class='flag-5'>GPU</b><b class='flag-5'>上</b>如何安裝和配置triton?
    主站蜘蛛池模板: 中文国产乱码在线人妻一区二区| 夫外出被公侵犯日本电影| 国产女人乱人伦精品一区二区| 蜜桃色欲AV久久无码精品| 亚洲薄码区| 成人女人A级毛片免费软件| 老司机午夜影院味味| 亚洲AV久久无码精品国产网站 | 中国农村妇女真实BBWBBWBBW| 国产XXXXXX农村野外| 欧美日韩高清一区二区三区| 伊人久久综合| 国产综合无码一区二区色蜜蜜| 入禽太深在线观看免费高清| 99精品电影| 久久天天婷婷五月俺也去| 亚洲国产在线视频中文字| 国产成人免费视频| 秋霞电影午夜伦午夜| 99国产小视频| 麻豆精选2021| 一个人免费视频在线观看 | 久久免费观看视频| 亚洲精品在线影院| 国产免费久久精品国产传媒| 善良的小峓子2在钱中文版女主角 善良的小峓子2在钱免费中文字 | 无码成人AAAAA毛片含羞草| 草莓视频免费看| 欧美午夜精品A片一区二区HD| 97精品伊人久久大香线蕉app | 最新国产成人综合在线观看| 国家产午夜精品无人区| bbw videos 欧美老妇| 久久久久久久久性潮| 亚洲欧美成人| 国产曰韩无码亚洲视频| 午夜啪啪免费视频| 狠狠色狠狠色综合| 2019久久这里只精品热在线观看| 好男人好资源在线观看| 亚洲精品成人在线|