Azure HDInsight Spark クラスターで Microsoft Cognitive Toolkit ディープ ラーニング モデルを使用する

この記事では、次の手順を実行します。

  1. Microsoft Cognitive Toolkit を Azure HDInsight Spark クラスターにインストールするカスタム スクリプトを実行する。

  2. Jupyter NotebookApache Spark クラスターにアップロードし、トレーニング済みの Microsoft Cognitive Toolkit ディープ ラーニング モデルを Spark Python API (PySpark) を使用して Azure Blob Storage アカウント内のファイルに適用する方法を確認する。

前提条件

このソリューションの流れ

このソリューションは、この記事と、この記事の一部としてアップロードする Jupyter Notebook に分割されます。 この記事では、次の手順を完了します。

  • HDInsight Spark クラスターでスクリプト アクションを実行して、Microsoft Cognitive Toolkit と Python のパッケージをインストールします。
  • HDInsight Spark クラスターに対してソリューションを実行する Jupyter Notebook をアップロードします。

次の残りの手順は、Jupyter Notebook に関する記事に記載されています。

  • サンプル イメージを Spark Resilient Distributed Dataset (RDD) に読み込む。
    • モジュールを読み込んでプリセットを定義する。
    • データセットを Spark クラスターにローカルにダウンロードする。
    • データセットを RDD に変換する。
  • トレーニング済みの Cognitive Toolkit モデルを使用してイメージをスコア付けする。
    • トレーニング済みの Cognitive Toolkit モデルを Spark クラスターにダウンロードする。
    • ワーカー ノードで使用される関数を定義する。
    • ワーカー ノードでイメージをスコア付けする。
    • モデルの精度を評価する。

Microsoft Cognitive Toolkit をインストールする

スクリプト アクションを使用して Spark クラスターに Microsoft Cognitive Toolkit をインストールします。 スクリプト操作では、既定で使用できないコンポーネントをクラスターにインストールするためにカスタム スクリプトを使用します。 カスタム スクリプトは、Azure portal から使用するか、HDInsight .NET SDK または Azure PowerShell によって使用できます。 スクリプトを使用して、ツールキットのインストールをクラスター作成の一環として、またはクラスターの稼働後に実行することもできます。

この記事では、クラスターの作成後にポータルを使用してツールキットをインストールします。 カスタム スクリプトを実行する他の方法については、スクリプト アクションを使用した HDInsight クラスターのカスタマイズに関するページを参照してください。

Azure ポータルの使用

Azure portal を使用してスクリプト アクションを実行する方法については、スクリプト アクションを使用した HDInsight クラスターのカスタマイズに関するページを参照してください。 Microsoft Cognitive Toolkit をインストールするには、次の入力を行ってください。 スクリプト操作には、次の値を使用します。

プロパティ
スクリプトの種類 - Custom
Name MCT をインストールする
Bash スクリプト URI https://raw.githubusercontent.com/Azure-Samples/hdinsight-pyspark-cntk-integration/master/cntk-install.sh
ノードの種類: ヘッド、ワーカー
パラメーター なし

Jupyter Notebook を Azure HDInsight Spark クラスターにアップロードする

Azure HDInsight Spark クラスターで Microsoft Cognitive Toolkit を使用するには、Jupyter Notebook CNTK_model_scoring_on_Spark_walkthrough.ipynb を Azure HDInsight Spark クラスターに読み込む必要があります。 このノートブックは https://github.com/Azure-Samples/hdinsight-pyspark-cntk-integration の GitHub から入手できます。

  1. https://github.com/Azure-Samples/hdinsight-pyspark-cntk-integration をダウンロードして解凍します。

  2. Web ブラウザーから、https://CLUSTERNAME.azurehdinsight.net/jupyter に移動します。ここで、CLUSTERNAME はクラスターの名前です。

  3. Jupyter Notebook で、右上隅にある [アップロード] を選択し、ダウンロードに移動して CNTK_model_scoring_on_Spark_walkthrough.ipynb ファイルを選びます。

    Upload Jupyter Notebook to Azure HDInsight Spark cluster.

  4. もう一度 [アップロード] を選択します。

  5. ノートブックのアップロード後、ノートブックの名前をクリックします。データセットの読み込みとこの記事の実行方法については、ノートブック自体の指示に従います。

参照

シナリオ

アプリケーションの作成と実行

ツールと拡張機能

リソースの管理