[小ネタ] Visual Studio CodeのAzure Machine Learning拡張機能を使うとめちゃくちゃ簡単にリモート先のJupyterサーバー環境の構築と接続ができる件について #VSCodejp #VSCode #AzureMachineLearning #Jupyter
こんにちは、Mr.Moです。
Jupyter上でいろいろな作業をするとなると、メモリなどのスペックがもう少し欲しい場合とそんなにスペックいらないなどバラつきがあると思います。ローカル環境だとスペックの調整が難しいですが、リモート接続でクラウドやサーバーを活用すればこの辺りももう少し柔軟に対応できると思います。特にクラウドなら環境構築も容易だったり早かったりで良いことが多いですね。そんな一連の流れがVS Code上でさらに簡単に実現できるとするとすごく良いですよね。そんな嬉しい機能がVS CodeのAzure Machine Learning拡張機能にそなわっていたのでちょっと見ていきましょう。
VS CodeのAzure Machine Learning拡張機能とは
下記の記事にまとめてますのでご覧いただければと思います。
使ってみる
1.必要なもの
下記のものが必要なので、インストールや準備をお願いします。
2.ワークスペースの作成
前提としてAzure Machine Learningというサービスを使うことになります。Azure Machine Learning サービスを使うには最初にワークスペースを作成する必要があるので下記のように作成を行います。
3.Azure Machine Learningのコンピュータ インスタンス作成
今回のリモート先のJupyterサーバー環境構築はAzure Machine Learning サービスを使うことで簡単に実現できます。
まずはAzure Machine Learningの拡張機能を使いVS CodeからAzure Machine Learningのコンピュータ インスタンスを作成します。作成されたコンピュータ インスタンスへの接続もAzure Machine Learningの拡張機能のおかげで簡単に接続できます。
4.Jupyterを使う
下記はPythonの拡張機能のJupyterを使える機能が動いているところです。バックグラウンドは先ほど作成したAzure Machine Learningのコンピュータ インスタンスで、このインスタンスへの接続をAzure Machine Learningの拡張機能が行っているという内容になっています。そしてこれらが全てVS Codeの画面上で完結しています。
後片付け
今回作成したコンピュータ インスタンスは使っていない間も課金が発生している状態なので適宜、削除や停止を行い無駄な課金の発生を抑えます。
課金の発生を確実に止めるには、リソースグループの削除がおすすめです。下記の拡張機能を入れてVS Code上からリソースグループごと削除しましょう。
まとめ
VS CodeとAzure Machine Learningを使うとリモートのJupyterサーバー環境の作成と接続がめちゃくちゃ簡単に実施できました。さらにAzure Machine Learningのコンピュータ インスタンスを使うので作業に必要なモジュール郡があらかたプリインストールされており作業着手が非常にスムーズなのも優れた点ですね。また、クラウドなので必要なスペックのコンピュータインスタンスの用意と切り替えも簡単に行うことができます。普段使い慣れているVS Codeの画面からこういったことができるのはなかなか嬉しいです。
(実は9月頃にこの機能のことを知って試したりしていましたが記事にするタイミングを見失っていました。今年のやり残しを1つ消化することができました。)
参考
- https://techcommunity.microsoft.com/t5/azure-ai/power-your-vs-code-notebooks-with-azml-compute-instances/ba-p/1629630
- https://marketplace.visualstudio.com/items/ms-toolsai.vscode-ai/changelog
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-set-up-vs-code-remote
- https://docs.microsoft.com/en-us/azure/machine-learning/concept-compute-instance