将 Microsoft 认知工具包深入学习模型与 Azure HDInsight Spark 群集配合使用
本文涉及以下步骤。
运行自定义脚本,以在 Azure HDInsight Spark 群集上安装 Microsoft Cognitive Toolkit。
将 Jupyter Notebook 上传到 Apache Spark 群集,以了解如何使用 Spark Python API (PySpark) 将定型的 Microsoft Cognitive Toolkit 深度学习模型应用于 Azure Blob 存储帐户中的文件
先决条件
一个 Azure 订阅。 在开始学习本教程之前,必须有一个 Azure 订阅。 请参阅立即创建 Azure 试用帐户。
Azure HDInsight Spark 群集。 在本文中,创建 Spark 2.0 群集。 有关说明,请参阅在 Azure HDInsight 中创建 Apache Spark 群集。
此解决方案的流程如何?
此解决方案分为两部分,即本文和作为本教程的一部分上传的 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 中提供了此笔记本。
克隆 GitHub 存储库 https://github.com/Azure-Samples/hdinsight-pyspark-cntk-integration。 有关克隆的说明,请参阅 Cloning a repository(克隆存储库)。
从 Azure 门户中,打开已预配的“Spark 群集”边栏选项卡,依次单击“群集仪表板”和“Jupyter notebook”。
也可以通过转到 URL
https://<clustername>.azurehdinsight.cn/jupyter/
来启动 Jupyter 笔记本。 将 <clustername> 替换为 HDInsight 群集名。从 Jupyter 笔记本中,单击右上角的“上传”,并导航至克隆 GitHub 存储库的位置。
再次单击“上传”。
笔记本上传后,单击笔记本的名称,并按照笔记本中有关如何加载数据集和执行教程的说明进行操作。
另请参阅
方案
- Apache Spark 与 BI:将 HDInsight 中的 Spark 与 BI 工具配合使用来执行交互式数据分析
- Apache Spark 与机器学习:使用 HDInsight 中的 Spark 来通过 HVAC 数据分析建筑物温度
- Apache Spark 与机器学习:使用 HDInsight 中的 Spark 预测食品检验结果
- 使用 HDInsight 中的 Apache Spark 分析网站日志
创建和运行应用程序
工具和扩展
- 使用适用于 IntelliJ IDEA 的 HDInsight 工具插件创建和提交 Spark Scala 应用程序
- 使用适用于 IntelliJ IDEA 的 HDInsight 工具插件远程调试 Apache Spark 应用程序
- 在 HDInsight 上的 Apache Spark 群集中使用 Apache Zeppelin 笔记本
- 在 HDInsight 的 Apache Spark 群集中可用于 Jupyter Notebook 的内核
- Use external packages with Jupyter notebooks(将外部包与 Jupyter 笔记本配合使用)
- Install Jupyter on your computer and connect to an HDInsight Spark cluster(在计算机上安装 Jupyter 并连接到 HDInsight Spark 群集)