ワークスペースで Jupyter Notebook を実行する

この記事では、Azure Machine Learning スタジオのワークスペース内で Jupyter ノートブックを実行する方法について説明します。 ノートブックを実行する方法は他に JupyterJupyterLabVisual Studio Code があります。 VS Code Desktop は、コンピューティング インスタンスにアクセスするように構成できます。 または、ブラウザーから直接、Web 用の VS Code を使用します。その場合、インストールや依存関係は必要ありません。

簡単な統合と提供される豊富な開発環境を利用するために、Web 用の VS Codeを試してみることをお勧めします。 Web 用の VS Code では、参照や編集時の検索や構文の強調表示など、好みの VS Code Desktop の多くの機能が提供されます。 VS Code Desktop と Web 用のVS Code の使用の詳細については、「Azure Machine Learning と統合された Visual Studio Code を起動する (プレビュー)」と「コンピューティング インスタンスにリモート接続された VS Code で作業する (プレビュー)」を参照してください。

ノートブックの実行に使用するソリューションに関係なく、ワークスペースのすべてのファイルにアクセスできます。 ノートブックを含むファイルを作成および管理する方法の詳細については、ワークスペース内のファイルの作成と管理に関するページを参照してください。

この記事の残りの部分では、スタジオでノートブックを直接実行するエクスペリエンスを示します。

重要

(プレビュー) とマークされている機能はサービス レベル アグリーメントなしで提供されています。実稼働環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

前提条件

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
  • Machine Learning ワークスペース。 「ワークスペース リソースの作成」 を参照してください。
  • ご使用のユーザー ID に、ワークスペースの既定のストレージ アカウントへのアクセス権が必要です。 ノートブックの読み取り、編集、作成ができるかどうかは、ワークスペースへのアクセス レベルによって異なります。 たとえば、共同作成者はノートブックを編集できるのに対し、閲覧者は表示のみできます。

ワークスペースからノートブックにアクセスする

ワークスペースの [Notebooks] セクションを使用して、Jupyter ノートブックを編集して実行します。

  1. Azure Machine Learning スタジオにサインインします
  2. ワークスペースがまだオープンしていない場合は、ワークスペースを選択します
  3. 左側にある [ノートブック] を選択します

ノートブックを編集する

ノートブックを編集するには、ワークスペースの [User files](ユーザー ファイル) セクションにあるノートブックを開きます。 編集するセルを選択します。 このセクションにノートブックがない場合は、ワークスペース内のファイルの作成と管理に関するページを参照してください。

ノートブックは、コンピューティング インスタンスに接続することなく編集できます。 ノートブックのセルを実行する場合は、コンピューティング インスタンスを選択または作成します。 停止したコンピューティング インスタンスを選択した場合は、最初のセルを実行すると自動的に開始されます。

コンピューティング インスタンスの実行中に、任意の Python ノートブックで Intellisense によるコード補完を使用することもできます。

ノートブックのツールバーから Jupyter または JupyterLab を起動することもできます。 Azure Machine Learning では、Jupyter または JupyterLab からの更新プログラムの提供やバグの修正は行われません。これは、Microsoft サポートの範囲に含まれないオープン ソース製品であるためです。

フォーカス モード

フォーカス モードを使用して現在のビューを拡張すると、アクティブなタブに集中できるようになります。 フォーカス モードでは、Notebook ファイル エクスプローラーが非表示になります。

  1. ターミナル ウィンドウのツールバーで、 [フォーカス モード] を選択してフォーカス モードをオンにします。 ウィンドウの幅によっては、このツールはツール バーの [...] メニュー項目の下にあります。

  2. フォーカス モードになっているときに標準ビューに戻るには、 [標準ビュー] を選択します。

    Toggle focus mode / standard view

コード補完 (IntelliSense)

IntelliSense は、多くの機能 (メンバーの一覧表示、パラメーター ヒント、クイック ヒント、入力候補) を備えたコード補完支援機能です。 ほんの数回のキー ストロークで、次のことができます。

  • 使用しているコードの詳細を把握する
  • 入力しているパラメーターを追跡する
  • プロパティおよびメソッドへの呼び出しを追加する

ノートブックを共有する

ノートブックはワークスペースのストレージ アカウントに格納され、ワークスペースへのアクセス レベルに応じて他のユーザーと共有できます。 適切なアクセス権さえ持っていれば、ノートブックを開いて編集できます。 たとえば、共同作成者はノートブックを編集できるのに対し、閲覧者は表示のみできます。

