Postup testování

Testy jednotek a kompletní testy poskytované ve složce \Testy se spouští jako součást pracovního postupu vracení se změnami na buildovém serveru na platformě Windows a Linuxu. Testy pro vaši platformu můžete spustit místně, abyste ověřili, že změny kódu neporušily žádný test.

Testování částí

Test jednotek se v současné době podporuje jenom (a kontroluje) pro sestavení GPU.

V systému Windows

Ujistěte se, že jste pro Visual Studio nastavili knihovny Boost a proměnné prostředí a také spouštěč testů Boost. Pokyny najdete tady.

Restartujte Visual Studio a přejděte do nabídky Test –> Test Nastavení. Výchozí architektura procesoru je nastavená na x64 a zrušte zaškrtnutí políčka Zachovat spuštěný modul spouštění testů. V okně Průzkumníka testů vyberte Seskupit podle vlastností (vedle vyhledávacího pole). Po opětovném sestavení by se měly v Průzkumníku testů zobrazit všechny testy jednotek. Pomocí místní nabídky můžete spustit a ladit.

V Linuxu

Nejprve je potřeba nainstalovat knihovny Boost. Pokyny najdete tady.

Pak můžete sestavit binární soubory testů jednotek stejným způsobem jako binární CNTK, jak je uvedeno tady. Binární soubory se vytvoří ve stejné složce jako binární CNTK. Aktuálně jsou k dispozici následující testy jednotek:

  • mathtests – testy jednotek pro matematické operace
  • readertests –- testy jednotek pro čtenáře
  • networktests – testy jednotek pro síťové operace
  • brainscripttests -- testy jednotek pro brainscript
  • evaltesty – testy jednotek pro Eval

Každý test jednotek můžete spustit spuštěním odpovídajícího binárního souboru. K řízení spouštění testů a výstupu testu můžete použít také parametry příkazového řádku popsané rozhraním Boost Unit Test Framework .

Kompletní testy

CNTK kompletní testy lze spustit v Linuxu a Windows pomocí skriptu Pythonu "TestDriver.py" umístěného v \Tests\EndToEndTests. Alternativně je možné je spustit a ladit z Visual Studio. V následujících podrobnostech:

  • Jak používat skript TestDriver.py.
  • Požadavky na použití TestDriver.py na Windows.
  • Jak spustit a ladit kompletní testy ze sady Visual Studio

Jak používat skript TestDriver.py.

Spusťte prostředí (prostředí CygWin Bash pod Windows) a změňte adresář na složku Tests\EndToEndTests místního úložiště CNTK (poznámka: c:\src\CNTK v CygWin je /cygdrive/c/src/CNTK/). Začněte jedním z následujících příkazů, abyste se dozvěděli o využití a možnostech TestDriveru:

python TestDriver.py -h

python TestDriver.py run -h

python TestDriver.py list -h

Zobrazení seznamu všech dostupných kompletních testů

python TestDriver.py list

Spuštění jednoho testu, například Image/QuickE2E, spusťte

python TestDriver.py run Image/QuickE2E

Můžete přidat například "-d gpu", aby se test spustil pouze pomocí GPU nebo ladění -f, aby se test spustil pouze pomocí sestavení ladění. Podívejte se python TestDriver.py run -h na všechny možnosti.

Spuštění všech testů z nočních sestavení

python TestDriver.py run -t nightly

Požadavky na použití TestDriver.py na Windows.

  1. Tady nainstalujte Anaconda Python 2.7 (ne 3.5), https://www.continuum.io/downloads který obsahuje většinu oblíbených balíčků Pythonu. Případně nainstalujte Python 2.7 https://www.python.org/downloads/ a podle výzvy nainstalujte požadované další balíčky.

  2. Nainstalujte CygWin z http://cygwin.com/install.html nabídky Během instalace vyberte Instalovat z internetu (výchozí výběr). DŮLEŽITÉ: Na obrazovce Vybrat balíčky zadejte "yaml" do vyhledávacího pole a rozbalte oddíl Pythonu. Vyberte python2-yaml: Python Lib YAML vazby (NE Python3-yaml). Podobně do vyhledávacího pole zadejte python2-setuptools, rozbalte oddíl Pythonu a vyberte python2-setuptools pro instalaci. Pak dokončete instalaci.

  3. Ujistěte se, že máte nainstalovaný Microsoft MPI (měla by existovat proměnná prostředí s názvem MSMPI_BIN. Pro to musíte stáhnout a spustit exe a ne msi)

  4. Spusťte prostředí Cygwin Bash.

  5. Spusťte "easy_install-2.7 pip"

  6. Spusťte "pip install six" (Pip install six)

Poznámka: Některé testy vyžadují proměnnou prostředí s názvem CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY odkazující na umístění dat. Pokud externí data nejsou dostupná, tyto testy se přeskočí.

Spuštění a ladění kompletních testů z Visual Studio

Argumenty příkazu Visual Studio ladění můžete vygenerovat pomocí -n možností na TestDriveru pro konkrétní kompletní test:

python TestDriver.py run -n Image/QuickE2E

Ve výstupu výše uvedeného příkazu jednoduše zkopírujete příkaz ladění VS do argumentů příkazu CNTK projektu v Visual Studio (klikněte pravým tlačítkem na CNTK projekt –> Vlastnosti – Vlastnosti konfigurace –>> Ladění –> Argumenty příkazu). Spusťte ladění projektu CNTK.