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