在您的工作區中執行 Jupyter Notebook

本文說明如何在您的 Azure Machine Learning 工作室的工作區中執行 Jupyter Notebook。 您還可以透過下列方式執行筆記本:Jupyter (英文)、JupyterLab (英文) 與 Visual Studio Code (機器翻譯)。 您可以設定 VS Code Desktop,以存取計算執行個體, 也能直接透過瀏覽器使用 VS Code 網頁版,且不需要任何必要安裝或相依性。

建議您嘗試使用 VS Code 網頁版,善用其易於整合的優點,以及豐富的開發環境。 VS Code 網頁版提供許多您喜愛的 VS Code Desktop 功能,包括在瀏覽和編輯時進行搜尋和醒目提示語法。 如需使用 VS Code Desktop 與 VS Code 網頁的詳細資訊,請參閱啟動與 Azure Machine Learning 整合的 Visual Studio Code (預覽) (機器翻譯) 和在遠端連線到計算執行個體的 VS Code 中工作 (預覽)

無論您使用哪一種解決方案執行筆記本,都可以從工作區存取所有檔案。 如需有關如何建立和管理檔案 (包括筆記本) 的詳細資訊,請參閱在您的工作區中建立和管理檔案

下文開始介紹在工作室中直接執行筆記本的體驗。

重要

標示為 (預覽) 的功能是在沒有服務等級協定的情況下提供,因此不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

必要條件

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶
  • Machine Learning 工作區。 請參閱建立工作區資源
  • 您的使用者身分識別必須能夠存取工作區的預設儲存體帳戶。 您是否可讀取、編輯或建立筆記本,取決於您的工作區存取層級。 例如,投稿人可以編輯筆記本,而讀者只能檢視筆記本。

從工作區存取筆記本

使用工作區的 [筆記本] 區段來編輯和執行 Jupyter Notebook。

  1. 登入 Azure Machine Learning 工作室
  2. 如果工作區尚未開啟,請選取您的工作區工作區
  3. 選取左側的 [筆記本]

編輯筆記本

若要編輯筆記本,開啟工作區的 [使用者檔案] 區段中的任何筆記本。 選取您要編輯的儲存格。 如果您在本節中沒有任何筆記本,請參閱在您的工作區中建立和管理檔案

您可以編輯筆記本,而不需要連線到計算執行個體。 當您想要在筆記本中執行儲存格時,請選取或建立計算執行個體。 如果選取已停止的計算執行個體,則會在您執行第一個儲存格時自動將其啟動。

當計算執行個體正在執行時,您還可以在任何 Python 筆記本中使用 Intellisense 技術的程式碼來完成。

您也可以從 [筆記本] 工具列啟動 Jupyter 或 JupyterLab。 Azure Machine Learning 不會提供 Jupyter 或 JupyterLab 的更新和修正錯誤,因為它們是 Microsoft 支援服務範圍外的開放原始碼產品。

焦點模式

使用焦點模式來展開目前的視圖,讓您可以將焦點放在作用中的索引標籤上。 焦點模式會隱藏筆記本檔案總管。

  1. 在終端機視窗工具列中,選取 [焦點模式] 以開啟焦點模式。 根據您的視窗寬度,此工具可能位於工具列的 [...] 功能表項目下方。

  2. 處於焦點模式時,選取 [標準檢視] 來返回標準檢視。

    Toggle focus mode / standard view

程式碼完成 (IntelliSense)

IntelliSense 是一種程式碼完成輔助工具,其中包含許多功能:列出成員、參數資訊、快速諮詢和自動完成文字。 只需幾個按鍵,您就可以:

  • 深入了解您正在使用的程式碼
  • 追蹤您正在輸入的參數
  • 將呼叫新增至屬性和方法

共用筆記本

您的筆記本會儲存在工作區的儲存體帳戶中,而且可以根據筆記本的存取層級與其他人共用。 只要擁有適當的存取權,他們就可以開啟和編輯筆記本。 例如,投稿人可以編輯筆記本,而讀者只能檢視筆記本。

工作區的其他使用者可以在 Azure Machine Learning 工作室的 [筆記本]、[使用者檔案] 區段中找到您的筆記本。 根據預設,您的筆記本位於具有使用者名稱的資料夾,其他人可以在那裡存取這些筆記本。