ワークスペースの他のユーザーは、Azure Machine Learning スタジオ の [ノートブック][ユーザー ファイル] セクションでノートブックを見つけることができます。 既定では、ノートブックはユーザー名を持つフォルダーに格納されていて、他のユーザーはそこでアクセスできます。

ノートブックを開いて他のユーザーに送信するとき、ブラウザーから URL をコピーすることもできます。 ワークスペースに適切なアクセス権さえ持っていれば、ノートブックを開くことができます。

コンピューティング インスタンスを共有しないので、ノートブックを実行する他のユーザーは自分自身のコンピューティング インスタンスで実行します。

ノートブックのコメントを使用して共同作業する (プレビュー)

ノートブックのコメントを使用して、ノートブックにアクセスできる他のユーザーと共同作業を行います。

ノートブックの上部にある [Notebook comments](ノートブックのコメント) ツールを使用して、コメント ペインのオンとオフを切り替えます。 画面の幅が十分でない場合は、ツールのセットの最後にある [...] を最初に選択して、このツールを探します。

Screenshot of notebook comments tool in the top toolbar.

コメント ペインが表示されているかどうかにかかわらず、任意のコード セルにコメントを追加できます。

  1. コード セルでテキストを選択します。 コメントを作成できるのは、コード セル内のテキストのみです。
  2. [New comment thread](新しいコメント スレッド) ツールを使用して、コメントを作成します。 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 によってチェックポイント ファイルが作成されます。

ノートブック ツール バーでメニューを選択し、[ファイル] > [Save and checkpoint]\(保存とチェックポイント\) の順に選択して、手動でノートブックを保存します。そうすると、ノートブックに関連付けられたチェックポイント ファイルが追加されます。

Screenshot of save tool in notebook toolbar

すべてのノートブックは 30 秒ごとに自動保存されます。 自動保存では、チェックポイント ファイルではなく、最初の ipynb ファイルのみが更新されます。

ノートブックのメニューで [チェックポイント] を選択して、名前付きチェックポイントを作成し、保存されているチェックポイントにノートブックを戻すことができます。

ノートブックをエクスポートする

ノートブック ツールバーで、メニュー、 [次としてエクスポート] の順に選択して、サポートされているいずれかの種類としてノートブックをエクスポートします。

  • ノートブック
  • Python
  • HTML
  • LaTeX

Export a notebook to your computer

エクスポートしたファイルは、お使いのコンピューターに保存されます。

ノートブックまたは Python スクリプトを実行する

ノートブックまたは Python スクリプトを実行するには、まず、実行中のコンピューティング インスタンスに接続します。

  • コンピューティング インスタンスがない場合は、次の手順に従って作成します。

    1. ノートブックまたはスクリプト ツールバーで、[コンピューティング] ドロップダウンの右側にある [+ 新しいコンピューティング] を選択します。 画面のサイズによっては、これは [...] メニューの下に配置されている場合があります。 Create a new compute
    2. コンピューティングに名前を付け、 [仮想マシン サイズ] を選択します。
    3. [作成] を選択します
    4. コンピューティング インスタンスがファイルに自動的に接続されます。 これで、コンピューティング インスタンスの左側にあるツールを使用して、ノートブック セルまたは Python スクリプトを実行できるようになります。
  • コンピューティング インスタンスが停止している場合は、[コンピューティング] ドロップダウンの右側にある [コンピューティングの開始] を選択します。 画面のサイズによっては、これは [...] メニューの下に配置されている場合があります。

    Start compute instance

コンピューティング インスタンスに接続したら、ツール バーを使ってノートブック内のすべてのセルを実行するか、Ctrl + Enter キーを使って、選択した 1 つのセルを実行します。

作成したコンピューティング インスタンスを表示および使用できるのは自分のみです。 ユーザー ファイルは VM とは別に格納され、ワークスペース内のすべてのコンピューティング インスタンス間で共有されます。

ノートブックの変数を調べる

Notebook ツールバーの変数エクスプローラー ツールを使用すると、ノートブックに作成されているすべての変数の名前、型、長さ、サンプル値が表示されます。

Screenshot: Variable explorer tool

ツールを選択して、変数エクスプローラー ウィンドウを表示します。

Screenshot: Variable explorer window

目次を表示または非表示にするには、ノートブック ツールバーの [目次] ツールを使用します。 見出しを使用してマークダウン セルを開始し、それを目次に追加します。 目次のエントリを選択して、ノートブック内のそのセルまでスクロールします。

Screenshot: Table of contents in the notebook

ノートブック環境を変更する

