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:量子位 |