您也可以在開啟筆記本時,從瀏覽器複製 URL,然後將其傳送給其他人。 只要他們有適當的工作區存取權,他們就能開啟筆記本。

由於您不會共用計算執行個體,因此執行您筆記本的其他使用者將在自己的計算執行個體上執行此操作。

使用筆記本留言共同作業 (預覽)

使用筆記本留言與有權存取您筆記本的其他人共同作業。

使用筆記本頂端的 [筆記本留言] 工具,來開啟或關閉留言窗格。 如果您的螢幕不夠寬,請先選取工具集結尾的 [...] 來尋找此工具。

Screenshot of notebook comments tool in the top toolbar.

無論是否看得見留言窗格,您都可以將留言新增至任何程式碼儲存格:

  1. 在程式碼儲存格中選取一些文字。 您只能針對程式碼儲存格中的文字進行留言。
  2. 使用 [新增留言執行緒] 工具來建立您的留言。 Screenshot of add a comment to a code cell tool.
  3. 如果先前隱藏了留言窗格,現在就會開啟。
  4. 輸入您的留言,然後使用工具或 Ctrl+Enter 來張貼該留言。
  5. 一旦張貼了留言,請選取右上方的 [...] 來執行下列動作:
    • 編輯留言
    • 解析執行緒
    • 刪除執行緒

已留言的文字會出現在程式碼中,並以紫色醒目提示該文字。 當您在留言窗格中選取留言時,您的筆記本將會捲動至包含醒目提示文字的儲存格。

注意

留言會儲存至程式碼儲存格的中繼資料。

清除您的筆記本 (預覽)

在建立筆記本的過程中,您通常最後得到的是用於資料探索或偵測的儲存格。 「收集」功能可協助您在沒有這些多餘儲存格的情況下產生全新的筆記本。

  1. 執行您的所有筆記本儲存格。
  2. 選取儲存格,其中包含您想要新筆記本執行的程式碼。 例如,提交實驗的程式碼,或可能是註冊模型的程式碼。
  3. 選取儲存格工具列上出現的 [收集] 圖示。 Screenshot: select the Gather icon
  4. 輸入新「收集」的筆記本名稱。

新的筆記本只會包含程式碼儲存格,而且所有儲存格產生的結果都需要與您選取要收集的儲存格相同。

儲存筆記本並核對其檢查點

當您建立 ipynb 檔案時,Azure Machine Learning 會建立檢查點檔案。

在筆記本工具列中,選取功能表,然後選取 [檔案]> [儲存和檢查點],手動儲存筆記本,然後其會新增與筆記本相關聯的檢查點檔案。

Screenshot of save tool in notebook toolbar

每隔 30 秒會自動儲存每個筆記本。 自動儲存只會更新初始 ipynb 檔案,而不會更新檢查點檔案。

選取 [筆記本] 功能表中的 [檢查點],以建立具名檢查點,並將筆記本還原至已儲存的檢查點。

匯出筆記本

在筆記本工具列中,選取功能表,然後選取 [匯出為],以將筆記本匯出為任何支援的類型:

  • Notebook
  • Python
  • HTML
  • LaTeX

Export a notebook to your computer

匯出的檔案會儲存在您的電腦上。

執行筆記本或 Python 指令碼

若要執行筆記本或 Python 指令碼,您首先連線到執行中的計算執行個體

  • 如果您沒有計算執行個體,請使用下列步驟建立一個:

    1. 在筆記本或指令碼工具列的 [計算] 下拉式清單右邊,選取 [+ 新增計算]。 根據您的螢幕大小,這可能位於 [...] 功能表底下。 Create a new compute
    2. 為計算命名,然後選擇 [虛擬機器大小]
    3. 選取 建立
    4. 計算執行個體會自動連線到檔案。 您現在可以使用計算執行個體左邊的工具,執行筆記本儲存格或 Python 指令碼。
  • 如果您有已停止的計算執行個體,請選取 [計算] 下拉式清單右邊的 [開始計算]。 根據您的螢幕大小,這可能位於 [...] 功能表底下。

    Start compute instance

連線到計算執行個體後,請使用工具列來執行筆記本中的所有儲存格,或按 Control + Enter 鍵以執行單一已選取儲存格。

