當前位置:
首頁 > 科技 > 5行代碼秀碾壓,比Keras還好用的fastai來了,嘗鮮PyTorch 1.0必備伴侶

5行代碼秀碾壓,比Keras還好用的fastai來了,嘗鮮PyTorch 1.0必備伴侶

休假栗 問耕 假裝發自 凹非寺

量子位 出品 | 公眾號 QbitAI

PyTorch 1.0來了~

在今天的F8(Facebook開發者大會)上,深度學習框架PyTorch 1.0 rc1版如期發布。然而在海外的論壇上,另一個開源庫的關注度不遑多讓。

它就是fastai 1.0

簡單來說,fastai只要一個API,就包含了所有常見的深度學習應用。堪稱實用版的「要你命3000」。而且許多性能指標,已經超越了Keras。

比如,5行代碼完成Keras用31行才能解決的事情。同時,誤差表現也更好。難怪在Hacker News上,fastai的關注度比PyTorch 1.0還高……

而且fastai基於PyTorch 1.0框架,也被Facebook官方重點宣傳。這兩個全新的框架同時下載配合使用,療效更佳。

這個悠長假期,你不試試么?

fastai 1.0

fastai的出品方是fast.ai,機構規模不大,但因為提供大量免費機器學習課程,而名聲在外。還有,fast.ai也是美國軍方的合作夥伴,研究如何加速人工智慧技術的發展。


只要一個API

據創始人Jeremy Howard介紹,fastai只要一個API,就包含了幾乎所有常見的深度學習應用。

用從前的庫,都需要給不同的應用調取相應的API,fastai是第一個用單個API就能支持各類應用的庫。

這樣一來,用戶就不需要記得五花八門的API調用方法了。用fastai搭建過視覺模型之後,可以用同一個的API再去搭建自然語言處理模型了。

在1.0發布之前,fastai最初的版本在9月上線,一波早期用戶已經先行探索過這個年幼的庫,並有多位大佬表示好用:

這是Kaggle資深玩家Miguel Pérez Michaus,用fastai做的風格遷移成果。

作為一個「沒有正式計算機背景」的程序猿,他毫不吝惜自己對fastai靈活性的讚美:連我都能用。

GitHub的機器學習科學家Hamel Husain也用這個庫,做了一個GitHub語義代碼的搜索工具,還是半路從TensorFlow Hub換成fastai的。現在,搜索工具已經上線了:

https://experiments.github.com/semantic-code-search

還有,OpenAI小姐姐Christine Payne,最近做的一個項目叫Clara,是用神經網路生成音樂的AI。小姐姐說,如果沒有fastai的話,速度就得不到保障了。

聽一下Clara的作品,很美:

更多音樂:

http://christinemcleavey.com/clara-a-neural-net-music-generator/

5行代碼就夠了

Howard說,團隊做過的研究,都嵌在這個框架里了。所以,大家可以充分享受這些成果。

他用貓狗識別的來舉栗,那是遷移學習的經典案例,也是fast.ai的課程里最受歡迎的章節之一。

在新的庫誕生之前,這樣的問題大多是在TensorFlow上面用Keras解決的。如今,Keras依然是fast.ai團隊仰慕的對象。

所以,團隊也想在貓狗大戰里感受一下,自家的框架和Keras對比起來,競爭力究竟如何。

這5行代碼,就是在fastai框架里做ResNet50的two-stage微調,需要的全部操作了。

而同樣的任務,Keras要用31行才能完成。

除了代碼行數,fastai在兩個階段的誤差也比Keras更小

雖然成績表十分驕人,Howard依然三番五次地表示,Keras始終是大神,整個團隊都是Keras的粉絲。


先去用用看?

現在,fastai框架已經在GitHub上線了。下載請至:

https://github.com/fastai/fastai

也可以在谷歌雲平台上用啊。先打開這個頁面:

https://cloud.google.com/deep-learning-vm/docs/images

然後,給你的示例安裝配置,再把fastai部署在PyTorch 1.0上。有了。

如果要在GPU驅動的Jupyter Notebook上運行fastai,也沒問題:

https://salamander.ai/

除此之外,還有一個好消息。不久就會支持AWS了,可以期待一下。

PyTorch 1.0

接下來,說說也是最新發布的PyTorch 1.0。

去年1月,PyTorch首次發布,目前下載已經超過100萬次。今年五月,Facebook副總裁賈揚清和CTO Mike Schroepfer透露,PyTorch 1.0即將推出。當時,Caffe2代碼還併入了PyTorch。

PyTorch 1.0 rc1版傳送門:

https://github.com/pytorch/pytorch/releases

Facebook在官方博客中,還對PyTorch 1.0 rc1版進行了詳細的介紹。

新框架有了一個全新的混合模式前端,支持tracing和scripting模型,從eager模式進入graph模式,從而彌合研發與生產部署之間的差距;一個經過改進的torch.distributed庫,能讓Python和C++環境中的訓練更快。

以及這個版本正式融合了PyTorch框架的靈活性與Caffe2的生產力。賈揚清此前給的總結就是:Caffe2 + PyTorch = PyTorch 1.0。


三大新功能

torch.jit

JIT是一組編譯工具,用於彌合PyTorch研究和生產之前的差距。其中包含一種名為Torch Script的語言(仍然使用Python編寫),還有兩種方法可以使現有的代碼與JIT兼容。

Torch Script代碼可以積極優化,並且在序列化之後可以在新的C++ API中使用,這就完全不依賴Python了。

c10d庫

c10d是吸能你驅動的,並且對所有後端完全非同步操作

分散式數據並行性能顯著改進

在Gloomy後端增加send和recv支持

C++前端API

這個前端API被明確標記為還不穩定(Unstable)。官方預計將在未來一兩個月穩定下來,同時不排除發生其中某些部分發生重大變化。

這個C++前端是一個純C++介面後端是PyTorch,與此前的Python前後端體系結構一樣。這個API只在實現高性能、低延遲和裸機C++應用程序的研究。

以下是兩種語言前端的簡單比較。


其他

生態系統

Google雲、亞馬遜AWS、微軟Azure Machine Learning等國外的流行雲服務,現在與PyTorch更加兼容。

Arm、Nvidia、高通、英特爾、IBM等廠商的,也增加了對PyTorch 1.0的支持。確保PyTorch可以在數據中心、邊緣硬體等不同領域得到應用。

根據官方消息,目前Google和Facebook正在合作,為PyTorch用戶構建TPU。Google雲的Deep Learning VM服務,也將提供PyTorch 1.0映像。

教育培訓

Facebook透露正與Udacity合作,為開發者提供免費的深度學習入門課程,這些課程都基於PyTorch。此外,Facebook還將贊助300名開發者,完成Udacity的中級課程,這些課程也已經改為基於PyTorch 1.0。

當然,fast.ai的新課程和深度學習庫,也是PyTorch在教育領域的合作成果。

加入社群

量子位AI社群28群開始招募啦,歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話界面回復關鍵字「交流群」,獲取入群方式;

此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。

進專業群請在量子位公眾號(QbitAI)對話界面回復關鍵字「專業群」,獲取入群方式。(專業群審核較嚴,敬請諒解)

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 量子位 的精彩文章:

吳恩達太老派了?這套所有程序員適用的機器學習課火速躥紅
審查刪帖、禁止討論!爆出驚天漏洞的Facebook給自己火上澆油

TAG:量子位 |