你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

参考:Ubuntu (Linux) Data Science Virtual Machine

本文档列出了 Ubuntu 数据科学 虚拟机(DSVM)上的可用工具。

深度学习库

PyTorch

PyTorch 是一种流行的科学计算框架,支持机器学习算法。 如果计算机具有内置 GPU,则可以使用该 GPU 来加速深度学习。PyTorch 在 py38_pytorch 环境中可用。

H2O

H2O 是一种快速的内存中分布式机器学习和预测分析平台。 根环境和 py35 Anaconda 环境中都安装有 Python 包。 同时也会安装 R 包。

若要从命令行打开 H2O,请运行 java -jar /dsvm/tools/h2o/current/h2o.jar。 可以配置各种可用的命令行选项。 浏览到 Flow Web UI 以 http://localhost:54321 开始使用。 JupyterHub 提供示例笔记本。

TensorFlow

TensorFlow 是 Google 深度学习库。 它是使用数据流图进行数值计算的开源软件库。 如果计算机内置了 GPU,则可以使用该 GPU 来加速深度学习。 TensorFlow 在 py38_tensorflow conda 环境中可用。

Python

数据科学虚拟机(DSVM)具有多个预安装的 Python 环境,Python 版本 3.8 或 Python 版本 3.6。 在终端窗口中运行 conda env list 以查看已安装环境的完整列表。

Jupyter

DSVM 还附带 Jupyter、代码共享和代码分析环境。 Jupyter 以以下风格安装在 DSVM 上:

  • Jupyter Lab
  • Jupyter 笔记本
  • Jupyter 中心

若要启动 Jupyter 实验室,请从应用程序菜单中打开 Jupyter,或选择桌面图标。 还可以从命令行运行 jupyter lab 以打开 Jupyter Lab。

若要打开 Jupyter 笔记本,请打开命令行并运行 jupyter notebook

若要打开 Jupyter 中心,请在浏览器中打开 https://< VM DNS 名称或 IP 地址>:8000/ 。 必须提供本地 Linux 用户名和密码。

注意

可以忽略任何证书警告。

注意

对于 Ubuntu 映像,预配 VM 时默认打开防火墙端口 8000。

Apache Spark 独立版

Apache Spark 的独立实例预安装在 Linux DSVM 上,以帮助你在本地开发 Spark 应用程序,然后再在大型群集上测试和部署这些应用程序。

可以通过 Jupyter 内核运行 PySpark 程序。 Jupyter 启动时,选择“ 新建 ”按钮。 可用内核列表应可见。 如果选择 Spark - Python 内核,则可以使用 Python 语言生成 Spark 应用程序。 还可以使用 Python IDE ,例如 VS。代码或 PyCharm - 生成 Spark 程序。

在此独立实例中,Spark 堆栈在调用客户端程序中运行。 与 Spark 群集上的开发相比,此功能可以更快、更轻松地解决问题。

IDE 和编辑器

可以选择多个代码编辑器,包括 VS。代码、PyCharm、IntelliJ、vi/Vim 或 Emacs。

VS.Code、PyCharm 和 IntelliJ 是图形编辑器。 若要使用它们,需要登录到图形桌面。 可以使用桌面和应用程序菜单中的快捷方式打开它们。

Vim 和 Emacs 是基于文本的编辑器。 在 Emacs 上,ESS 加载项包可更轻松地在 Emacs 编辑器中使用 R。 有关详细信息,请访问 ESS 网站

数据库

图形化 SQL 客户端

图形 SQL 客户端 SQuirrel SQL 可以连接到各种数据库(例如 Microsoft SQL Server 或 MySQL),并运行 SQL 查询。 打开 SQuirrel SQL 的最快方式是从图形桌面会话中使用应用程序菜单(例如通过 X2Go 客户端来这样做)

在初始使用之前,请设置驱动程序和数据库别名。 可以在 /usr/share/java/jdbcdrivers 中找到 JDBC 驱动程序。

有关详细信息,请访问 SQuirrel SQL 资源。

用于访问 Microsoft SQL Server 的命令行工具