只有您可以查看和使用您所建立的計算執行個體。 您的使用者檔案會與 VM 分開儲存,而且由工作區中的所有計算執行個體共用。

探索筆記本中的變數

在筆記本工具列上,使用 [變數總管] 工具,來顯示已在筆記本中建立的所有變數的名稱、類型、長度和範例值。

Screenshot: Variable explorer tool

選取工具以顯示變數總管視窗。

Screenshot: Variable explorer window

在筆記本工具列上,使用 [目錄] 工具來顯示或隱藏目錄。 啟動具有標題的 Markdown 儲存格,以將其新增至目錄。 選取資料表中的項目,捲動到筆記本中的該儲存格。

Screenshot: Table of contents in the notebook

變更筆記本環境

筆記本工具列可讓您變更筆記本執行所在的環境。

以下這些動作不會變更筆記本狀態或筆記本中任何變數的值:

動作 結果
停止核心程序 停止任何正在執行的儲存格。 執行儲存格會自動重新啟動核心程序。
瀏覽至另一個工作區區段 執行中的儲存格會停止。

以下這些動作會重設筆記本狀態,並重設筆記本中的所有變數。

動作 結果
變更核心程序 筆記本使用新的核心程序。
切換計算 筆記本會自動使用新的計算。
重設計算 當您嘗試執行儲存格時再次啟動。
停止計算 不會執行任何儲存格。
在 Jupyter 或 JupyterLab 中開啟筆記本 在新索引標籤中開啟筆記本。

加入新的核心程序

使用終端機來建立新的核心,並將其新增至您的計算執行個體。 筆記本會自動尋找已在連線的計算執行個體上安裝的所有 Jupyter 核心。

使用右側的核心下拉式清單,變更為任何已安裝的核心。

管理套件

由於您的計算執行個體有多個核心,請務必使用 %pip%condamagic 函數,將套件安裝到目前執行中的核心。 請不要使用 !pip!conda,這會參考所有套件 (包括目前執行中核心以外的套件)。

狀態指標

[計算] 下拉式清單旁邊的指標會顯示其狀態。 此狀態也會顯示在下拉式清單中。

Color 計算狀態
計算正在執行
計算失敗
黑色 計算已停止
淺藍色 計算建立、啟動、重新開機、設定
灰色 計算已刪除,正在停止

[核心程序] 下拉式清單旁邊的指標會顯示其狀態。

Color 核心狀態
核心程序已連線、閒置、忙碌中
灰色 核心程序未連線

尋找計算詳細資料

Studio中的 [計算] 頁面上,尋找計算執行個體的詳細資料。

實用的鍵盤快速鍵

與 Jupyter Notebook 類似,Azure Machine Learning 工作室筆記本具有強制回應使用者介面。 鍵盤會根據筆記本儲存格所在的模式來執行不同的動作。 Azure Machine Learning 工作室筆記本針對給定的程式碼儲存格支援下列兩種模式:命令模式和編輯模式。

命令模式快速鍵

沒有文字游標提示您輸入時,儲存格就會處於命令模式。 儲存格處於命令模式時,您可以將筆記本當做整體編輯,但無法輸入個別的儲存格。 按下 ESC 或使用滑鼠在儲存格的編輯器區域外選取,以進入命令模式。 作用中儲存格的左邊框線為藍色實線,而其 [執行] 按鈕為藍色。

Notebook cell in command mode

捷徑 描述
Enter 進入編輯模式
Shift + Enter 執行儲存格,在下方選取
Control/Command + Enter 執行儲存格
Alt + Enter 執行儲存格,在下方插入程式碼儲存格
Control/Command + Alt + Enter 執行儲存格,在下方插入 Markdown 儲存格
Alt + R 全部執行
Y 將儲存格轉換成程式碼
將儲存格轉換成 Markdown
Up/K 選取上方儲存格
Down/J 選取下方儲存格
A 在上方插入程式碼儲存格
B 在下方插入程式碼儲存格
Control/Command + Shift + A 在上方插入 Markdown 儲存格
Control/Command + Shift + B 在下方插入 Markdown 儲存格
X 剪下選取的儲存格
C 複製選取的儲存格
Shift + V 在上方貼上選取的儲存格
V 在下方貼上選取的儲存格
D D 刪除選取的儲存格
O TextWriter
Shift + O 切換輸出捲動
I I 中斷核心
0 0 重新啟動核心
SHIFT + 空格鍵 向上捲動
Space 向下捲動
定位字元 將焦點變更為下一個可設定焦點的專案 (停用 Tab 鍵捕捉時)
Control/Command + S 儲存筆記本
1 變更為 h1
2 變更為 h2
3 變更為 h3
4 變更為 h4
5 變更為 h5
6 變更為 h6

