0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

fast.ai發(fā)布的一個(gè)簡(jiǎn)便、好用的PyTorch庫(kù)

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-10-10 09:20 ? 次閱讀

編者按:幾天前,有人統(tǒng)計(jì)了歷年ICLR論文錄用者使用的深度學(xué)習(xí)框架,發(fā)現(xiàn)雖然TensorFlow還高居榜首,但PyTorch近一年來(lái)的使用數(shù)據(jù)已經(jīng)翻了3倍,可以和TF比肩。這是個(gè)令人驚訝的消息,也讓不少?gòu)臉I(yè)者開(kāi)始正視這一發(fā)展趨勢(shì),籌備“雙修”事宜。在下文中,論智給讀者帶來(lái)的是fast.ai發(fā)布的一個(gè)簡(jiǎn)便、好用的PyTorch庫(kù)——對(duì)PyTorch感興趣的讀者不妨先從這個(gè)庫(kù)開(kāi)始試手。

隨著互聯(lián)網(wǎng)和知識(shí)傳播的深度結(jié)合,現(xiàn)在在線(xiàn)課程對(duì)許多人來(lái)說(shuō)已經(jīng)不是新鮮事物。在深度學(xué)習(xí)領(lǐng)域,最受學(xué)生歡迎的MOOC課程平臺(tái)有三個(gè):Fast.ai、deeplearning.ai /Coursera和Udacity。其中,因?yàn)镴eremy Howard化繁為簡(jiǎn)、實(shí)戰(zhàn)為上的獨(dú)特授課風(fēng)格,F(xiàn)ast.ai給人的印象一直很“接地氣”:

研究如何快速、可靠地把最先進(jìn)的深度學(xué)習(xí)應(yīng)用于實(shí)際問(wèn)題。

提供Fast.ai庫(kù),它不僅是讓新手快速構(gòu)建深度學(xué)習(xí)實(shí)現(xiàn)的工具包,也是提供最佳實(shí)踐的一個(gè)強(qiáng)大而便捷的資源。

課程內(nèi)容簡(jiǎn)潔易懂,以便盡可能多的人從研究成果和軟件中收益。

國(guó)慶期間,F(xiàn)ast.ai發(fā)布一個(gè)新的、面向深度學(xué)習(xí)的免費(fèi)開(kāi)源庫(kù)——fastai。這是個(gè)PyTorch庫(kù),雖然還是預(yù)覽版,但它目前已經(jīng)為最重要的深度學(xué)習(xí)應(yīng)用程序和數(shù)據(jù)類(lèi)型提供了一致的API,且相比其他深度學(xué)習(xí)庫(kù),它在準(zhǔn)確性和速度上有顯著提高,同時(shí)所需的代碼大大減少。

感興趣的開(kāi)發(fā)者可以訪(fǎng)問(wèn)fastai的GitHub進(jìn)行安裝:github.com/fastai/fastai/

fastai庫(kù)

從去年宣布開(kāi)發(fā)開(kāi)始,歷時(shí)18個(gè)月,fastai深度學(xué)習(xí)庫(kù)v1.0終于和大家見(jiàn)面了。在項(xiàng)目啟動(dòng)之初,開(kāi)發(fā)人員就曾介紹過(guò)PyTorch作為一個(gè)平臺(tái)的優(yōu)勢(shì):可以利用常規(guī)python代碼的靈活性和各種函數(shù)構(gòu)建、訓(xùn)練神經(jīng)網(wǎng)絡(luò),可以解決更廣泛的問(wèn)題……

現(xiàn)在,經(jīng)過(guò)Fast.ai團(tuán)隊(duì)和PyTorch團(tuán)隊(duì)的共同努力,我們迎來(lái)了一個(gè)為計(jì)算機(jī)視覺(jué)、文本、表格數(shù)據(jù)、時(shí)間序列、協(xié)同過(guò)濾等常見(jiàn)深度學(xué)習(xí)應(yīng)用提供單一一致界面的深度學(xué)習(xí)庫(kù)。這意味著,如果你已經(jīng)學(xué)會(huì)用fastai創(chuàng)建實(shí)用的計(jì)算機(jī)視覺(jué)(CV)模型,那你就可以用同樣的方法創(chuàng)建自然語(yǔ)言處理(NLP)模型,或是軟件支持的其他模型。

