2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerコンテナを使ってJupyterノートブック上でSynapseMLが使える環境をササっと作ろう!

Last updated at Posted at 2021-12-18

概要

SynapseMLを使いたいけど、どうやって環境を作ればよいかわからなかったので、Dockerを使って環境構築する方法を試してみました!

作業前の環境

  • Windows 10 Home
  • Docker Desktopがインストール済み

SynapseML環境構築開始!

手順

手順はたったの5つ。

  1. Dockerイメージの取得
  2. Dockerコンテナの起動
  3. Jupyterノートブックの起動
  4. ブラウザでJupyterノートブックにアクセス
  5. ライブラリのインポート

1. Dockerイメージの取得

まずは、Dockerイメージの取得から始める。
MicrosoftのSynapseMLのサイトにDockerイメージに関する情報がある。
Using the SynapseML Docker Image

WSL UbuntuやPowershellを開いて、Dockerイメージをプルする。

docker pull mcr.microsoft.com/mmlspark/release:0.9.4

以下のコマンドで、Dockerイメージがローカルにプルできていることを確認する。

docker images

2. Dockerコンテナの起動

Dockerイメージが存在していることを確認できたので、イメージを元にコンテナを起動する。

docker run -it --rm -p 127.0.0.1:80:8888 -v ~/myfiles:/notebooks/myfiles mcr.microsoft.com/mmlspark/release:0.9.4

docker runコマンドのオプション説明はこちらのサイトを参照。
Using the SynapseML Docker Image

以下のようなTTYが表示されればOK。

root@c19xxxxxxx:/notebooks#

作成したJupyterノートブックファイルは以下のローカルフォルダに格納される。
~/myfiles

機械学習で利用する入力データ(トレーニング用データ、テスト用データ)をコンテナ起動前に保存しておくと読み込みできる。以下は~/myfiles配下にtitanic/train.csvを保存した場合のデータ読込み例。

import pyspark

spark = pyspark.sql.SparkSession.builder.appName("MyApp") \
  .config("spark.jars.packages", "com.microsoft.azure:synapseml_2.12:0.9.4") \
  .config("spark.jars.repositories", "https://mmlspark.azureedge.net/maven") \
  .getOrCreate()

train_data = spark.read.format("csv").load(
    "/notebooks/myfiles/titanic/train.csv"
)

3. Jupyterノートブックの起動

Jupyter notebookを起動する。

/notebooks# jupyter notebook

4. ブラウザでJupyterノートブックにアクセス

Jupyterノートブックを起動した状態で、Chromeなどのブラウザからhttp://localhostにアクセスすると、Jupyterノートブックが利用できる。

5. ライブラリのインポート

Jupyterノートブック上でPySparkとSynapseMLのライブラリをインポートする。
SynapseML Installation

import pyspark

spark = pyspark.sql.SparkSession.builder.appName("MyApp") \
  .config("spark.jars.packages", "com.microsoft.azure:synapseml_2.12:0.9.4") \
  .config("spark.jars.repositories", "https://mmlspark.azureedge.net/maven") \
  .getOrCreate()

import synapse.ml

あとは好きにSynapseMLを使ってコードを書きましょう。

お疲れ様でした✨

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?