編輯模式快速鍵

編輯模式會以文字游標指示,提示您在編輯器區域中輸入。 當儲存格處於編輯模式時,您可以在儲存格中輸入文字。 按下 Enter 或點選儲存格的編輯器區域,即可進入編輯模式。 作用中儲存格的左邊框線為線色交錯線,而其 [執行] 按鈕為綠色。 您也會在編輯模式中的儲存格看到游標提示。

Notebook cell in edit mode

在編輯模式中,使用下列按鍵快捷鍵,您可以更輕鬆地在 Azure Machine Learning 筆記本中瀏覽和執行程式碼。

捷徑 描述
ESC 鍵 進入命令模式
Control/Command + 空格鍵 啟動 IntelliSense
Shift + Enter 執行儲存格,在下方選取
Control/Command + Enter 執行儲存格
Alt + Enter 執行儲存格,在下方插入程式碼儲存格
Control/Command + Alt + Enter 執行儲存格,在下方插入 Markdown 儲存格
Alt + R 執行所有儲存格
向上 向上移動游標或移至上一個儲存格
向下 向下移動游標或移至下一個儲存格
Control/Command + S 儲存筆記本
Control/Command + Up 移至儲存格開端
Control/Command + Down 移至儲存格末端
定位字元 程式碼完成或縮排 (如果已啟用 tab 鍵捕捉)
Control/Command + M 啟用/停用 tab 鍵捕捉
Control/Command + ] Indent
Control/Command + [ Dedent
Control/Command + A 全選
Control/Command + Z 復原
Control/Command + Shift + Z 取消復原
Control/Command + Y 取消復原
Control/Command + Home 移至儲存格開端
Control/Command + End 移至儲存格末端
Control/Command + Left 往左移一個單字
Control/Command + Right 往右移一個單字
Control/Command + Backspace 刪除此前的文字
Control/Command + Delete 刪除此後的文字
Control/Command + / 切換儲存格上的留言

疑難排解

  • 連線到筆記本:如果您無法連線到筆記本,請確保停用 Web 通訊端通訊。 若要讓計算執行個體 Jupyter 功能能夠運作,必須啟用 Web 通訊端通訊。 確保您的網路允許與 *.instances.azureml.net 和 *.instances.azureml.ms 進行 Websocket 連線

  • 私人端點:計算執行個體部署在具有私人端點的工作區中時,只能從虛擬網路內存取。 如果您是使用自訂 DNS 或主機檔案,請新增 <instance-name>.<region>.instances.azureml.ms 的項目,其中包含您工作區私人端點的私人 IP 位址。 如需其他資訊,請參閱自訂 DNS 文章。

  • 核心程序損毀:如果核心程序損毀並重新啟動,您可以執行以下命令來查看 Jupyter 記錄並了解更多詳細資訊:sudo journalctl -u jupyter。 如果核心問題持續發生,請考慮使用具有更多記憶體的計算執行個體。

  • 找不到核心核心作業停用:在計算執行個體上使用預設的 Python 3.8 核心時,您可能會收到「找不到核心」或「核心作業停用」等錯誤。 若要修復,請使用以下其中一個方法:

    • 建立新的運算執行個體。 這將使用已解決此問題的新映像。
    • 在現有運算執行個體上使用 Py 3.6 核心。
    • 從預設 py38 環境中的終端機執行 pip install ipykernel==6.6.0pip install ipykernel==6.0.3
  • 過期的權杖:如果您遇到過期的權杖問題,請登出 Azure Machine Learning 工作室並重新登入,然後重新啟動筆記本核心程序。

  • 檔案上傳限制:透過筆記型電腦的檔案總管上傳檔案時,您只能上傳小於 5 TB 的檔案。 如果您需要上傳大於此限制的檔案,我們建議您使用 SDK 將資料上傳到資料存放區。 如需詳細資訊,請參閱建立資料資產

下一步