你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何测试
\Tests 文件夹中提供的单元测试和端到端测试在 Windows 和 Linux 平台上的生成服务器上作为签入工作流的一部分运行。 可以在本地运行平台的测试,以验证代码更改是否未中断任何测试。
单元测试
目前仅支持单元测试 (,并检查了 GPU 版本的) 。
在 Windows 上
请确保为Visual Studio设置 Boost 库和环境变量以及 Boost 测试运行程序。 有关说明,请参阅 此处。
重启Visual Studio并转到“测试 --> 测试设置”菜单。 将默认处理器体系结构设置为 x64,然后取消选中“保持测试执行引擎运行”选项。 在“测试资源管理器”窗口中,选择搜索字段) 旁边的“按特征分组” (。 重新生成后,应在测试资源管理器中看到所有单元测试。 可以使用上下文菜单运行和调试。
在 Linux 上
首先需要安装 Boost 库。 有关说明,请参阅 此处。
然后,可以像此处指定的CNTK二进制文件一样生成单元测试二进制文件。 二进制文件在CNTK二进制文件所在的文件夹中创建。 目前提供以下单元测试:
- mathtests -- 数学运算的单元测试
- readertests -- 读取器的单元测试
- networktests -- 网络操作的单元测试
- brainscripttests -- brainscript 的单元测试
- evaltests -- Eval 的单元测试
可以通过运行相应的二进制文件来启动每个单元测试。 还可以使用 Boost Unit Test Framework 描述的命令行参数来控制运行测试和测试输出。
端到端测试
可以在 Linux 上运行CNTK端到端测试,并使用位于 \Tests\EndToEndTests 中的 Python 脚本“TestDriver.py”Windows。 或者,可以从Visual Studio运行和调试它们。 下面详细介绍了以下内容:
- 如何使用 TestDriver.py 脚本。
- 在Windows上使用 TestDriver.py 的先决条件。
- 如何从 Visual Studio 运行和调试端到端测试。
如何使用 TestDriver.py 脚本。
"开始"菜单 Windows) 下的 shell (CygWin Bash shell,并将目录更改为本地CNTK存储库的 Tests\EndToEndTests 文件夹, (注意:CygWin 中的 c:\src\CNTK 为 /cygdrive/c/src/CNTK/) 。 使用以下命令之一"开始"菜单,了解 TestDriver 的用法和选项:
python TestDriver.py -h
python TestDriver.py run -h
python TestDriver.py list -h
列出所有可用的端到端测试运行
python TestDriver.py list
若要运行单个测试,例如 Image/QuickE2E,请执行
python TestDriver.py run Image/QuickE2E
可以添加例如“-d gpu”,以仅使用 GPU 或“-f 调试”运行测试,以仅使用调试生成运行测试。 请参阅 python TestDriver.py run -h
所有选项。
运行夜间生成执行的所有测试
python TestDriver.py run -t nightly
在Windows上使用 TestDriver.py 的先决条件。
从此处安装 Anaconda Python 2.7 (不是 3.5) : https://www.continuum.io/downloads 其中包含最常用的 Python 包。 或者,按照提示安装 Python 2.7 https://www.python.org/downloads/ 并安装所需的其他包。
从 http://cygwin.com/install.html 安装过程中安装 CygWin 选择“从 Internet 安装” (默认选择) 。 重要说明:在搜索字段中的“选择包”屏幕类型“yaml”,然后展开 Python 部分。 选择“python2-yaml:Python Lib YAML 绑定” (“python3-yaml”) 。 同样,在搜索字段中键入“python2-setuptools”,展开 Python 部分,然后选择“python2-setuptools”进行安装。 然后完成安装。
请确保已安装 Microsoft MPI (应有一个名为MSMPI_BIN的环境变量。为此,需要下载并运行 exe ,而不是 msi)
启动 Cygwin Bash shell。
运行“easy_install-2.7 pip”
运行“pip install six”
注意:某些测试需要一个名为CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY指向数据所在的环境变量。 如果外部数据不可用,将跳过这些测试。
如何从Visual Studio运行和调试端到端测试。
可以使用 TestDriver 上的选项为特定的端到端测试生成Visual Studio调试命令参数-n
:
python TestDriver.py run -n Image/QuickE2E
从上述命令的输出中,只需将“VS 调试命令参数”复制到Visual Studio (中CNTK项目的命令参数,右键单击CNTK项目 - 属性> - 配置属性> -> 调试 -> 命令参数) 。 "开始"菜单调试CNTK项目。