要開始為開源項(xiàng)目做貢獻(xiàn),有一些先決條件:
1. 學(xué)習(xí)一門編程語言:由于在開源貢獻(xiàn)中你需要編寫代碼才能參與開發(fā),你需要學(xué)習(xí)任意一門編程語言。根據(jù)項(xiàng)目的需要,在后期學(xué)習(xí)另一種語言很容易。
2. 熟悉版本控制系統(tǒng):這些軟件工具有助于將所有更改保存在一個(gè)地方,以便在需要時(shí)在稍后階段調(diào)用它們。基本上,它們會(huì)跟蹤在源代碼中隨時(shí)間所做的每一次修改。一些流行的版本控制系統(tǒng)是 Git、Mercurial、CVS 等。其中,Git 是業(yè)界最流行和廣泛使用的。今天我們來介紹適合AI程序員入門的10個(gè)開源機(jī)器學(xué)習(xí)項(xiàng)目。
1. Caliban
這是科技巨頭google的機(jī)器學(xué)習(xí)項(xiàng)目。它用于在隔離且可重現(xiàn)的計(jì)算環(huán)境中開發(fā)機(jī)器學(xué)習(xí)研究工作流和筆記本。它解決了一個(gè)大問題。 當(dāng)開發(fā)人員在構(gòu)建數(shù)據(jù)科學(xué)項(xiàng)目時(shí),很多時(shí)候很難構(gòu)建一個(gè)可以在現(xiàn)實(shí)生活中展示項(xiàng)目的測(cè)試環(huán)境。因此,Caliban 是解決此問題的潛在解決方案。
Caliban 可以輕松地在本地開發(fā)任何 ML 模型,在機(jī)器上運(yùn)行代碼,然后在云端環(huán)境中嘗試完全相同的代碼以在大型機(jī)器上執(zhí)行。 因此,Dockerized 研究工作流在本地和云端都變得簡(jiǎn)單。
2. Kornia
Kornia 是 PyTorch 的計(jì)算機(jī)視覺庫。它用于解決一些通用的計(jì)算機(jī)視覺問題。Kornia 建立在 PyTorch 之上,依靠它的效率和 CPU 能力來計(jì)算復(fù)雜的函數(shù)。
Kornia 是一組用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型和執(zhí)行圖像變換、圖像過濾、邊緣檢測(cè)、對(duì)極幾何、深度估計(jì)等的庫。
3. Analytics Zoo
Analytics Zoo 是一個(gè)統(tǒng)一的數(shù)據(jù)分析和人工智能平臺(tái),它將 TensorFlow、Keras、PyTorch、Spark、Flink 和 Ray 程序整合到一個(gè)集成管道中。 這可以有效地從筆記本電腦擴(kuò)展到大型集群以處理大數(shù)據(jù)的生產(chǎn)。 該項(xiàng)目由 Intel-analytics 維護(hù)。
Analytics Zoo 通過以下方式幫助 AI 解決方案:
- 幫助輕松制作 AI 模型原型。
- 縮放得到有效管理。
- 有助于將自動(dòng)化流程添加到您的 ML 管道中,例如特征工程、模型選擇等。
4. MLJAR 人類自動(dòng)化機(jī)器學(xué)習(xí)
Mljar 是一個(gè)創(chuàng)建原型模型和部署服務(wù)的平臺(tái)。 為了找到最佳模型,Mljar 搜索不同的算法并執(zhí)行超參數(shù)調(diào)整。它通過在云中運(yùn)行所有計(jì)算并最終創(chuàng)建集成模型來提供有趣的快速結(jié)果。 然后它會(huì)從 AutoML 培訓(xùn)中構(gòu)建一份報(bào)告。 這不是很酷嗎?
Mljar 有效地訓(xùn)練用于二元分類、多類分類、回歸的模型。
它提供兩種接口:
- 它可以在您的網(wǎng)絡(luò)瀏覽器上運(yùn)行 ML 模型
- 在 Mljar API 上提供 Python 包裝器。
從 Mljar 收到的報(bào)告包含表格,其中包含有關(guān)每個(gè)模型分?jǐn)?shù)和訓(xùn)練每個(gè)模型所需時(shí)間的信息。 性能顯示為散點(diǎn)圖和箱線圖,因此很容易直觀地檢查哪些算法在所有算法中表現(xiàn)最佳。
5.DeepDetect
DeepDetect 是一個(gè)用 C++ 編寫的機(jī)器學(xué)習(xí) API 和服務(wù)器。如果想使用最先進(jìn)的機(jī)器學(xué)習(xí)算法并希望將它們集成到現(xiàn)有應(yīng)用程序中,那么 DeepDetect 很適合你。
DeepDetect 支持各種各樣的任務(wù),如分類、分割、回歸、對(duì)象檢測(cè)、自動(dòng)編碼器。它支持圖像、時(shí)間序列、文本和更多類型數(shù)據(jù)的有監(jiān)督和無監(jiān)督深度學(xué)習(xí)。 但是 DeepDetect 依賴于外部機(jī)器學(xué)習(xí)庫,例如:
- 深度學(xué)習(xí)庫:Tensorflow、Caffe2、Torch。
- 梯度提升庫:XGBoost。
- 使用 T-SNE 進(jìn)行聚類。
6. Dopamine
Dopamine 是科技巨頭 Google 的一個(gè)開源項(xiàng)目。 它是用 Python 編寫的。它是一個(gè)快速原型強(qiáng)化學(xué)習(xí)算法的研究框架。
Dopamine 的設(shè)計(jì)原則是:
- 輕松實(shí)驗(yàn):Dopamine 使新用戶可以輕松運(yùn)行實(shí)驗(yàn)。
- 它緊湊而可靠。
- 它還有助于結(jié)果的重現(xiàn)性。
- 它很靈活,因此使新用戶可以輕松嘗試新的研究思路。
7. TensorFlow
Tensorflow 是 GitHub 上最著名、最受歡迎和最好用的機(jī)器學(xué)習(xí)開源項(xiàng)目之一。它是一個(gè)開源軟件庫,用于使用數(shù)據(jù)流圖進(jìn)行數(shù)值計(jì)算。它有一個(gè)非常易于使用的 Python 接口,并且沒有其他語言中不需要的接口來構(gòu)建和執(zhí)行計(jì)算圖。
TensorFlow 提供穩(wěn)定的 Python 和 C++ API。 Tensorflow 有一些驚人的用例,例如:
- 在語音/聲音識(shí)別中
- 文本庫應(yīng)用程序
- 圖像識(shí)別
- 視頻檢測(cè)
- …還有很多!
提到圖像識(shí)別與視頻檢測(cè)技術(shù),不得不提目前在各個(gè)領(lǐng)域很火的AI+視頻技術(shù),將AI檢測(cè)、智能識(shí)別技術(shù)融合到各個(gè)視頻應(yīng)用場(chǎng)景中,如:安防監(jiān)控、視頻中的人臉檢測(cè)、人流量統(tǒng)計(jì)、危險(xiǎn)行為(攀高、摔倒、推搡等)檢測(cè)識(shí)別等。典型的示例如EasyCVR視頻融合云服務(wù),具有AI人臉識(shí)別、車牌識(shí)別、語音對(duì)講、云臺(tái)控制、聲光告警、監(jiān)控視頻分析與數(shù)據(jù)匯總的能力。
8.PredictionIO
它建立在最先進(jìn)的開源堆棧之上。 該機(jī)器學(xué)習(xí)服務(wù)器專為數(shù)據(jù)科學(xué)家設(shè)計(jì),可為任何 ML 任務(wù)創(chuàng)建預(yù)測(cè)引擎。 它的一些驚人功能是:
- 它有助于在可定制的生產(chǎn)模板上快速構(gòu)建和部署引擎作為 Web 服務(wù)。
- 部署為 Web 服務(wù)后,即可實(shí)時(shí)響應(yīng)動(dòng)態(tài)查詢。
- 它支持機(jī)器學(xué)習(xí)和數(shù)據(jù)處理庫,如 OpenNLP、Spark MLLib。
- 它還簡(jiǎn)化了數(shù)據(jù)基礎(chǔ)設(shè)施管理
9.Scikit-learn
它是一個(gè)基于 Python 的免費(fèi)軟件機(jī)器學(xué)習(xí)工具庫。它提供了用于分類、回歸、聚類算法的各種算法,包括隨機(jī)森林、梯度提升、DBSCAN。
這是建立在必須預(yù)先安裝的 SciPy 之上,以便可以使用 sci-kit learn。 它還提供以下模型:
- 集成方法
- 特征提取
- 參數(shù)調(diào)優(yōu)
- 流形學(xué)習(xí)
- 特征選擇
- 降維
注意:要學(xué)習(xí) scikit-learn 遵循文檔:
https://scikit-learn.org/stable/
10. Pylearn2
Pylearn2 是所有 Python 開發(fā)人員中最流行的機(jī)器學(xué)習(xí)庫。它基于 Theano。你可以使用數(shù)學(xué)表達(dá)式來編寫它的插件,而 Theano 則需要優(yōu)化和穩(wěn)定。
它有一些很棒的功能,例如:
- 用于訓(xùn)練模型本身的“默認(rèn)訓(xùn)練算法”
- 模型估計(jì)標(biāo)準(zhǔn)
- 分?jǐn)?shù)匹配
- 交叉熵
- 對(duì)數(shù)似然
- 數(shù)據(jù)集預(yù)處理
- 對(duì)比度歸一化
- ZCA美白
- 補(bǔ)丁提取(用于實(shí)現(xiàn)類卷積算法)