ノートブックのツールバーを使用すると、ノートブックを実行する環境を変更できます。

このようなアクションを実行しても、ノートブックの状態またはノートブック内の変数の値は変更されません。

アクション 結果
カーネルを停止する 任意の実行中のセルを停止します。 セルを実行すると、カーネルが自動的に再起動されます。
別のワークスペース セクションに移動する 実行中のセルは停止されます。

これらのアクションを実行すると、ノートブックの状態はリセットされ、ノートブック内のすべての変数がリセットされます。

アクション 結果
カーネルを変更する Notebook に新しいカーネルが使用されます
コンピューティングを切り替える Notebook には新しいコンピューティングが自動的に使用されます。
コンピューティングをリセットする セルを実行しようとすると再起動します
コンピューティングを停止する セルは実行されません
Jupyter または JupyterLab でノートブックを開く 新しいタブでノートブックが開きます。

新しいカーネルを追加する

ターミナルを使用して、新しいカーネルを作成し、コンピューティング インスタンスに追加します。 ノートブックによって、接続されたコンピューティング インスタンスにインストールされているすべての Jupyter カーネルが自動的に検出されます。

右側にあるカーネルのドロップダウンを使用して、インストールされているカーネルのいずれかに変更します。

パッケージの管理

コンピューティング インスタンスには複数のカーネルが含まれています。現在実行中のカーネルにパッケージをインストールする %pip または %condaマジック関数を使用してください。 !pip または !conda は使用しないでください。これは、すべてのパッケージ (現在実行中のカーネルの外部にあるパッケージを含む) を参照します。

状態インジケーター

[コンピューティング] ドロップダウンの横のインジケーターには、その状態が表示されます。 状態は、ドロップダウン リストにも表示されます。

Color コンピューティング状態
[緑] コンピューターは実行中
[赤] コンピューティングの失敗
Black コンピューティングの停止
淡い青 コンピューティングの作成、開始、再起動、設定
グレー コンピューティングの削除、停止

[カーネル] ドロップダウンの横にあるインジケーターには、その状態が表示されます。

Color カーネルの状態
[緑] カーネル接続済み、アイドル、ビジー
グレー カーネルが接続されていません

コンピューティングの詳細を確認する

コンピューティング インスタンスの詳細については、Studioコンピューティングに関するページを参照してください。

便利なキーボード ショートカット

Jupyter Notebook と同様に、Azure Machine Learning スタジオ ノートブックにはモーダル ユーザー インターフェイスがあります。 キーボードの動作は、ノートブック セルのモードによって異なります。 Azure Machine Learning スタジオ ノートブックでは、特定のコード セルに対して、コマンド モードと編集モードという 2 つのモードがサポートされています。

コマンド モードのショートカット

入力を求めるテキスト カーソルがない場合、セルはコマンド モードになります。 セルがコマンド モードの場合、ノートブックを全体として編集できますが、個々のセルに入力することはできません。 ESC キーを押すか、マウスを使用してセルのエディター領域の外側を選択し、コマンド モードに入ります。 アクティブなセルの左側の境界線は青い実線で、 [実行] ボタンは青です。

Notebook cell in command mode

ショートカット 説明
Enter 編集モードを開始する
Shift + Enter セルを実行し、下のものを選択する
Ctrl/Command + Enter セルの実行
Alt + Enter セルを実行し、下にコード セルを挿入する
Ctrl/Command + Alt + Enter セルを実行し、下にマークダウン セルを挿入する
Alt + R [すべて実行]
Y セルをコードに変換する
M セルをマークダウンに変換する
↑/K 上のセルを選択する
↓/J 下のセルを選択する
A 上にコード セルを挿入する
B 下にコード セルを挿入する
Ctrl/Command + Shift + A 上にマークダウン セルを挿入する
Ctrl/Command + Shift + B 下にマークダウン セルを挿入する
X 選択したセルを切り取る
C 選択したセルをコピーする
Shift + V 選択したセルを上に貼り付ける
V 選択したセルを下に貼り付ける
D D 選択したセルを削除する
O TextWriter
Shift + O 出力のスクロールを切り替える
I I カーネルを中断する
0 0 カーネルを再開する
Shift + Space 上にスクロール
Space 下にスクロール
タブ フォーカスを次のフォーカス可能な項目に移動する (タブ トラップが無効になっている場合)
Ctrl/Command + S ノートブックを保存する
1 h1 に変更する
2 h2 に変更する
3 h3 に変更する
4 h4 に変更する
5 h5 に変更する
6 h6 に変更する