早期用戶(hù)使用反饋

GitHub上的語(yǔ)義代碼搜索

Fast.ai的課程是GitHub的數(shù)據(jù)科學(xué)家和高管(包括CEO在內(nèi))提高數(shù)據(jù)素養(yǎng)的一個(gè)重要途徑,其中,Github的高級(jí)機(jī)器學(xué)習(xí)科學(xué)家Hithl Husain在過(guò)去兩年中一直通過(guò)Fast.ai學(xué)習(xí)深度學(xué)習(xí),他認(rèn)為這些MOOC課程開(kāi)啟了Github的數(shù)據(jù)新時(shí)代,使數(shù)據(jù)科學(xué)家們更有信心解決機(jī)器學(xué)習(xí)中的最新問(wèn)題。

作為fastai的第一批使用者,Hithl Husain和他的同事Ho-Hsiang Wu最近發(fā)布了一個(gè)實(shí)驗(yàn)版工具“語(yǔ)義代碼搜索”,允許開(kāi)發(fā)者直接通過(guò)意義而不是關(guān)鍵詞匹配來(lái)查找代碼,這意味著最佳搜索結(jié)果不一定包含你搜索的單詞。在官方博客文章中,他們介紹了自己棄用Tensorflow Hub轉(zhuǎn)而投向fastai的原因,稱(chēng)后者能更輕松地訪(fǎng)問(wèn)最先進(jìn)的架構(gòu)(如AWD LSTMs)和技術(shù)(如隨機(jī)重啟循環(huán)學(xué)習(xí)率)。

語(yǔ)義代碼搜索

在過(guò)去的12個(gè)月里,Husain一直在體驗(yàn)預(yù)發(fā)布版本的fastai庫(kù)。他表示:

我之所以選擇fast.ai,是因?yàn)樗茉诒WC相同性能的情況下,用模塊化、高級(jí)API實(shí)現(xiàn)最先進(jìn)的技術(shù)和創(chuàng)新,同時(shí)減少計(jì)算量。語(yǔ)義代碼搜索只是冰山一角,銷(xiāo)售、營(yíng)銷(xiāo)、反欺詐,人們能用fastai為各行各業(yè)帶去革命性的變化。

生成音樂(lè)

Christine McLeavey Payne是從上一期Fast.ai深度學(xué)習(xí)課程中脫穎而出的一名學(xué)生。她的人生經(jīng)歷非常豐富:從舊金山交響樂(lè)團(tuán)的古典鋼琴師,到金融領(lǐng)域的HPC專(zhuān)家,再到斯坦福大學(xué)的神經(jīng)科學(xué)和醫(yī)學(xué)研究員?,F(xiàn)在,她已經(jīng)在OpenAI開(kāi)啟了又一段人生旅途,而在近期的OpenAI項(xiàng)目中,她用fastai創(chuàng)建了一個(gè)能生成鋼琴曲和室內(nèi)音樂(lè)的LSTM——Clara。

fastai是一個(gè)了不起的資源,即便是我這樣剛接觸深度學(xué)習(xí)的新手,也能用短短幾行代碼就得到fastai模型。我不完全知道這些先進(jìn)技術(shù)背后的原理,但我的模型能運(yùn)行,而且訓(xùn)練用時(shí)更短,性能也更好。

她的音樂(lè)生成模型基于上課期間她構(gòu)建的一個(gè)語(yǔ)言模型,利用fastai庫(kù)對(duì)NLP最新技術(shù)的支持,她在短短兩周內(nèi)就完成了這個(gè)音樂(lè)生成項(xiàng)目,并取得了很好的初步成果。這是fastai庫(kù)實(shí)用性的一個(gè)典例,只需少量修改,開(kāi)發(fā)者就能把文本分類(lèi)模型改成音樂(lè)生成模型,這在實(shí)踐中能節(jié)省大量時(shí)間和精力。

IBM Watson高級(jí)研究員對(duì)音樂(lè)生成器Clara的評(píng)價(jià)

藝術(shù)創(chuàng)作

建筑師、投資者M(jìn)iguel Pérez Michaus一直在用預(yù)發(fā)布版本的fastai進(jìn)行他的“Style Reversion(風(fēng)格還原)”實(shí)驗(yàn)。所謂“風(fēng)格還原”,就是把風(fēng)格遷移后的圖像恢復(fù)成原本的樣子,如下圖所示:

