将 Azure Cognitive Toolkit 深度学习模型与 Azure HDInsight Spark 群集配合使用

在本文中,将执行以下步骤。

  1. 运行自定义脚本,以在 Azure HDInsight Spark 群集上安装 Microsoft Cognitive Toolkit

  2. Jupyter Notebook 上传到 Apache Spark 群集,以了解如何使用 Spark Python API (PySpark) 将定型的 Microsoft Cognitive Toolkit 深度学习模型应用于 Azure Blob 存储帐户中的文件

必备条件

此解决方案的流程如何?

此解决方案分为两部分,即本文和在本文中上传的 Jupyter Notebook。 在本文中,完成以下步骤:

  • 在 HDInsight Spark 群集上运行脚本操作,以安装 Azure Cognitive Toolkit 和 Python 包。
  • 将运行解决方案的 Jupyter Notebook 上传到 HDInsight Spark 群集中。

以下其余步骤涵盖在 Jupyter Notebook 中。

  • 将示例图像加载到 Spark 弹性分布式数据集或 RDD 中。
    • 加载模块并定义预设。
    • 将数据集下载到本地 Spark 群集上。
    • 将数据集格式转换为 RDD。
  • 使用定型的 Cognitive Toolkit 模型对图像评分。
    • 将定型的 Cognitive Toolkit 模型下载到 Spark 群集。
    • 定义由辅助角色节点使用的函数。
    • 对辅助角色节点上的图像评分。
    • 评估模型准确性。

安装 Azure Cognitive Toolkit

可以使用脚本操作在 Spark 群集上安装 Azure Cognitive Toolkit。 脚本操作使用自定义脚本在群集上安装默认情况下未提供的组件。 可以从 Azure 门户、通过使用 HDInsight .NET SDK 或 Azure PowerShell,来使用自定义脚本。 还可以在创建群集过程中或者在群集已启动并运行之后使用脚本安装工具包。

在本文中,我们在群集创建完成后使用门户安装该工具包。 有关运行自定义脚本的其他方式,请参阅使用脚本操作自定义 HDInsight 群集

使用 Azure 门户

有关如何使用 Azure 门户运行脚本操作的说明,请参阅使用脚本操作自定义 HDInsight 群集。 确保提供以下输入,以便安装 Azure Cognitive Toolkit。 对于脚本操作,请使用以下值:

properties Value
脚本类型 - Custom
名称 安装 MCT
Bash 脚本 URI https://raw.githubusercontent.com/Azure-Samples/hdinsight-pyspark-cntk-integration/master/cntk-install.sh
节点类型: 头节点、工作器节点
parameters

将 Jupyter Notebook 上传到 Azure HDInsight Spark 群集

要将 Azure Cognitive Toolkit 与 Azure HDInsight Spark 群集配合使用,必须将 Jupyter Notebook CNTK_model_scoring_on_Spark_walkthrough.ipynb 加载到 Azure HDInsight Spark 群集中。 GitHub 上的 https://github.com/Azure-Samples/hdinsight-pyspark-cntk-integration 位置提供了此 Notebook。

  1. 下载并解压缩 https://github.com/Azure-Samples/hdinsight-pyspark-cntk-integration

  2. 在 Web 浏览器中,导航到 https://CLUSTERNAME.azurehdinsight.cn/jupyter,其中 CLUSTERNAME 是群集的名称。

  3. 在 Jupyter Notebook 中,选择右上角的“上传”,然后导航到“下载”并选择文件 CNTK_model_scoring_on_Spark_walkthrough.ipynb

    将 Jupyter 笔记本上传到 Azure HDInsight Spark 群集。

  4. 再次选择“上传” 。

  5. 笔记本上传后,单击笔记本的名称,并按照笔记本本身中有关如何加载数据集和执行本文的说明进行操作。

另请参阅

方案

创建和运行应用程序

工具和扩展

管理资源