前言

最近幾年來機器學習(Mechine Learning,ML)取得較大的進展,在影象識別和人工智慧等領域都大顯身手,達到了工業級應用的要求。這也吸引了更多的人對ML進行研究。但是要進行ML技術的學習和研究,需要搭建相應的開發環境。良好的開發環境能夠幫我們充分利用前人的工作成果,事半功倍地學習ML技術。常見的機器學習庫包括tensorflow、pytorch、Xgboost、scikit-learn,本文將對它們對應的開發環境搭建過程進行介紹。

1。準備工作——安裝Anocanda

現在主流的機器學習演算法基本都有對應的Python實現程式碼,所以大多數情況下選擇Python作為機器學習研究的程式語言。很多機器學習的演算法都整合在不同的Python package之中,執行時還對Python的版本有要求,並且依賴其他的工具包。這時我們就需要一個Python環境的管理工具,比較流行也非常好用的一個Python env管理工具是Anocanda。Anaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。它可以在Linux、Windows和Mac上使用。最新版本的Anocanda是收費產品,不過有面向個人免費的舊版本Anaconda3-5。3。1。官方下載地址是如下:

https://

repo。anaconda。com/archi

ve/

上述是一個國外網站,其下載檔案的速度往往較慢。幸好在清華映象源網站上有對應的版本的Anocanda安裝包可供高速下載,訪問地址如下。

https://

mirrors。tuna。tsinghua。edu。cn

/anaconda/archive/

幾種常見機器學習環境的搭建過程簡介

安裝完Anocanda之後,可以建立一套特定python版本的環境,用於相容之後安裝的機器學習庫。接下來正式開始介紹幾種常見機器學習庫的特點和安裝方法。

2。安裝scikit-learn庫

Scikit-learn(以前稱為scikits。learn,也稱為sklearn)是針對Python 程式語言的免費軟體機器學習庫。它具有各種分類,迴歸和聚類演算法,包括支援向量機,隨機森林,梯度提升,k均值和DBSCAN,並且旨在與Python數值科學庫NumPy和SciPy聯合使用。Scikit-learn功能非常強大,可以和科學計算軟體matlab相媲美,而且是開源的。

幾種常見機器學習環境的搭建過程簡介

安裝scikit-learn庫時,進入Anocanda管理面板,選擇左側選單欄的Environments選項,直接進入環境配置介面,在包管理器中選擇scikit-learn進行安裝即可。

幾種常見機器學習環境的搭建過程簡介

另外一種方式是開啟Anocanda命令列,切換到對應的python環境,然後中執行Pip命令進行安裝。安裝示例命令如下。

pip install -U scikit-learn

3。安裝Xgboost演算法庫

Xgboost是整合分類樹演算法中的一種,有詳盡的API文件。該演算法由陳天奇對傳統的boost學習演算法改進而來,具有非常優異的效能,在Kaggle舉辦的等各項資料探勘大賽中取得了很好的成績。該演算法訓練速度快,在大部分資料集上的迴歸和分類準確率很高。而且功能齊全,能夠利用GPU進行訓練、輸出訓練中的各引數的重要程度分析。

幾種常見機器學習環境的搭建過程簡介

Xgboost演算法模組沒有被Anocanda包管理器收錄,只能在命令列中透過Pip命令安裝。

pip install xgboost

4。安裝tensorflow演算法庫

接下來介紹大名鼎鼎的深度學習的演算法模組——tensorflow和pytorch的開發環境搭建過程了。先來介紹一下有谷歌(Google)公司的tensorflow模組吧。現在的tensorflow版本已經到2.0版本了,相比1.x系列有較大的最佳化,使用時更加方便快捷、人性化。可以訪問tensorflow的官網,會直接給出tensorflow模組安裝的命令。但是直接安裝速度會比較慢,可以透過替換安裝源進行快速安裝(後面的 -i 表示從國內清華源下載,速度比預設源快很多)。安裝時也可以根據自己的軟硬體配置設定特點的安裝版本。

pip install tensorflow-gpu==2。4。0 -i

https://

pypi。tuna。tsinghua。edu。cn

/simple

這樣就預設安裝CPU和GPU版本,還可以下載。whl檔案,直接在本地進行安裝。GPU版本的安裝成功後,會極大地提升訓練的速度。對於Ubuntu 和 Windows系統下,需要安裝支援 CUDA® 的顯示卡,才能實現 GPU 支援。安裝完畢後,驗證一下。

import tensorflow as tftf。test。is_gpu_available()

5。安裝pytorch演算法庫

pytorch 是臉書(facebook)公司推出的深度學習模組,在使用方面較tensorflow更為簡潔和方便,受到學界的熱愛,很多深度學習的程式碼是pytorch版本的。

幾種常見機器學習環境的搭建過程簡介

官網上也有詳細的安裝介紹,而且友好地給出了圖形化介面來選擇各種不同環境配置,生成對應的安裝語句。

幾種常見機器學習環境的搭建過程簡介

例如,如果我們想安裝window下CPU版本的pytorch,可以執行下面的語句。

conda install pytorch torchvision torchaudio cpuonly -c pytorch

如果是安裝GPU版本,需要進行一些額外的配置工作才能執行,這個將在附錄中進行介紹。安裝GPU版本的命令列語句。

conda install pytorch torchvision torchaudio cudatoolkit=10。2 -c pytorch

安裝完畢後驗證一下。

import torchtorch。__version__x = torch。rand(5, 3)print(x)torch。cuda。is_available()

附錄:

一般膝上型電腦上都有英偉達的GPU顯示卡,如果tensorflow和pytorch等基於神經網路的機器學習模組能利用GPU資源進行訓練,將明顯提升訓練速度。但是利用GPU硬體資源訓練需要進行以下一些配置工作。

1。安裝NVIDIA驅動(

https://www。

nvidia。cn/Download/inde

x。aspx?lang=cn

)。如果英偉達驅動版本過低則會呼叫失敗。檢視驅動版本方法是先將“C:\Program Files\NVIDIA Corporation\NVSMI”新增到環境變數(具體得看英偉達驅動的安裝路徑。 然後在命令列中執行“。\nvidia-smi”命令。

幾種常見機器學習環境的搭建過程簡介

2。 確定硬體支援的CUDA版本(NVIDIA控制面板-幫助-系統資訊-元件)通常新版本的顯示卡驅動應該能支援當前最高支援CUDA版本以下的所有版本,所有要關注顯示卡驅動能支援的最高CUDA版本。

幾種常見機器學習環境的搭建過程簡介

3。去英偉達官網下載cuda安裝包CUDA Toolkit 11。0 Download | NVIDIA Developer(

https://

developer。nvidia。com/cu

da-11。0-download-archive

),相關選項如下(根據實際情況選擇):

幾種常見機器學習環境的搭建過程簡介

安裝完成後,我們來測試 CUDA 軟體是否安裝成功。開啟 cmd 命令列,輸入“ nvcc -V”,即可列印當前 CUDA 的版本資訊,如果命令無法識別,則說明安裝失敗。

4。安裝cuDNN。cuDNN其實這只是一個基於cuda的庫,不需要安裝,下載後的壓縮包解壓後是一些標頭檔案,如lib和dll(windows作業系統)檔案。NVIDIA CUDA® 深度神經網路庫 (cuDNN) 是經 GPU 加速的深度神經網路基元庫。cuDNN 可大幅最佳化標準例程(例如用於前向傳播和反向傳播的卷積層、池化層、歸一化層和啟用層)的實施。

這些完成後就NVIDIA的設定就安裝完畢了,可以利用GPU進行訓練了。