将 Microsoft 认知工具包深入学习模型与 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 笔记本。 在本文中,完成以下步骤:

  • 在 HDInsight Spark 群集上运行脚本操作,安装 Microsoft 认知工具包和 Python 包。
  • 将运行解决方案的 Jupyter 笔记本上传到 HDInsight Spark 群集中。

以下其余步骤涵盖在 Jupyter 笔记本中。

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

安装 Microsoft 认知工具包

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

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

使用 Azure 门户

有关如何使用 Azure 门户运行脚本操作的说明,请参阅使用脚本操作自定义 HDInsight 群集。 确保提供以下输入,以便安装 Microsoft 认知工具包。

  • 提供脚本操作名称的值。

  • 对于 Bash 脚本 URI,输入 https://raw.githubusercontent.com/Azure-Samples/hdinsight-pyspark-cntk-integration/master/cntk-install.sh

  • 请确保仅在头节点和工作节点上运行脚本并清除其他所有复选框。

  • 单击创建

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

要将 Microsoft 认知工具包与 Azure HDInsight Spark 群集配合使用,必须将 Jupyter 笔记本 CNTK_model_scoring_on_Spark_walkthrough.ipynb 加载到 Azure HDInsight Spark 群集中。 GitHub https://github.com/Azure-Samples/hdinsight-pyspark-cntk-integration 中提供了此笔记本。

  1. 克隆 GitHub 存储库 https://github.com/Azure-Samples/hdinsight-pyspark-cntk-integration。 有关克隆的说明,请参阅 Cloning a repository(克隆存储库)。

  2. 从 Azure 门户中,打开已预配的“Spark 群集”边栏选项卡,依次单击“群集仪表板”和“Jupyter notebook”。

    也可以通过转到 URL https://<clustername>.azurehdinsight.cn/jupyter/ 来启动 Jupyter 笔记本。 将 <clustername> 替换为 HDInsight 群集名。

  3. 从 Jupyter 笔记本中,单击右上角的“上传”,并导航至克隆 GitHub 存储库的位置。

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

  4. 再次单击“上传”。

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

另请参阅

方案

创建和运行应用程序

工具和扩展

管理资源