
2017年度盤點(diǎn):15個(gè)最流行的GitHub機(jī)器學(xué)習(xí)項(xiàng)目
在本文中,作者列出了 2017 年 GitHub 平臺(tái)上最為熱門的知識(shí)庫,囊括了數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)中的各種項(xiàng)目,希望能對(duì)大家學(xué)習(xí)、使用有所幫助。
GitHub 是計(jì)算機(jī)科學(xué)領(lǐng)域最為活躍的社區(qū),在 GitHub 上,來自不同背景的人們分享越來越多的軟件工具和資源庫。在其中,你不僅可以獲取自己所需的工具,還可以觀看代碼是如何寫成并實(shí)現(xiàn)的。
作為一名機(jī)器學(xué)習(xí)愛好者,作者在本文中列出了 2017 年 GitHub 平臺(tái)上最為熱門的知識(shí)庫,其中包含了學(xué)習(xí)資料與工具。希望對(duì)你的學(xué)習(xí)和研究有所幫助。
目 錄
1. 學(xué)習(xí)資源
1. Awesome Data Science
2. Machine Learning / Deep Learning Cheat Sheet
3. Oxford Deep Natural Language Processing Course Lectures
4. PyTorch – Tutorial
5. Resources of NIPS 2017
2. 開源工具
1. TensorFlow
2. TuriCreate – A Simplified Machine Learning Library
3. OpenPose
4. DeepSpeech
5. Mobile Deep Learning
6. Visdom
7. Deep Photo Style Transfer
8. CycleGAN
9. Seq2seq
10. Pix2code
1、學(xué)習(xí)資源
1.1 Awesome Data Science
項(xiàng)目地址: https://github.com/bulutyazilim/awesome-datascience
該 repo 是數(shù)據(jù)科學(xué)的基本資源。多年來的無數(shù)貢獻(xiàn)構(gòu)建了此 repo 里面的各種資源,從入門指導(dǎo)、信息圖,到社交網(wǎng)絡(luò)上你需要 follow 的賬號(hào)。無論你是初學(xué)者還是業(yè)內(nèi)老兵,里面都有大量的資源需要學(xué)習(xí)。
從該 repo 的目錄可以看出其深度。
1.2 Machine Learning / Deep Learning Cheat Sheet
項(xiàng)目地址:https://github.com/kailashahirwar/cheatsheets-ai
該項(xiàng)目以 cheatsheet 的形式介紹了機(jī)器學(xué)習(xí)/深度學(xué)習(xí)中常用的工具與技術(shù),從 pandas 這樣的簡單工具到深度學(xué)習(xí)技術(shù)都涵蓋其中。在收藏或者 fork 該項(xiàng)目之后,你就不用再費(fèi)事搜索常用的技巧和注意事項(xiàng)了。
簡單介紹下,cheatsheets 類型包括 pandas、numpy、scikit learn、matplotlib、ggplot、dplyr、tidyr、pySpark 和神經(jīng)網(wǎng)絡(luò)。
1.3 Oxford Deep Natural Language Processing Course Lectures
項(xiàng)目地址:https://github.com/oxford-cs-deepnlp-2017/lectures
斯坦福的 NLP 課程一直是自然語言處理領(lǐng)域的金牌教程。但是近期隨著深度學(xué)習(xí)的發(fā)展,在 RNN 和 LSTM 等深度學(xué)習(xí)架構(gòu)的幫助下,NLP 出現(xiàn)了大量進(jìn)步。
該 repo 基于牛津大學(xué)的 NLP 課程,涵蓋先進(jìn)技術(shù)和術(shù)語,如使用 RNN 進(jìn)行語言建模、語音識(shí)別、文本轉(zhuǎn)語音(TTS)等。該 repo 包含該課程從課程材料到實(shí)踐聯(lián)系的所有內(nèi)容。
1.4 PyTorch – Tutorial
項(xiàng)目地址:https://github.com/yunjey/pytorch-tutorial
截至今天,PyTorch 仍是 TensorFlow 的唯一競爭對(duì)手,它的功能和聲譽(yù)使其成為了頗具競爭力的深度學(xué)習(xí)框架。因其 Pythonic 風(fēng)格的編程、動(dòng)態(tài)計(jì)算圖和更快的原型開發(fā),Pytorch 已經(jīng)獲得了深度學(xué)習(xí)社區(qū)的廣泛關(guān)注。
該知識(shí)庫包含 PyTorch 上大量的深度學(xué)習(xí)任務(wù)代碼,包括 RNN、GAN 和神經(jīng)風(fēng)格遷移。其中的大多數(shù)模型在實(shí)現(xiàn)上僅需 30 余行代碼。這充分說明了 PyTorch 的抽象能力,它讓研究人員可以專注于找到正確的模型,而無需糾纏于編程語言和工具選擇等細(xì)節(jié)。
1.5 Resources of NIPS 2017
項(xiàng)目地址:https://github.com/hindupuravinash/nips2017
該 repo 包含 NIPS 2017 的資源和所有受邀演講、教程和研討會(huì)的幻燈片。NIPS 是一年一度的機(jī)器學(xué)習(xí)和計(jì)算神經(jīng)科學(xué)會(huì)議。
過去幾年中,數(shù)據(jù)科學(xué)領(lǐng)域內(nèi)的大部分突破性研究都曾作為研究結(jié)果出現(xiàn)在 NIPS 大會(huì)上。如果你想站在領(lǐng)域前沿,那這就是很好的資源!
2、開源軟件庫
2.1 TensorFlow
項(xiàng)目地址:https://github.com/tensorflow/tensorflow
TensorFlow 是一種采用數(shù)據(jù)流圖(data flow graph)進(jìn)行數(shù)值計(jì)算的開源軟件庫。其中 Tensor 代表傳遞的數(shù)據(jù)為張量(多維數(shù)組),F(xiàn)low 代表使用計(jì)算圖進(jìn)行運(yùn)算。數(shù)據(jù)流圖用「結(jié)點(diǎn)」(node)和「邊」(edge)組成的有向圖來描述數(shù)學(xué)運(yùn)算。「結(jié)點(diǎn)」一般用來表示施加的數(shù)學(xué)操作,但也可以表示數(shù)據(jù)輸入的起點(diǎn)和輸出的終點(diǎn),或者是讀取/寫入持久變量(persistent variable)的終點(diǎn)。邊表示結(jié)點(diǎn)之間的輸入/輸出關(guān)系。這些數(shù)據(jù)邊可以傳送維度可動(dòng)態(tài)調(diào)整的多維數(shù)據(jù)數(shù)組,即張量(tensor)。
TensorFlow 自正式發(fā)布以來,一直保持著「深度學(xué)習(xí)/機(jī)器學(xué)習(xí)」頂尖庫的位置。谷歌大腦團(tuán)隊(duì)和機(jī)器學(xué)習(xí)社區(qū)也一直在積極地貢獻(xiàn)并保持最新的進(jìn)展,尤其是在深度學(xué)習(xí)領(lǐng)域。
TensorFlow 最初是使用數(shù)據(jù)流圖進(jìn)行數(shù)值計(jì)算的開源軟件庫,但從目前來看,它已經(jīng)成為構(gòu)建深度學(xué)習(xí)模型的完整框架。它目前主要支持 TensorFlow,但也支持 C、C++ 和 Java 等語言。此外,今年 11 月谷歌終于發(fā)布了新工具的開發(fā)者預(yù)覽版本,這是一款 TensorFlow 用于移動(dòng)設(shè)備和嵌入式設(shè)備的輕量級(jí)解決方案。
2.2 TuriCreate:一個(gè)簡化的機(jī)器學(xué)習(xí)庫
項(xiàng)目地址:https://github.com/apple/turicreate
TuriCreate 是蘋果最近貢獻(xiàn)的一個(gè)開源項(xiàng)目,它為機(jī)器學(xué)習(xí)模型提供易于使用的創(chuàng)建方法和部署方法,這些機(jī)器學(xué)習(xí)模型包括目標(biāo)檢測、人體姿勢識(shí)別和推薦系統(tǒng)等復(fù)雜任務(wù)。
可能我們作為機(jī)器學(xué)習(xí)愛好者會(huì)比較熟悉 GraphLab Create,一個(gè)非常簡便高效的機(jī)器學(xué)習(xí)庫,而當(dāng)初創(chuàng)建該庫的公司 TuriCreate 被蘋果收購時(shí),造成了很大反響。
TuriCreate 是針對(duì) Python 開發(fā)的,且它最強(qiáng)的的特征是將機(jī)器學(xué)習(xí)模型部署到 Core ML 中,用于開發(fā) iOS、macOS、watchOS 和 tvOS 等應(yīng)用程序。
2.3 OpenPose
項(xiàng)目地址: https://github.com/CMU-Perceptual-Computing-Lab/openpose
OpenPose 是一個(gè)多人關(guān)鍵點(diǎn)檢測庫,它可以幫助我們實(shí)時(shí)地檢測圖像或視頻中某個(gè)人的位置。OpenPose 軟件庫由 CMU 的感知計(jì)算實(shí)驗(yàn)室開發(fā)并維護(hù),對(duì)于說明開源研究如何快速應(yīng)用于部署到工業(yè)中,它是非常好的一個(gè)案例。
OpenPose 的一個(gè)使用案例是幫助解決活動(dòng)檢測問題,即演員完成的動(dòng)作或活動(dòng)能被實(shí)時(shí)捕捉到。然后這些關(guān)鍵點(diǎn)和它們的動(dòng)作可用來制作動(dòng)畫片。OpenPose 不僅有 C++的 API 以使開發(fā)者能快速地訪問它,同時(shí)它還有簡單的命令行界面用來處理圖像或視頻。
2.4 DeepSpeech
項(xiàng)目地址: https://github.com/mozilla/DeepSpeech
DeepSpeech 是百度開發(fā)的開源實(shí)現(xiàn)庫,它提供了當(dāng)前頂尖的語音轉(zhuǎn)文本合成技術(shù)。它基于 TensorFlow 和 Python,但也可以綁定到 NodeJS 或使用命令行運(yùn)行。
Mozilla 一直是構(gòu)建 DeepSpeech 和開源軟件庫的主要研究力量,Mozilla 技術(shù)戰(zhàn)略副總裁 Sean White 在一篇博文中寫道:「目前只有少數(shù)商用質(zhì)量的語音識(shí)別引擎是開源的,它們大多數(shù)由大型公司主宰。這樣就減少了初創(chuàng)公司、研究人員和傳統(tǒng)企業(yè)為它們的用戶定制特定的產(chǎn)品與服務(wù)。但我們與機(jī)器學(xué)習(xí)社區(qū)的眾多開發(fā)者和研究者共同完善了該開源庫,因此目前 DeepSpeech 已經(jīng)使用了復(fù)雜和前沿的機(jī)器學(xué)習(xí)技術(shù)創(chuàng)建語音到文本的引擎?!?
2.5 Mobile Deep Learning
項(xiàng)目地址:https://github.com/baidu/mobile-deep-learning
該 repo 將數(shù)據(jù)科學(xué)中的當(dāng)前最佳技術(shù)移植到了移動(dòng)平臺(tái)上。該 repo 由百度研究院開發(fā),目的是將深度學(xué)習(xí)模型以低復(fù)雜性和高速度部署到移動(dòng)設(shè)備(例如 Android 和 IOS)上。
該 repo 解釋了一個(gè)簡單的用例,即目標(biāo)檢測。它可以識(shí)別目標(biāo)(例如一張圖像中的手機(jī))的準(zhǔn)確位置,很棒不是嗎?
2.6 Visdom
項(xiàng)目地址:https://github.com/facebookresearch/visdom
Visdom 支持圖表、圖像和文本在協(xié)作者之間進(jìn)行傳播。你可以用編程的方式組織可視化空間,或者通過 UI 為實(shí)時(shí)數(shù)據(jù)創(chuàng)建儀表盤,檢查實(shí)驗(yàn)結(jié)果,或者調(diào)試實(shí)驗(yàn)代碼。
繪圖函數(shù)中的輸入會(huì)發(fā)生改變,盡管大部分輸入是數(shù)據(jù)的張量 X(而非數(shù)據(jù)本身)和(可選)張量 Y(包含可選數(shù)據(jù)變量,如標(biāo)簽或時(shí)間戳)。它支持所有基本圖表類型,以創(chuàng)建 Plotly 支持的可視化。
Visdom 支持使用 PyTorch 和 Numpy。
2.7 Deep Photo Style Transfer
項(xiàng)目地址:https://github.com/luanfujun/deep-photo-styletransfer
該 repo 基于近期論文《Deep Photo Style Transfer》,該論文介紹了一種用于攝影風(fēng)格遷移的深度學(xué)習(xí)方法,可處理大量圖像內(nèi)容,同時(shí)有效遷移參考風(fēng)格。該方法成功克服了失真,滿足了大量場景中的攝影風(fēng)格遷移需求,包括時(shí)間、天氣、季節(jié)、藝術(shù)編輯等場景。
2.8 CycleGAN
項(xiàng)目地址:https://github.com/junyanz/CycleGAN
CycleGAN 是一個(gè)有趣且強(qiáng)大的庫,展現(xiàn)了該頂尖技術(shù)的潛力。舉例來說,下圖大致展示了該庫的能力:調(diào)整圖像景深。這里有趣的點(diǎn)在于你事先并沒有告訴算法需要注意圖像的哪一部分。算法完全依靠自己做到了!
目前該庫用 Lua 編寫,但是它也可以在命令行中使用。
2.9 Seq2seq
項(xiàng)目地址:https://github.com/google/seq2seq
Seq2seq 最初是為機(jī)器翻譯而建立的,但已經(jīng)被開發(fā)用于多種其它任務(wù),包括摘要生成、對(duì)話建模和圖像捕捉。只要一個(gè)問題的結(jié)構(gòu)是將輸入數(shù)據(jù)編碼為一種格式,并將其解碼為另一種格式,就可以使用 Seq2seq 框架。它使用了所有流行的基于 Python 的 TensorFlow 庫進(jìn)行編程。
2.10 Pix2code
項(xiàng)目地址:https://github.com/tonybeltramelli/pix2code
這個(gè)深度學(xué)習(xí)項(xiàng)目非常令人振奮,它嘗試為給定的 GUI 自動(dòng)生成代碼。當(dāng)建立網(wǎng)站或移動(dòng)設(shè)備界面的時(shí)候,通常前端工程師必須編寫大量枯燥的代碼,這很費(fèi)時(shí)和低效。這阻礙了開發(fā)者將主要的時(shí)間用于實(shí)現(xiàn)真正的功能和軟件邏輯。Pix2code 的目的是通過將過程自動(dòng)化來克服這一困難。它基于一種新方法,允許以單個(gè) GUI 截圖作為輸入來生成計(jì)算機(jī) token。
Pix2code 使用 Python 編寫,可將移動(dòng)設(shè)備和網(wǎng)站界面的捕捉圖像轉(zhuǎn)換成代碼。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10