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

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

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

3天內不再提示

讓PyTorch 使用更輕便的深度學習框架

數據分析與開發 ? 來源:數據分析與開發 ? 作者:量子位 ? 2020-08-27 15:47 ? 次閱讀

一直以來,PyTorch就以簡單又好用的特點,廣受AI研究者的喜愛。 但是,一旦任務復雜化,就可能會發生一系列錯誤,花費的時間更長。 于是,就誕生了這樣一個“友好”的PyTorch Lightning。

直接在GitHub上斬獲6.6k星。

首先,它把研究代碼與工程代碼相分離,還將PyTorch代碼結構化,更加直觀的展現數據操作過程。 這樣,更加易于理解,不易出錯,本來很冗長的代碼一下子就變得輕便了,對AI研究者十分的友好。 話不多說,我們就來看看這個輕量版的“PyTorch”。

關于Lightning

Lightning將DL/ML代碼分為三種類型:研究代碼、工程代碼、非必要代碼。 針對不同的代碼,Lightning有不同的處理方式。 這里的研究代碼指的是特定系統及其訓練方式,比如GAN、VAE,這類的代碼將由LightningModule直接抽象出來。 我們以MNIST生成為例。

l1 = nn.Linear(...)l2 = nn.Linear(...)decoder = Decoder()
x1 = l1(x)x2 = l2(x2)out = decoder(features, x)
loss = perceptual_loss(x1, x2, x) + CE(out, x)

而工程代碼是與培訓此系統相關的所有代碼,比如提前停止、通過GPU分配、16位精度等。 我們知道,這些代碼在大多數項目中都相同,所以在這里,直接由Trainer抽象出來。

model.cuda(0)x = x.cuda(0)
distributed = DistributedParallel(model)
with gpu_zero:download_data()
dist.barrier()

剩下的就是非必要代碼,有助于研究項目,但是與研究項目無關,可能是檢查梯度、記錄到張量板。此代碼由Callbacks抽象出來。

# log samplesz = Q.rsample()generated = decoder(z)self.experiment.log('images', generated)

此外,它還有一些的附加功能,比如你可以在CPU,GPU,多個GPU或TPU上訓練模型,而無需更改PyTorch代碼的一行;你可以進行16位精度訓練,可以使用Tensorboard的五種方式進行記錄。 這樣說,可能不太明顯,我們就來直觀的比較一下PyTorch與PyTorch Lightning之間的差別吧。

PyTorch與PyTorch Lightning比較

直接上圖。

我們就以構建一個簡單的MNIST分類器為例,從模型、數據、損失函數、優化這四個關鍵部分入手。

模型

首先是構建模型,本次設計一個3層全連接神經網絡,以28×28的圖像作為輸入,將其轉換為數字0-9的10類的概率分布。

兩者的代碼完全相同。意味著,若是要將PyTorch模型轉換為PyTorch Lightning,我們只需將nn.Module替換為pl.LightningModule。 也許這時候,你還看不出這個Lightning的神奇之處。不著急,我們接著看。

數據

接下來是數據的準備部分,代碼也是完全相同的,只不過Lightning做了這樣的處理。 它將PyTorch代碼組織成了4個函數,prepare_data、train_dataloader、val_dataloader、test_dataloader。

prepare_data 這個功能可以確保在你使用多個GPU的時候,不會下載多個數據集或者對數據進行多重操作。這樣所有代碼都確保關鍵部分只從一個GPU調用。 這樣就解決了PyTorch老是重復處理數據的問題,這樣速度也就提上來了。 train_dataloader, val_dataloader, test_dataloader 每一個都負責返回相應的數據分割,這樣就能很清楚的知道數據是如何被操作的,在以往的教程里,都幾乎看不到它們的是如何操作數據的。 此外,Lightning還允許使用多個dataloaders來測試或驗證。

優化

接著就是優化。

不同的是,Lightning被組織到配置優化器的功能中。如果你想要使用多個優化器,則可同時返回兩者。

損失函數

對于n向分類,我們要計算交叉熵損失。兩者的代碼是完全一樣的。

此外,還有更為直觀的——驗證和訓練循環。

在PyTorch中,我們知道,需要你自己去構建for循環,可能簡單的項目還好,但是一遇到更加復雜高級的項目就很容易翻車了。 而Lightning里這些抽象化的代碼,其背后就是由Lightning里強大的trainer團隊負責了。

PyTorch Lightning安裝教程

看到這里,是不是也想安裝下來試一試。 PyTorch Lightning安裝十分簡單。 代碼如下:

conda activate my_envpip install pytorch-lightning

或在沒有conda環境的情況下,可以在任何地方使用pip。 代碼如下:

pip install pytorch-lightning

創建者也有大來頭

William Falcon,PyTorch Lightning 的創建者,現在在紐約大學的人工智能專業攻讀博士學位,在《福布斯》擔任AI特約作者。 2018年,從哥倫比亞大學計算機科學與統計學專業畢業,本科期間,他還曾輔修數學。 現在已獲得Google Deepmind資助攻讀博士學位的獎學金,去年還收到Facebook AI Research實習邀請。 此外,他還曾是一個海軍軍官,接受過美國海軍海豹突擊隊的訓練。

前不久,華爾街日報就曾還曾提到這個團隊,他們正在研究呼吸系統疾病與呼吸模式之間的聯系。可能會應用到的場景,是通過電話在診斷新冠癥狀。目前,該團隊還處在數據收集階段。 果然,優秀的人,干什么都是優秀的。嘆氣……


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

    關注

    1791

    文章

    47350

    瀏覽量

    238750
  • 深度學習
    +關注

    關注

    73

    文章

    5504

    瀏覽量

    121221
  • pytorch
    +關注

    關注

    2

    文章

    808

    瀏覽量

    13238