适用于 SQL Server 的 ODBC 驱动程序包还包括两个命令行工具:

  • bcp:bcp 工具以用户指定的格式批量复制 Microsoft SQL Server 实例和数据文件之间的数据。 可以使用 bcp 工具将大量新行导入 SQL Server 表,或者将表中的数据导出到数据文件。 要将数据导入表中,必须使用为该表创建的格式文件。 必须了解表的结构及其列有效的数据类型。

有关详细信息,请访问 连接 bcp

  • sqlcmd:可以使用 sqlcmd 工具输入 Transact-SQL 语句。 还可以在命令提示符下输入系统过程和脚本文件。 此工具使用 ODBC 运行 Transact-SQL 批处理。

    有关详细信息,请访问 sqlcmd 连接。

    注意

    此工具的 Linux 和 Windows 平台版本之间存在一些差异。 有关详细信息,请查看文档。

数据库访问库

R 和 Python 库可用于数据库访问:

  • 在 R 中,可以使用 RODBC dplyr 包在数据库服务器上查询或运行 SQL 语句
  • 在 Python 中,pyodbc 库以 ODBC 作为基础层提供数据库访问

Azure 工具

这些 Azure 工具安装在 VM 上:

  • Azure CLI:可以使用 Azure 中的命令行接口通过 shell 命令创建和管理 Azure 资源。 若要打开 Azure 工具,请输入 azure help。 有关详细信息,请访问 Azure CLI 文档页

  • Azure 存储资源管理器:Azure 存储资源管理器是一种图形工具,可用于浏览 Azure 存储帐户中存储的对象,以及向/从 Azure Blob 上传和下载数据。 可通过桌面快捷方式图标访问存储资源管理器。 如果输入 存储Explorer,也可以从 shell 提示符打开它。 必须从 X2Go 客户端登录,或设置 X11 转发。

  • Azure 库:下面是一些预安装的库:

    • Python:Python 提供 azureazuremlpydocumentdbpyodbc Azure 相关库。 使用前三个库,可以访问 Azure 存储服务、Azure 机器学习和 Azure Cosmos DB(Azure 上的 NoSQL 数据库)。 第四个库 pyodbc(以及适用于 SQL Server 的 Microsoft ODBC 驱动程序)可通过 ODBC 接口从 Python 访问 SQL Server、Azure SQL 数据库 和 Azure Synapse Analytics。 输入 pip 列表 以查看所有列出的库。 请务必在 Python 2.7 和 3.5 环境中运行此命令。
    • R:Azure 机器学习和 RODBC 是 R 中与 Azure 相关的库。
    • Java:目录 /dsvm/sdk/AzureSDKJava 具有 Azure Java 库的列表,可在 VM 上的 /dsvm/sdk/AzureSDKJava 目录中找到。 密钥库是 Azure 存储和用于 SQL Server 的管理 API、Azure Cosmos DB 和 JDBC 驱动程序。

Azure 机器学习

使用完全托管的Azure 机器学习云服务,可以生成、部署和共享预测分析解决方案。 可以在 Azure 机器学习工作室中构建试验和模型。 访问Microsoft Azure 机器学习,从数据科学虚拟机上的 Web 浏览器访问它。

登录到 Azure 机器学习工作室后,可以使用试验画布来生成机器学习算法的逻辑流。 还可以访问托管在 Azure 机器学习 上的 Jupyter 笔记本。 此笔记本可与Azure 机器学习工作室中的试验无缝配合工作。

若要操作生成的机器学习模型,请将它们包装在 Web 服务界面中。 机器学习模型操作化使以任何语言编写的客户端能够从这些模型调用预测。 有关详细信息,请访问机器学习文档

还可以在 VM 上的 R 或 Python 中生成模型,然后在 Azure 机器学习中将其部署到生产环境。 我们在 R (AzureML) 和 Python (azureml) 中安装了库,以启用此功能。

注意

我们为 数据科学 虚拟机 Windows 版本编写了这些说明。 但是,这些说明涵盖对 Linux VM 的Azure 机器学习模型部署。

机器学习工具

VM 附带预编译的机器学习工具和算法,所有预安装在本地。 这些设置包括:

  • Vowpal Wabbit:快速在线学习算法

  • xgboost:此工具提供优化的提升树算法

  • Rattle:基于 R 的图形工具,用于轻松进行数据浏览和建模

  • Python:Anaconda Python 附带机器学习算法,这些算法含有库(如 Scikit-learn)。 可以使用命令安装其他库pip install

  • LightGBM:基于决策树算法的快速分布式高性能梯度提升框架

  • R:适用于 R 的机器学习函数丰富库。预安装的库包括 lm、glm、randomForest 和 rpart。 可以使用以下命令安装其他库:

    install.packages(<lib name>)
    