編集モードのショートカット

編集モードは、エディター領域への入力を求めるテキスト カーソルによって示されます。 セルが編集モードの場合、セルに入力することができます。 Enter キーを押すか、セルのエディター領域を選択して編集モードに入ります。 アクティブなセルの左側の境界線は緑のハッチで、 [実行] ボタンは緑です。 また、編集モードではセルにカーソル プロンプトが表示されます。

Notebook cell in edit mode

次のキーストローク ショートカットを使用すると、編集モードのときに Azure Machine Learning ノートブックのコードをより簡単に移動して実行できます。

ショートカット 説明
エスケープ コマンド モードを開始する
Ctrl/Command + Space IntelliSense をアクティブにする
Shift + Enter セルを実行し、下のものを選択する
Ctrl/Command + Enter セルの実行
Alt + Enter セルを実行し、下にコード セルを挿入する
Ctrl/Command + Alt + Enter セルを実行し、下にマークダウン セルを挿入する
Alt + R すべてのセルを実行する
[上へ] カーソルを上または前のセルに移動する
[下へ] カーソルを下または次のセルに移動する
Ctrl/Command + S ノートブックを保存する
Ctrl/Command + ↑ セルの先頭に移動する
Ctrl/Command + ↓ セルの末尾に移動する
タブ コード補完またはインデント (タブ トラップが有効になっている場合)
Ctrl/Command + M タブ トラップを有効または無効にする
Ctrl/Command + ] インデントする
Ctrl/Command + [ インデントを解除する
Ctrl/Command + A すべて選択する
Ctrl/Command + Z 元に戻す
Ctrl/Command + Shift + Z やり直す
Ctrl/Command + Y やり直す
Ctrl/Command + Home セルの先頭に移動する
Ctrl/Command + End セルの末尾に移動する
Ctrl/Command + 左 1 単語左に移動する
Ctrl/Command + → 1 単語右に移動する
Ctrl/Command + Backspace 前の単語を削除する
Ctrl/Command + Delete 後の単語を削除する
Ctrl/Command + / セルでコメントを切り替える

トラブルシューティング

  • ノートブックに接続: ノートブックに接続できない場合は、Web ソケット通信が無効になっていないことを確認してください。 コンピューティング インスタンスの Jupyter 機能を動作させるには、Web ソケット通信を有効にする必要があります。 *.instances.azureml.net と *.instances.azureml.ms への WebSocket 接続がお使いのネットワークで許可されていることを確認してください。

  • プライベート エンドポイント: プライベート エンドポイントのあるワークスペースにデプロイされたコンピューティング インスタンスには、仮想ネットワーク内からのみアクセスすることができます。 カスタム DNS またはホスト ファイルを使用している場合は、ワークスペースのプライベート エンドポイントのプライベート IP アドレスを使用して < instance-name >.< region >.instances.azureml.ms のエントリを追加してください。 詳細については、[カスタム DNS](./how-to-custom-dns.md) に関するページを参照してください。

  • カーネル クラッシュ: カーネルがクラッシュして再起動された場合は、次のコマンドを実行して Jupyter ログを表示し、詳細を確認することができます: sudo journalctl -u jupyter。 カーネルの問題が解決しない場合は、さらに大きなメモリでコンピューティング インスタンスを使用することを検討してください。

  • カーネルが見つかりませんまたはカーネル操作が無効でした: 既定の Python 3.8 カーネルがコンピューティング インスタンスで使用されているとき、"カーネルが見つかりません" または "カーネル操作が無効でした" というエラーが表示されることがあります。 修復するには、以下のいずれかの方法を使用します。

    • 新しいコンピューティング インスタンスを作成します。 これには、この問題が解決された新しいイメージが使用されます。
    • 既存のコンピューティング インスタンスで Py 3.6 カーネルを使用します。
    • 既定の py38 環境のターミナルから pip install ipykernel==6.6.0 または pip install ipykernel==6.0.3 を実行します。
  • トークンの期限切れ: トークンの期限切れの問題が発生する場合は、Azure Machine Learning スタジオからサインアウトし、再度サインインしてから、ノートブック カーネルを再起動します。

  • ファイル アップロード制限: ノートブックのファイル エクスプローラーを使用してファイルをアップロードする場合、5 TB よりも小さいファイルに制限されます。 これより大きいファイルをアップロードする必要がある場合は、SDK を使用してデータストアにデータをアップロードすることをお勧めします。 詳細については、「データ資産を作成する」を参照してください

次のステップ