風(fēng)格還原

他表示:“我喜歡用fastai創(chuàng)作,因?yàn)樗軐?shí)現(xiàn)Keras不能實(shí)現(xiàn)的東西,比如生成‘不標(biāo)準(zhǔn)’的東西。”作為早期用戶(hù),他在過(guò)去12個(gè)月中目睹了fastai的更新迭代:

我很幸運(yùn)地體驗(yàn)了fastai的A測(cè)版本,雖然只是Alpha版,但它充分展示了自己的實(shí)用性和靈活性,而且允許我這樣具有領(lǐng)域知識(shí)但沒(méi)有正式計(jì)算機(jī)科學(xué)背景的人上手操作。fastai會(huì)變得越來(lái)越好。對(duì)于深度學(xué)習(xí)的未來(lái),我個(gè)人有一點(diǎn)粗淺的認(rèn)識(shí),就是我們必須要詳細(xì)掌握黑盒背后的真實(shí)技術(shù)原理,在這種情況下,我認(rèn)為fastai會(huì)廣受歡迎。

學(xué)術(shù)研究

在NLP領(lǐng)域,波蘭語(yǔ)一直是一個(gè)挑戰(zhàn),因?yàn)樗且环N形態(tài)豐富的語(yǔ)言,如波蘭語(yǔ)形容詞會(huì)根據(jù)名詞的數(shù)和性而變化。企業(yè)家Piotr Czapla和Marcin Kardas是深度學(xué)習(xí)咨詢(xún)公司n-wave的聯(lián)合創(chuàng)始人,基于Cutting Edge Deep Learning For Coders這門(mén)課程中顯示的思路,他們用fastai開(kāi)發(fā)了一種新的波蘭語(yǔ)文本分類(lèi)算法,并在波蘭頂級(jí)NLP學(xué)術(shù)競(jìng)賽中獲得一等獎(jiǎng),有關(guān)這項(xiàng)新研究的論文即將發(fā)布。

根據(jù)Czapla的說(shuō)法,fastai庫(kù)對(duì)他們的成功至關(guān)重要:

fastai適合那些沒(méi)有上百臺(tái)服務(wù)器的普通人,這是我很喜歡它的一點(diǎn)。它支持快速開(kāi)發(fā)和原型設(shè)計(jì),并融入了所有最好的深度學(xué)習(xí)實(shí)踐。同時(shí),F(xiàn)ast.ai課程是我開(kāi)始學(xué)習(xí)深度學(xué)習(xí)的指路明燈,從上課的那天起,我才開(kāi)始思考深度學(xué)習(xí)能做什么。

示例:計(jì)算機(jī)視覺(jué)領(lǐng)域的遷移學(xué)習(xí)

Kaggle上有一個(gè)非常受歡迎的競(jìng)賽項(xiàng)目:Dogs vs Cats。參賽者需要編寫(xiě)一個(gè)算法來(lái)分類(lèi)圖像是包含狗還是貓。這也是Fast.ai課程中經(jīng)常涉及的一個(gè)競(jìng)賽,因?yàn)樗砹艘活?lèi)重要問(wèn)題:基于預(yù)訓(xùn)練模型的遷移學(xué)習(xí)。

我們將以此為例,從所需代碼量、準(zhǔn)確性和速度三個(gè)指標(biāo)上比較Keras和fastai的差異。以下是用fastai進(jìn)行2-stage微調(diào)時(shí)的所有代碼——不僅要編寫(xiě)的代碼非常少,設(shè)置的參數(shù)也非常少:

data = data_from_imagefolder(Path('data/dogscats'),

ds_tfms=get_transforms(), tfms=imagenet_norm, size=224)

learn = ConvLearner(data, tvm.resnet34, metrics=accuracy)

learn.fit_one_cycle(6)

learn.unfreeze()

learn.fit_one_cycle(4, slice(1e-5,3e-4))

下表是兩個(gè)深度學(xué)習(xí)庫(kù)的差異對(duì)比:

Keras是現(xiàn)在最流行的訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方法之一,以上數(shù)據(jù)雖然是片面的,但fastai的改進(jìn)能從側(cè)面說(shuō)明Keras并不完美,它還有很大的改善空間。而無(wú)論是Keras還是其他深度學(xué)習(xí)庫(kù),要完成同樣的任務(wù),它們所需的代碼量都遠(yuǎn)遠(yuǎn)超過(guò)fastai,相應(yīng)的,它們的訓(xùn)練時(shí)間會(huì)更長(zhǎng),且模型性能不一定會(huì)更好。

