概要

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

作業前の環境

    • Windows 10 Home

 

    Docker Desktopがインストール済み

SynapseML環境構築開始!

手順

手順はたったの5つ。

    1. Dockerイメージの取得

 

    1. Dockerコンテナの起動

 

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

 

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

 

    ライブラリのインポート

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を使ってコードを書きましょう。

お疲れ様でした✨

广告
将在 10 秒后关闭
bannerAds