下面是有关列表中的前三个机器学习工具的详细信息。

Vowpal Wabbit

Vowpal Wabbit 是机器学习系统使用的

  • active
  • allreduce
  • 哈希
  • 交互式学习
  • learning2search
  • online
  • 减少

技术。

使用以下命令在基本示例上运行该工具:

cp -r /dsvm/tools/VowpalWabbit/demo vwdemo
cd vwdemo
vw house_dataset

该目录提供其他更大的演示。 有关 Vowpal Wabbit 的详细信息,请访问 GitHub 和 Vowpal Wabbit wiki 的此部分。

xgboost

xgboost 库是为提升(树)算法设计和优化的库。 xgboost 库将计算机的计算限制推送到准确、可移植和可缩放的大型树提升所需的极端限制。

xgboost 库作为命令行资源和 R 库提供。 若要在 R 中使用此库,可以在 shell 中输入 R 以启动交互式 R 会话并加载库。

此简单示例演示如何在 R 提示符中运行 xgboost:

library(xgboost)

data(agaricus.train, package='xgboost')
data(agaricus.test, package='xgboost')
train <- agaricus.train
test <- agaricus.test
bst <- xgboost(data = train$data, label = train$label, max.depth = 2,
                eta = 1, nthread = 2, nround = 2, objective = "binary:logistic")
pred <- predict(bst, test$data)

若要运行 xgboost 命令行,请在 shell 中运行以下命令:

cp -r /dsvm/tools/xgboost/demo/binary_classification/ xgboostdemo
cd xgboostdemo
xgboost mushroom.conf

有关 xgboost 的详细信息,请访问 xgboost 文档页 及其 GitHub 存储库

Rattle

Rattle (RAnalytical Tool To Learn Easily) 使用基于 GUI 的数据浏览和建模。 它

  • 呈现数据的统计和视觉摘要
  • 转换可以轻松建模的数据
  • 从数据生成无监督模型和监督模型
  • 以图形方式呈现模型的性能
  • 为新数据集评分

它还生成 R 代码,该代码在 UI 中副本 (replica) Rattle 操作。 可以直接在 R 中运行该代码,也可以将其用作进一步分析的起点。

若要运行 Rattle,需要在图形桌面登录会话中运行。 在终端中输入 R 打开 R 环境。 在 R 提示符下,输入以下命令:

library(rattle)
rattle()

一个图形界面,其中包含一组选项卡,然后打开。 Rattle 中的这些快速入门步骤使用示例天气数据集来生成模型。 在一些步骤中,你会收到自动安装和加载特定所需 R 包的提示,这些包尚未在系统上。

注意

如果你无权在系统目录中安装包(默认值),你可能会注意到 R 控制台窗口中的提示将包安装到个人库。 如果遇到这些提示,请回答 y

  1. 选择“执行”
  2. 此时会显示一个对话框,询问是否要使用示例天气数据集。 选择“是加载示例
  3. 选择“模型”选项卡
  4. 选择“执行以生成决策树
  5. 选择“绘图以显示决策树
  6. 选择“”选项,然后选择“执行以生成随机林
  7. 选择“评估”选项卡
  8. 选择“风险”选项,然后选择“执行以显示两个风险(累积)性能图
  9. 选择 “日志 ”选项卡以显示前面操作生成的 R 代码
    • 由于 Rattle 当前版本中的 bug,必须在日志文本中插入#此日志前面的字符
  10. 选择“ 导出 ”按钮以保存名为 weather_script的 R 脚本文件。R,指向主文件夹

可以退出 Rattle 和 R。现在,可以修改生成的 R 脚本。 还可以按原样使用脚本,并随时运行它以重复 Rattle UI 中完成的所有操作。 对于 R 初学者尤其如此,这适合在简单的图形界面中快速分析和机器学习,同时在 R 中自动生成代码进行修改或学习。

后续步骤

有关更多问题,请考虑创建 支持票证