此外,fastai在NLP任務(wù)上也有強(qiáng)勁表現(xiàn)。下表是ULMFiT論文中的一幅截圖,顯示了文本分類(lèi)算法ULMFiT與IMDb數(shù)據(jù)集中排名靠前的算法的相對(duì)誤差:

文本分類(lèi)性能總結(jié)

fastai是目前唯一提供此算法的庫(kù),由于該算法是內(nèi)置的,你可以直接參考上面的Dogs vs Cats代碼復(fù)現(xiàn)論文結(jié)果。以下是訓(xùn)練ULMFiT語(yǔ)言模型的方法:

data = data_from_textcsv(LM_PATH, Tokenizer(), data_func=lm_data)

learn = RNNLearner.language_model(data, drop_mult=0.3,

pretrained_fnames=['lstm_wt103', 'itos_wt103'])

learn.freeze()

learn.fit_one_cycle(1, 1e-2, moms=(0.8,0.7))

learn.unfreeze()

learn.fit_one_cycle(10, 1e-3, moms=(0.8,0.7), pct_start=0.25)

小結(jié)

在之后的幾個(gè)月中,F(xiàn)ast.ai會(huì)陸續(xù)發(fā)布有關(guān)這個(gè)深度學(xué)習(xí)庫(kù)的學(xué)術(shù)論文和博客文章,包括開(kāi)一門(mén)新課。我們會(huì)繼續(xù)關(guān)注開(kāi)發(fā)團(tuán)隊(duì)的進(jìn)展,讀者在玩轉(zhuǎn)TensorFlow之余,也可以多多了解一下潛力無(wú)窮的PyTorch,體驗(yàn)不一樣的“風(fēng)景”。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5463

    瀏覽量

    120890
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    802

    瀏覽量

    13115

