設定實驗室以使用 Python 和 Jupyter Notebook 進行資料科學教學
重要
Azure Lab Services 將於 2027 年 6 月 28 日淘汰。 如需詳細資訊,請參閱淘汰指南 (英文)。
本文說明如何在 Azure 實驗室服務中設定範本虛擬機器 (VM),其中有工具會教導學生如何使用 Jupyter 筆記本。 您也會了解如何讓實驗室使用者連線到其虛擬機器上的筆記本。
Jupyter 筆記本是開放原始碼專案,可讓您輕鬆地在單一畫布上結合豐富和可執行的 Python 原始程式碼,也稱為「筆記本」。 執行筆記本以建立輸入和輸出的線性記錄。 這些輸出可以包含文字、資訊資料表、散佈圖等等。
注意
本文參考實驗室計畫中可用的功能,取代實驗室帳戶。
必要條件
- 若要設定此實驗室,您需要 Azure 訂閱的存取權。 請與組織的系統管理員討論,以確認您是否可存取現有的 Azure 訂閱。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
設定實驗室計劃設定
在擁有 Azure 訂用帳戶後,您就可以在 Azure 實驗室服務中建立實驗室計劃。 如需建立新實驗室方案的詳細資訊,請參閱快速入門:設定資源以建立實驗室。 您也可以使用現有的實驗室計劃。
此實驗室使用其中一個資料科學虛擬機器映像作為基底 VM 映像。 這些映像可在 Azure Marketplace 中取得。 此選項可讓實驗室建立者選取映像作為其實驗室的基底映像。 您必須在實驗室計劃中啟用這些映像。
請遵循下列步驟啟用可供實驗室建立者使用的 Azure Marketplace 映像。
根據您的作業系統需求,選取下列其中一個 Azure Marketplace 映像:
- 資料科學虛擬機器 - Windows Server 2019/Windows Server 2022
- 資料科學虛擬機器 - Ubuntu 20.04
或者,建立自訂的 VM 映像:
Azure Marketplace 中的資料科學 VM 映像已使用 Jupyter 筆記本進行設定。 這些映像也包含其他適用於資料科學的開發與模型化工具。 如果您不需要這些額外的工具,而是想要只有 Jupyter 筆記本的輕量型設定,請建立自訂 VM 映像。 如需範例,請參閱在 Azure 上安裝 JupyterHub。
建立自訂映像之後,將其上傳至計算資源庫,以供 Azure 實驗室服務使用。 深入了解在 Azure 實驗室服務中使用計算資源庫。
建立實驗室
為您的實驗室計劃建立實驗室:
如需如何建立實驗室的指示,請參閱教學課程:設定實驗室。 指定下列實驗室設定:
當您使用 [替代小型 GPU (計算)] 大小來建立實驗室時,請安裝 GPU 驅動程式。
此程序會安裝最新的 NVIDIA 驅動程式和計算統一裝置架構 (CUDA) 工具組,必須有這些項目才能啟用 GPU 高效能運算。 如需詳細資訊,請參閱使用 GPU 虛擬機器設定實驗室。
範本機器設定
建立實驗室之後,請根據您選擇的虛擬機器大小和映像,建立範本 VM。 設定範本 VM,其中包含您想要為此課程的學生提供的所有項目。 如需詳細資訊,請參閱在 Azure 實驗室服務中建立及管理範本。
資料科學 VM 映像隨附這種課程所需的許多資料科學架構和工具。 例如,映像包括:
- Jupyter 筆記本:一種 Web 應用程式,可讓資料科學家取得未經處理資料、執行計算,並在相同的環境中查看結果。 其在範本 VM 中本機執行。
- Visual Studio Code:一種整合式開發環境 (IDE),可在撰寫及測試筆記本時,提供豐富的互動式體驗。 如需詳細資訊,請參閱在 Visual Studio Code 中使用 Jupyter Notebook。
資料科學虛擬機器 – Ubuntu映像已佈建 X2Go 伺服器,讓實驗室使用者能夠使用圖形化桌面體驗。
啟用工具以使用 GPU
如果您是使用替代小型 GPU (計算) 大小,建議您確認已將資料科學架構和程式庫正確設定為使用 GPU。 您可能需要安裝不同版本的 NVIDIA 驅動程式和 CUDA 工具組。 如需設定 GPU,您應參閱架構或文件庫的文件。
例如,若要驗證使用 GPU 的 TensorFlow,請連線到範本 VM,並在 Jupyter Notebooks 中執行下列 Python-TensorFlow 程式碼:
import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
若此程式碼的輸出類似下面結果,則表示 TensorFlow 未使用 GPU:
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
]
繼續進行此範例,參閱 TensorFlow GPU 支援以取得指導。 TensorFlow 指引中會說明:
- NVIDIA 驅動程式的必要版本
- CUDA 工具組的必要版本
- 安裝 NVIDIA CUDA 深度神經網路程式庫 (cudDNN) 的指示
在您遵循 TensorFlow 的步驟來設定 GPU 之後,若您重新執行測試程式碼,應該會看到類似下列輸出的結果。
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 11154792128
locality {
bus_id: 1
links {
}
}
incarnation: 2659412736190423786
physical_device_desc: "device: 0, name: NVIDIA Tesla K80, pci bus id: 0001:00:00.0, compute capability: 3.7"
]
提供課程的筆記本
下一個工作是為實驗室使用者提供您要其使用的筆記本。 您可在範本 VM 上本機儲存筆記本,讓每位實驗室使用者都有自己的複本。
如果您想要從 Azure Machine Learning 使用範例筆記本,請參閱如何使用 Jupyter Notebook 來設定環境。
發佈範本電腦
若要讓實驗室 VM 可供實驗室使用者使用,請發佈範本。 實驗室 VM 具有您先前設定的所有本機工具和筆記本。
連線到 Jupyter Notebook
下列各節示範實驗室使用者在實驗室 VM 上連線到 Jupyter Notebook 的不同方式。
在實驗室 VM 上使用 Jupyter Notebook 檢視
實驗室使用者可以從本機電腦連線到實驗室 VM,然後使用實驗室 VM 內的 Jupyter Notebook。
如果您使用以 Windows 為基礎的實驗室 VM,實驗室使用者可以透過遠端桌面 (RDP) 連線到其實驗室 VM。 如需詳細資訊,請參閱如何連線到 Windows 實驗室 VM。
如果您使用以 Linux 為基礎的實驗室 VM,實驗室使用者可以透過 SSH 或使用 X2Go 連線到其實驗室 VM。 如需詳細資訊,請參閱如何連線到 Linux 實驗室 VM。
VM 上 Jupyter 伺服器的 SSH 通道
針對以 Linux 為基礎的實驗室,您也可以直接從本機電腦連線到實驗室 VM 內的 Jupyter 伺服器。 SSH 通訊協定可啟用本機電腦與遠端伺服器之間的連接埠轉送。 這是使用者的實驗室 VM。 在伺服器上的特定連接埠執行的應用程式會以通道連至本機電腦上的對應連接埠。
請遵循下列步驟來設定使用者本機電腦與實驗室 VM 上 Jupyter 伺服器之間的 SSH 通道:
確認以 Linux 為基礎的實驗室 VM 正在執行。
選取連線圖示,>透過 SSH 連線以取得 SSH 連線命令。
SSH 連線命令看起來會類似下列範例:
ssh -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus2.cloudapp.azure.com
瞭解如何連線到 Linux VM 的詳細資訊。
在您的本機電腦上,啟動終端機或命令提示字元,並將 SSH 連接字串複製到其中。 然後,將
-L 8888:localhost:8888
新增至命令字串,以建立連接埠之間的通道。最後一個命令看起來應該會像下列範例。
ssh –L 8888:localhost:8888 -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus.cloudapp.azure.com
按 ENTER 鍵以執行此命令。
出現提示時,請提供實驗室 VM 密碼來連線到實驗室 VM。
連線到 VM 時,請使用此命令來啟動 Jupyter 伺服器:
jupyter notebook
命令會在終端機中輸出 Jupyter 伺服器的 URL。 URL 看起來應該會像此範例:
http://localhost:8888/?token=8c09ecfc93e6a8cbedf9c66dffdae19670a64acc1d37
若要連線至 Jupyter 筆記本並在上面工作,請將此 URL 貼到本機電腦上的瀏覽器。
注意
Visual Studio Code 也提供絕佳的 Jupyter Notebook 編輯體驗。 您可以遵循如何連線到遠端 Jupyter 伺服器的指示,並使用上一個步驟中的相同 URL 從 VS Code 連線,而不是從瀏覽器連線。
相關內容
在本文中,您已了解如何建立 Jupyter Notebooks 類別的實驗室,以及使用者如何連線到實驗室 VM 上的筆記本。 您可以針對其他機器學習課程使用類似的設定。
範本映像現在可以發佈至實驗室。 如需詳細資訊,請參閱發佈範本 VM。
當您設定實驗室時,請參閱下列文章: