Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De eenheidstests en end-to-end tests in de map \Tests worden uitgevoerd als onderdeel van de incheckwerkstroom op de buildserver op de Windows- en Linux-platformen. U kunt de tests voor uw platform lokaal uitvoeren om te controleren of uw codewijzigingen geen test hebben verbroken.
Eenheidstests
Eenheidstest wordt momenteel alleen ondersteund (en gecontroleerd) voor GPU-builds.
In Windows
Zorg ervoor dat u de Boost-bibliotheken en omgevingsvariabelen instelt, evenals de Boost-testrunner voor Visual Studio. Zie hier voor instructies.
Start Visual Studio opnieuw en ga naar het menu Test --> Test Instellingen. Daar stelt u de standaardprocessorarchitectuur in op x64 en schakelt u de optie Testuitvoeringsengine actief houden uit. Selecteer in het venster TestVerkenner Groeperen op eigenschappen (naast het zoekveld). Na een herbouwing ziet u alle eenheidstests in Test Explorer. U kunt uitvoeren en fouten opsporen met behulp van het contextmenu.
Op Linux
Eerst moet u de Boost-bibliotheken installeren. Zie hier voor instructies.
Vervolgens kunt u binaire eenheidstests op dezelfde manier bouwen als de CNTK binair bestand, zoals hier is opgegeven. De binaire bestanden worden gemaakt in dezelfde map als de CNTK binair bestand. De volgende eenheidstests zijn momenteel beschikbaar:
- mathtests -- eenheidstests voor wiskundige bewerkingen
- readertests -- eenheidstests voor lezers
- netwerktests -- eenheidstests voor netwerkbewerkingen
- brainscripttests -- eenheidstests voor brainscript
- evaltests -- eenheidstests voor Eval
U kunt elke eenheidstest starten door het bijbehorende binaire bestand uit te voeren. U kunt ook opdrachtregelparameters gebruiken die worden beschreven door Boost Unit Test Framework om het uitvoeren van tests en testuitvoer te beheren.
End-to-end-tests
De CNTK end-to-end-tests kunnen worden uitgevoerd op Linux en Windows met behulp van het Python script 'TestDriver.py' in \Tests\EndToEndTests. U kunt ze ook uitvoeren en fouten opsporen vanuit Visual Studio. In het volgende detail wordt het volgende beschreven:
- Het TestDriver.py-script gebruiken.
- Vereisten voor het gebruik van TestDriver.py op Windows.
- End-to-end-tests uitvoeren en fouten opsporen vanuit Visual Studio.
Het TestDriver.py-script gebruiken.
Startmenu een shell (CygWin Bash-shell onder Windows) en wijzig de map in de map Tests\EndToEndTests van uw lokale CNTK opslagplaats (opmerking: c:\src\CNTK in CygWin is /cygdrive/c/src/CNTK/). Startmenu met een van de volgende opdrachten om het gebruik en de opties van de TestDriver te leren:
python TestDriver.py -h
python TestDriver.py run -h
python TestDriver.py list -h
Uitvoeren van alle beschikbare end-to-end-tests
python TestDriver.py list
Als u één test wilt uitvoeren, bijvoorbeeld Image/QuickE2E, voert u
python TestDriver.py run Image/QuickE2E
U kunt bijvoorbeeld '-d gpu' toevoegen om alleen de test uit te voeren met behulp van een GPU of '-f-debug' om de test alleen uit te voeren met behulp van de build voor foutopsporing. Zie python TestDriver.py run -h voor alle opties.
Als u alle tests van de nacht-builds wilt uitvoeren, voert u
python TestDriver.py run -t nightly
Vereisten voor het gebruik van TestDriver.py op Windows.
Installeer Anaconda Python 2.7 (niet 3.5) van hieruit: https://www.continuum.io/downloads die het meeste van de populaire Python pakketten bevat. U kunt ook Python 2.7 https://www.python.org/downloads/ installeren en de vereiste aanvullende pakketten installeren zoals hierom wordt gevraagd.
Installeer CygWin van http://cygwin.com/install.html Tijdens de installatie selecteer 'Installeren vanaf internet' (standaardselectie). BELANGRIJK: Typ 'yaml' in het zoekveld bij Select Packages en vouw de sectie Python uit. Selecteer 'python2-yaml: Python Lib YAML-bindingen' (NIET 'python3-yaml'). Typ op dezelfde manier 'python2-setuptools' in het zoekveld, vouw de sectie Python uit en selecteer 'python2-setuptools' voor installatie. Voltooi de installatie.
Zorg ervoor dat Microsoft MPI is geïnstalleerd (er moet een omgevingsvariabele met de naam MSMPI_BIN zijn. Hiervoor moet u de exe downloaden en uitvoeren en niet de msi)
Start een Cygwin Bash-shell.
Voer 'easy_install-2.7 pip' uit
'pip install six' uitvoeren
Opmerking: Voor sommige tests is een omgevingsvariabele met de naam CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY die verwijst naar waar de gegevens zich bevinden. Als de externe gegevens niet beschikbaar zijn, worden deze tests overgeslagen.
End-to-end-tests uitvoeren en fouten opsporen vanuit Visual Studio.
U kunt de Visual Studio opdrachtargumenten voor foutopsporing genereren met behulp van de -n opties in De TestDriver voor een specifieke end-to-end-test:
python TestDriver.py run -n Image/QuickE2E
In de uitvoer van de bovenstaande opdracht kopieert u de opdracht VS foutopsporing args naar de opdrachtargumenten van het CNTK project in Visual Studio (klik met de rechtermuisknop op CNTK project -> Eigenschappen -> Configuratie-eigenschappen -> Foutopsporing -> Opdrachtargumenten). Startmenu foutopsporing in het CNTK project.