原文標(biāo)題:超越Keras:深度學(xué)習(xí)新庫(kù)fastai“落戶(hù)”P(pán)yTorch

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎樣去解決在stm32上做ai的問(wèn)題

    **(嵌入式AI)關(guān)于在stm32上做ai些問(wèn)題,工具用的是STM32CubeIDE也可以用STM32CubeMX,用IDE更好1.pytorch中很多語(yǔ)句是不可以用cubeAI
    發(fā)表于 12-14 07:47

    Pytorch AI語(yǔ)音助手

    想做一個(gè)Pytorch AI語(yǔ)音助手,有沒(méi)有好的思路呀?
    發(fā)表于 03-06 13:00

    阿里平頭哥發(fā)布首個(gè) RISC-V AI 軟硬全棧平臺(tái)

    HHB 實(shí)現(xiàn)了在典型網(wǎng)絡(luò)性能比第三方工具平均提升 88%,并增加支持運(yùn)行 Transformer、TensorFlow、PyTorch 等 170 余個(gè)主流框架 AI 模型。 基于此,平頭哥
    發(fā)表于 08-26 14:14

    Pytorch入門(mén)教程與范例

    pytorch個(gè)基于 python 的深度學(xué)習(xí)庫(kù)。pytorch 源碼庫(kù)的抽象層次少,結(jié)構(gòu)
    發(fā)表于 11-15 17:50 ?5357次閱讀
    <b class='flag-5'>Pytorch</b>入門(mén)教程與范例

    Facebook致力AI開(kāi)源PyTorch 1.0 AI框架

    Facebook近日宣布,將于近期開(kāi)源PyTorch 1.0 AI框架,據(jù)悉,該框架是PyTorch與Caffe 2的結(jié)合,可以讓開(kāi)發(fā)者無(wú)需遷移就從研究轉(zhuǎn)為生產(chǎn)。
    的頭像 發(fā)表于 05-08 14:58 ?3374次閱讀

    Facebook致力AI 開(kāi)源PyTorch1.0 AI框架

    導(dǎo)讀: Facebook近日宣布,將于近期開(kāi)源PyTorch 1.0 AI框架,據(jù)悉,該框架是PyTorch與Caffe 2的結(jié)合,可以讓開(kāi)發(fā)者無(wú)需遷移就從研究轉(zhuǎn)為生產(chǎn)。 Facebook近日宣布
    的頭像 發(fā)表于 06-18 10:30 ?3151次閱讀

    Facebook發(fā)布Pytorch 1.0和新開(kāi)源的圍棋AI項(xiàng)目

    PyTorch tracer是個(gè)函數(shù)torch.jit.trace,它記錄了當(dāng)前代碼區(qū)執(zhí)行的所有本地PyTorch操作和它們之間的數(shù)據(jù)依賴(lài)關(guān)系。其實(shí)早在
    的頭像 發(fā)表于 07-02 08:52 ?4497次閱讀

    fast.ai更新了新版本的針對(duì)開(kāi)發(fā)者的深度學(xué)習(xí)實(shí)踐課程

    框架:fast.ai使用Pytorch作用教學(xué)工具。但是這種東西屬于通百通,基本上你旦掌握了套路,接下來(lái)用TensorFlow/Keras、CNTX、MXNet或者其他深度學(xué)習(xí)
    的頭像 發(fā)表于 01-28 08:59 ?2365次閱讀
    <b class='flag-5'>fast.ai</b>更新了新版本的針對(duì)開(kāi)發(fā)者的深度學(xué)習(xí)實(shí)踐課程

    個(gè)基于PyTorch的幾何深度學(xué)習(xí)擴(kuò)展庫(kù),為GNN的研究和應(yīng)用再添利器

    作者在論文中寫(xiě)道:“這是個(gè) PyTorch 的幾何深度學(xué)習(xí)擴(kuò)展庫(kù),它利用專(zhuān)用的 CUDA 內(nèi)核實(shí)現(xiàn)了高性能。它遵循
    的頭像 發(fā)表于 03-11 08:49 ?6182次閱讀

    個(gè)非常好用的AD封裝庫(kù)免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是個(gè)非常好用的AD封裝庫(kù)免費(fèi)下載。
    發(fā)表于 04-07 08:00 ?0次下載
    <b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>非常<b class='flag-5'>好用</b>的AD封裝<b class='flag-5'>庫(kù)</b>免費(fèi)下載

    基于PyTorch的深度學(xué)習(xí)入門(mén)教程之使用PyTorch構(gòu)建個(gè)神經(jīng)網(wǎng)絡(luò)

    PyTorch的自動(dòng)梯度計(jì)算 Part3:使用PyTorch構(gòu)建個(gè)神經(jīng)網(wǎng)絡(luò) Part4:訓(xùn)練個(gè)
    的頭像 發(fā)表于 02-15 09:40 ?2064次閱讀

    13個(gè)定來(lái)看看的PyTorch特性!

    作者:MARCIN ZAB?OCKIMARCIN ZAB?OCKI 編譯:ronghuaiyang(AI公園) 導(dǎo)讀 PyTorch使用上的13個(gè)特性,確實(shí)非常的有用。 PyTorch
    的頭像 發(fā)表于 04-19 09:08 ?1764次閱讀

    簡(jiǎn)便PyTorch教程,從不用自己配置環(huán)境開(kāi)始。

    PyTorch個(gè) Python 優(yōu)先的深度學(xué)習(xí)框架,也是使用 GPU 和 CPU 優(yōu)化的深度學(xué)習(xí)張量庫(kù),能夠在強(qiáng)大的 GPU 加速基礎(chǔ)上實(shí)現(xiàn)張量和動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。 在使用
    發(fā)表于 11-10 14:33 ?637次閱讀
    <b class='flag-5'>一</b>份<b class='flag-5'>簡(jiǎn)便</b>的<b class='flag-5'>PyTorch</b>教程,從不用自己配置環(huán)境開(kāi)始。

    TorchFix:基于PyTorch的代碼靜態(tài)分析

    TorchFix是我們最近開(kāi)發(fā)的個(gè)新工具,旨在幫助PyTorch用戶(hù)維護(hù)健康的代碼庫(kù)并遵循PyTorch的最佳實(shí)踐。首先,我想要展示
    的頭像 發(fā)表于 12-18 15:20 ?1020次閱讀

    pytorch怎么在pycharm中運(yùn)行

    部分:PyTorch和PyCharm的安裝 1.1 安裝PyTorch PyTorch個(gè)
    的頭像 發(fā)表于 08-01 16:22 ?1131次閱讀