原文標題:讓 PyTorch 更輕便,這款深度學習框架你值得擁有!在GitHub上斬獲 6.6k 星

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    迅為RK3399開發板人工智能深度學習框架

    `迅為率先在RK3399 開發板上支持了Docker、TensorFlow目標檢測API、OpenCV、Keras、scikit-learn、pytorch和Python等,組成了人工智能深度學習
    發表于 05-21 17:28

    為什么學習深度學習需要使用PyTorch和TensorFlow框架

    如果你需要深度學習模型,那么 PyTorch 和 TensorFlow 都是不錯的選擇。 并非每個回歸或分類問題都需要通過深度學習來解決。
    的頭像 發表于 09-14 10:57 ?3458次閱讀

    Facebook研究開放新框架深度學習更加容易

    FAIR一直是深度學習領域研究和開源框架的定期貢獻者。從PyTorch到ONNX, FAIR團隊為實現深度
    的頭像 發表于 03-13 15:23 ?1700次閱讀

    天才黑客George Hotz開源了一個小型深度學習框架tinygrad

    最近,天才黑客 George Hotz 開源了一個小型深度學習框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。tinygrad 的代碼數量不到 1000
    的頭像 發表于 12-16 09:36 ?4228次閱讀

    基于PyTorch深度學習入門教程之PyTorch的安裝和配置

    神經網絡結構,并且運用各種深度學習算法訓練網絡參數,進而解決各種任務。 本文從PyTorch環境配置開始。PyTorch是一種Python接口的深度
    的頭像 發表于 02-16 15:15 ?2608次閱讀

    基于PyTorch深度學習入門教程之PyTorch簡單知識

    基于Python的科學計算框架,用于進行深度學習相關研究。對于Python語言的入門,可以參考之前的兩篇介紹PythonNumpy的博客。分別是Python Numpy 教程(
    的頭像 發表于 02-16 15:20 ?2270次閱讀

    八種主流深度學習框架的介紹

    導讀:近幾年隨著深度學習算法的發展,出現了許多深度學習框架。這些框架各有所長,各具特色。常用的開
    的頭像 發表于 04-26 18:45 ?8654次閱讀

    PyTorch開源深度學習框架簡介

    PyTorch 是一種開源深度學習框架,以出色的靈活性和易用性著稱。這在一定程度上是因為與機器學習開發者和數據科學家所青睞的熱門 Pytho
    的頭像 發表于 07-29 10:26 ?4470次閱讀

    深度學習框架PyTorch和TensorFlow如何選擇

    在 AI 技術興起后,深度學習框架 PyTorch 和 TensorFlow 兩大陣營似乎也爆發了類似的「戰爭」。這兩個陣營背后都有大量的支持者,并且他們都有充足的理由來說明為什么他們
    發表于 02-02 10:28 ?1040次閱讀

    深度學習框架pytorch入門與實踐

    深度學習框架pytorch入門與實踐 深度學習是機器學習
    的頭像 發表于 08-17 16:03 ?1609次閱讀

    深度學習框架是什么?深度學習框架有哪些?

    深度學習框架是什么?深度學習框架有哪些?? 深度
    的頭像 發表于 08-17 16:03 ?2763次閱讀

    深度學習框架pytorch介紹

    深度學習框架pytorch介紹 PyTorch是由Facebook創建的開源機器學習
    的頭像 發表于 08-17 16:10 ?1814次閱讀

    TensorFlow與PyTorch深度學習框架的比較與選擇

    深度學習作為人工智能領域的一個重要分支,在過去十年中取得了顯著的進展。在構建和訓練深度學習模型的過程中,深度
    的頭像 發表于 07-02 14:04 ?979次閱讀

    PyTorch深度學習開發環境搭建指南

    PyTorch作為一種流行的深度學習框架,其開發環境的搭建對于深度學習研究者和開發者來說至關重要
    的頭像 發表于 07-16 18:29 ?1089次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發表于 10-28 14:05 ?219次閱讀
    <b class='flag-5'>Pytorch</b><b class='flag-5'>深度</b><b class='flag-5'>學習</b>訓練的方法
    主站蜘蛛池模板: 外国xxxx| 亚洲欧美日韩高清专区| 一级毛片皇帝 宫女| 精品视频在线播放| 有码 亚洲 制服 国产 在线| 玖玖爱在线播放| 97视频在线观看免费播放| 欧美日韩1区| 国产精品18久久久久网站 | 国产自产视频在线观看香蕉| 亚洲三级在线看| 色欲精品国产AV久久久| 黑兽在线观看高清在线播放樱花| 永久免费的污视频网站| 天天澡夜夜澡人人澡| 久久国产精品人妻中文| a在线观看免费视频| 天美传媒MV高清免费看| 蜜柚影院在线观看免费高清中文| 广播电台在线收听| 艳妇臀荡乳欲伦岳TXT下载| 年轻的女职工在线观看| 高H各种PLAY全肉NP| 亚洲视频在线免费看| 男人桶女人j的视频在线观看| 国内精品一级毛片免费看| 国产不卡免费| 一级毛片西西人体44rt高清| 无码中文字幕av免费放| 青青草原在线免费| 嗨嗨快播电影| 国产精品免费视频能看| 2021国产精品一卡2卡三卡4卡| 色综合久久88色综合天天提莫| 女人把腿张开叫男人桶免费视频| 国产手机精品一区二区| 99久久国产露脸国语对白| 校园男男高h小黄文| 男人到天堂a在538线| 辣文肉高h粗暴| 绿巨人www|