參考:Ubuntu(Linux) 資料科學虛擬機器
本檔提供 Ubuntu 資料科學虛擬機器 (DSVM) 上可用的工具清單。
深度學習連結庫
PyTorch
PyTorch 是熱門的科學運算架構,廣泛支援機器學習演算法。 如果您的機器有內建的 GPU,則可以使用該 GPU 來加速深度學習。PyTorch 可在 py38_pytorch
環境中使用。
H2O
H2O 是一個快速、記憶體內部、分散式機器學習和預測性分析平臺。 Python 套件會同時安裝在根和 py35 Anaconda 環境中。 也會安裝 R 套件。
若要從命令列開啟 H2O,請執行 java -jar /dsvm/tools/h2o/current/h2o.jar
。 您可以設定各種可用的命令列選項。 流覽至流程 Web UI 以 http://localhost:54321
開始使用。 JupyterHub 提供範例筆記本。
TensorFlow
TensorFlow 是Google深度學習連結庫。 它是使用數據流圖形進行數值計算的開放原始碼軟體連結庫。 如果您的機器內建 GPU,則可以使用該 GPU 來加速深度學習。 TensorFlow 可在 conda 環境中使用 py38_tensorflow
。
Python
資料科學虛擬機器 (DSVM) 有多個預安裝 Python 環境,Python 3.8 版或 Python 3.6 版。 在終端機視窗中執行 conda env list
,以查看已安裝環境的完整清單。
Jupyter
DSVM 也隨附 Jupyter,這是程式代碼共享和程式代碼分析環境。 Jupyter 會以下列類別安裝在 DSVM 上:
- Jupyter 實驗室
- Jupyter Notebook
- Jupyter Hub
若要啟動 Jupyter Lab,請從應用程式功能表開啟 Jupyter,或選取桌面圖示。 您也可以從命令行執行 jupyter lab
,以開啟 Jupyter Lab。
若要開啟 Jupyter Notebook,請開啟命令行並執行 jupyter notebook
。
若要開啟 Jupyter Hub,請在瀏覽器中開啟 https://< VM DNS 名稱或 IP 位址>:8000/ 。 您必須提供本機 Linux 使用者名稱和密碼。
注意
您可以忽略任何憑證警告。
注意
針對Ubuntu映像,在布建 VM 時,預設會開啟防火牆埠 8000。
Apache Spark 獨立
Linux DSVM 上預安裝 Apache Spark 的獨立實例,可協助您在本機開發 Spark 應用程式,再測試這些應用程式,並在大型叢集上部署這些應用程式。
您可以透過 Jupyter 核心執行 PySpark 程式。 當 Jupyter 啟動時,選取 [ 新增 ] 按鈕。 可用的核心清單應該會顯示出來。 如果您選擇 Spark - Python 核心,您可以使用 Python 語言建置 Spark 應用程式。 您也可以使用 Python IDE - 例如 VS。程式代碼或 PyCharm - 建置 Spark 程式。
在此獨立實例中,Spark 堆疊會在呼叫的用戶端程式內執行。 相較於 Spark 叢集上的開發,這項功能可讓您更快速且更輕鬆地針對問題進行疑難解答。
整合式開發環境和編輯器
您可以選擇數個程式代碼編輯器,包括 VS。Code、PyCharm、IntelliJ、vi/Vim 或 Emacs。
與。程式代碼、PyCharm 和 IntelliJ 是圖形化編輯器。 若要使用它們,您必須登入圖形化桌面。 您可以使用桌面和應用程式選單快捷方式來開啟它們。
Vim 和 Emacs 是以文字為基礎的編輯器。 在 Emacs 上,ESS 附加元件套件可讓您更輕鬆地在 Emacs 編輯器中使用 R。 如需詳細資訊,請流覽 ESS 網站。
資料庫
圖形化 SQL 用戶端
圖形化 SQL 用戶端 SQuirrel SQL 可以連線到各種資料庫,例如,Microsoft SQL Server 或 MySQL ,並執行 SQL 查詢。 開啟 SQuirrel SQL 的最快方式是從圖形化桌面工作階段使用應用程式選單(例如透過 X2Go 用戶端)
在初始使用之前,請先設定驅動程式和資料庫別名。 您可以在 /usr/share/java/jdbcdrivers 找到 JDBC 驅動程式。
如需詳細資訊,請造訪 SQuirrel SQL 資源。
用於存取 SQL Server Microsoft 命令行工具
SQL Server 的 ODBC 驅動程式套件也包含兩個命令行工具:
- bcp:bcp 工具會以使用者指定的格式,在 Microsoft SQL Server 實例與數據檔之間大量複製數據。 您可以使用 bcp 工具,將大量的新數據列匯入 SQL Server 數據表,或將資料從數據表匯出至數據檔。 若要將數據匯入數據表,您必須使用針對該數據表建立的格式檔案。 您必須了解資料表的結構及其數據行的有效資料類型。
如需詳細資訊,請流覽 使用bcp進行連線。
sqlcmd:您可以使用 sqlcmd 工具輸入 Transact-SQL 語句。 您也可以在命令提示字元中輸入系統程式和腳本檔案。 此工具會使用 ODBC 來執行 Transact-SQL 批次。
如需詳細資訊,請流覽 使用 sqlcmd 連線。
注意
此工具在其Linux和 Windows 平臺版本之間有一些差異。 如需詳細資訊,請檢閱檔。
數據庫存取連結庫
R 和 Python 連結庫可供數據庫存取:
- 在 R 中,您可以使用 RODBC dplyr 套件來查詢或執行資料庫伺服器上的 SQL 語句
- 在 Python 中,pyodbc 連結庫會以 ODBC 作為基礎層提供數據庫存取
Azure 工具
這些 Azure 工具會安裝在 VM 上:
Azure CLI:您可以使用 Azure 中的命令行介面,透過殼層命令來建立和管理 Azure 資源。 若要開啟 Azure 工具,請輸入 azure 說明。 如需詳細資訊,請流覽 Azure CLI 檔頁面。
Azure 儲存體 總管:Azure 儲存體 Explorer 是一種圖形化工具,可用來瀏覽您儲存在 Azure 記憶體帳戶中的物件,以及上傳和下載 Azure Blob 的數據。 您可以從桌面快捷方式圖示存取 儲存體總管。 如果您輸入 StorageExplorer,也可以從殼層提示字元開啟它。 您必須從 X2Go 用戶端登入,或已設定 X11 轉送。
Azure 連結庫:以下是一些預安裝的連結庫:
- Python:P ython 提供 azure、 azureml、 pydocumentdb 和 pyodbc Azure 相關連結庫。 使用前三個連結庫,您可以存取 Azure 記憶體服務、Azure 機器學習 和 Azure Cosmos DB(Azure 上的 NoSQL 資料庫)。 第四個連結庫 pyodbc(以及適用於 SQL Server 的 Microsoft ODBC 驅動程式),可讓您透過 ODBC 介面從 Python 存取 SQL Server、Azure SQL 資料庫 和 Azure Synapse Analytics。 輸入 pip 清單 以查看所有列出的連結庫。 請務必在 Python 2.7 和 3.5 環境中執行此命令。
- R:Azure 機器學習 和 RODBC 是 R 中的 Azure 相關連結庫。
- Java:目錄 /dsvm/sdk/AzureSDKJava 具有 Azure Java 連結庫的清單,可在 VM 上的 /dsvm/sdk/AzureSDKJava 目錄中找到。 主要連結庫是適用於 SQL Server 的 Azure 記憶體和管理 API、Azure Cosmos DB 和 JDBC 驅動程式。
Azure Machine Learning
完全受控的 Azure 機器學習 雲端服務可讓您建置、部署及共用預測性分析解決方案。 您可以在 Azure Machine Learning 工作室 中建置實驗和模型。 請流覽 Microsoft Azure 機器學習,從 資料科學虛擬機器 上的網頁瀏覽器存取它。
登入 Azure Machine Learning 工作室 之後,您可以使用實驗畫布來建置機器學習演算法的邏輯流程。 您也可以存取裝載在 Azure 機器學習 上的 Jupyter Notebook。 此筆記本可以順暢地與 Azure Machine Learning 工作室 中的實驗搭配運作。
若要使您所建置的機器學習模型運作化,請將它們包裝在 Web 服務介面中。 機器學習模型運作可讓以任何語言撰寫的用戶端從這些模型叫用預測。 如需詳細資訊,請流覽 機器學習 檔。
您也可以在 VM 上的 R 或 Python 中建置模型,然後在 Azure 機器學習 上將其部署在生產環境中。 我們已在 R (AzureML) 和 Python 中安裝連結庫,以啟用此功能。
注意
我們針對 windows 資料科學虛擬機器 版本撰寫了這些指示。 不過,這些指示涵蓋 Azure 機器學習 模型部署至 Linux VM。
機器學習工具
VM 隨附先行編譯的機器學習工具和演算法,且全都預安裝在本機。 包括:
Vowpal Wabbit:快速在線學習演算法
xgboost:此工具提供優化且提升的樹狀結構演算法
Rattle:一種以 R 為基礎的圖形工具,可讓您輕鬆探索和模型化數據
Python:Anaconda Python 隨附機器學習演算法與 Scikit-learn 等連結庫。 您可以使用 命令來安裝其他連結庫
pip install
LightGBM:以判定樹演算法為基礎的快速、分散式、高效能漸層提升架構
R:適用於 R 的機器學習功能豐富連結庫。預安裝的連結庫包括 lm、glm、randomForest 和 rpart。 您可以使用此指令來安裝其他連結庫:
install.packages(<lib name>)
以下是清單中前三個機器學習工具的詳細資訊。
Vowpal Wabbit
Vowpal Wabbit 是機器學習系統使用的
- 作用中
- allreduce
- 雜湊
- 互動式學習
- learning2search
- 線上
- 減少
技術。
使用這些命令,在基本範例上執行工具:
cp -r /dsvm/tools/VowpalWabbit/demo vwdemo
cd vwdemo
vw house_dataset
該目錄提供其他更大的示範。 如需 Vowpal Wabbit 的詳細資訊,請流覽 GitHub 和 Vowpal Wabbit Wiki 的這一節。
xgboost
xgboost 連結庫是針對提升式(樹狀結構)演算法所設計並優化。 xgboost 連結庫會將機器的計算限制推送至精確、可移植且可調整的大型樹狀結構提升所需的極端。
xgboost 連結庫同時以命令行資源和 R 連結庫的形式提供。 若要在 R 中使用此連結庫,您可以在殼層中輸入 R 來啟動互動式 R 工作階段,並載入連結庫。
這個簡單的範例會顯示在 R 提示字元中執行 xgboost:
library(xgboost)
data(agaricus.train, package='xgboost')
data(agaricus.test, package='xgboost')
train <- agaricus.train
test <- agaricus.test
bst <- xgboost(data = train$data, label = train$label, max.depth = 2,
eta = 1, nthread = 2, nround = 2, objective = "binary:logistic")
pred <- predict(bst, test$data)
若要執行 xgboost 命令行,請在殼層中執行下列命令:
cp -r /dsvm/tools/xgboost/demo/binary_classification/ xgboostdemo
cd xgboostdemo
xgboost mushroom.conf
如需 xgboost 的詳細資訊,請流覽 xgboost 檔頁面 及其 GitHub 存放庫。
Rattle
Rattle (R ANalytical T ool To Lasly) 會使用 GUI 型數據探索和模型化。 其
- 呈現數據的統計和視覺摘要
- 轉換可輕易建立模型的數據
- 從數據建置未監督和受監督的模型
- 以圖形方式呈現模型的效能
- 為新的數據集評分
它也會產生 R 程式代碼,其會在 UI 中複寫 Rattle 作業。 您可以直接在 R 中執行該程式代碼,或使用它作為進一步分析的起點。
若要執行Rattle,您必須在圖形化桌面登入工作階段中操作。 在終端機上,輸入 R 以開啟 R 環境。 在 R 提示字元中,輸入此命令:
library(rattle)
rattle()
圖形化介面,具有一組索引標籤,然後開啟。 Rattle 中的這些快速入門步驟會使用範例天氣數據集來建置模型。 在一些步驟中,您會收到自動安裝和載入系統上尚未安裝的特定必要 R 套件的提示。
注意
如果您沒有在系統目錄中安裝套件的存取權限(預設值),您可能會在 R 控制台視窗中注意到將套件安裝到個人連結庫的提示。 如果您遇到這些提示,請回答 y 。
- 選取 [執行]
- 對話框隨即出現,詢問您是否要使用範例天氣數據集。 選取 [ 是 ] 以載入範例
- 選取 [模型] 索引標籤
- 選取 [ 執行 ] 以建置判定樹
- 選取 [ 繪製 ] 以顯示判定樹
- 選取 [ 樹系] 選項,然後選取 [ 執行 ] 以建置隨機樹系
- 選取 [ 評估] 索引標籤
- 選取 [風險] 選項,然後選取 [執行] 以顯示兩個風險 (累計) 效能繪圖
- 選取 [記錄] 索引標籤,以顯示上述作業產生的 R 程序代碼
- 由於 Rattle 目前版本的 Bug,您必須在記錄文字中插入#匯出此記錄檔前面的字元
- 選取 [ 匯出 ] 按鈕以儲存名為 weather_script 的 R 腳本檔案。R,到主資料夾
您可以結束Rattle和 R。現在您可以修改產生的 R 文稿。 您也可以依目前方式使用腳本,並隨時執行,以重複Rattle UI內完成的所有作業。 特別是針對 R 的初學者,這可讓您在簡單的圖形化介面中快速分析和機器學習,同時自動在 R 中產生程式代碼以進行修改或學習。
下一步
如需更多問題,請考慮建立 支援票證