Aracılığıyla paylaş


Test etme

\Tests klasöründe sağlanan birim testleri ve uçtan uca testler, Windows ve Linux platformlarındaki derleme sunucusundaki iade iş akışının bir parçası olarak çalıştırılır. Kod değişikliklerinizin testi bozmadığını doğrulamak için platformunuzun testlerini yerel olarak çalıştırabilirsiniz.

Birim testleri

Birim testi şu anda yalnızca GPU derlemeleri için desteklenmektedir (ve denetlenmektedir).

Windows üzerinde

Visual Studio için Boost kitaplıklarını ve ortam değişkenlerini ve Boost test çalıştırıcısını ayarladığınızdan emin olun. Yönergeler için buraya bakın.

Visual Studio yeniden başlatın ve 'Test --> Test Ayarlar' menüsüne gidin. Varsayılan işlemci mimarisini x64 olarak ayarlayın ve 'Test Yürütme Altyapısını Çalışır Durumda Tut' seçeneğinin işaretini kaldırın. Test Gezgini penceresinde Özelliklere Göre Gruplandır'ı seçin (arama alanının yanında). Yeniden derlemeden sonra Tüm birim testlerini Test Gezgini'nde görmeniz gerekir. Bağlam menüsünü kullanarak komutunu çalıştırabilir ve hata ayıklayabilirsiniz.

Linux'ta

İlk olarak Boost kitaplıklarını yüklemeniz gerekir. Yönergeler için buraya bakın.

Ardından, burada belirtildiği gibi birim testi ikili dosyalarını CNTK ikili dosyayla aynı şekilde oluşturabilirsiniz. İkili dosyalar, CNTK ikili dosyasıyla aynı klasörde oluşturulur. Şu anda aşağıdaki birim testleri kullanılabilir:

  • mathtests -- matematik işlemleri için birim testleri
  • readertests -- okuyucular için birim testleri
  • networktests -- ağ işlemleri için birim testleri
  • brainscripttests -- brainscript için birim testleri
  • evaltests -- Eval için birim testleri

Karşılık gelen ikili dosyayı çalıştırarak her birim testini başlatabilirsiniz. Çalışan testleri ve test çıkışını denetlemek için Boost Unit Test Framework tarafından açıklanan komut satırı parametrelerini de kullanabilirsiniz.

Uçtan uca testler

CNTK uçtan uca testler Linux üzerinde çalıştırılabilir ve \Tests\EndToEndTests içinde bulunan Python betiği 'TestDriver.py' kullanılarak Windows. Alternatif olarak, Visual Studio'dan çalıştırılabilir ve hata ayıklanabilirler. Aşağıda ayrıntılı bir şekilde anlatacağız:

  • TestDriver.py betiğini kullanma.
  • Windows TestDriver.py kullanmak için önkoşullar.
  • Visual Studio'dan uçtan uca testleri çalıştırma ve hatalarını ayıklama.

TestDriver.py betiğini kullanma.

Bir kabuk başlatın (Windows altında CygWin Bash kabuğu) ve dizini yerel CNTK deponuzun Tests\EndToEndTests klasörüne değiştirin (not: CygWin'de c:\src\CNTK /cygdrive/c/src/CNTK/). TestDriver'ın kullanımını ve seçeneklerini öğrenmek için aşağıdaki komutlardan biriyle başlayın:

python TestDriver.py -h

python TestDriver.py run -h

python TestDriver.py list -h

Kullanılabilir tüm uçtan uca testleri listelemek için çalıştırma

python TestDriver.py list

Görüntü/QuickE2E gibi tek bir test çalıştırmak için

python TestDriver.py run Image/QuickE2E

Testi yalnızca GPU kullanarak çalıştırmak için '-d gpu' veya yalnızca hata ayıklama derlemesini kullanarak testi çalıştırmak için '-f debug' ekleyebilirsiniz. Tüm seçenekler için bkz python TestDriver.py run -h .

Her gece yapılan derlemelerden tüm testleri çalıştırmak için yürüt

python TestDriver.py run -t nightly

Windows TestDriver.py kullanmak için önkoşullar.

  1. Anaconda Python 2.7'yi (3.5 değil) buradan yükleyin: https://www.continuum.io/downloads popüler Python paketlerinin çoğunu içerir. Alternatif olarak Python 2.7'yi https://www.python.org/downloads/ yükleyin ve istendiği gibi gerekli ek paketleri yükleyin.

  2. Yükleme sırasında "İnternet'ten http://cygwin.com/install.html yükle" (varsayılan seçim) seçeneğini belirleyerek CygWin'i yükleyin. ÖNEMLİ: Paketleri Seç ekranında arama alanına "yaml" yazın ve Python bölümünü genişletin. "python2-yaml: Python Lib YAML bağlamaları" ("python3-yaml" DEĞIL) seçeneğini belirleyin. Benzer şekilde, arama alanına "python2-setuptools" yazın, Python bölümünü genişletin ve yükleme için "python2-setuptools" öğesini seçin. Ardından yüklemeyi tamamlayın.

  3. Microsoft MPI'nin yüklü olduğundan emin olun (MSMPI_BIN adlı bir ortam değişkeni olmalıdır. Bunun için msi'yi değil exe dosyasını indirip çalıştırmanız gerekir)

  4. Bir Cygwin Bash kabuğu başlatın.

  5. "easy_install-2.7 pip" komutunu çalıştırın

  6. "pip install six" komutunu çalıştırın

Not: Bazı testler, verilerin bulunduğu yere işaret eden CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY adlı bir ortam değişkeni gerektirir. Dış veriler kullanılamıyorsa bu testler atlanır.

Visual Studio uçtan uca testleri çalıştırma ve hatalarını ayıklama.

Belirli bir uçtan uca test için TestDriver'da bulunan -n seçenekleri kullanarak Visual Studio hata ayıklama komut bağımsız değişkenlerini oluşturabilirsiniz:

python TestDriver.py run -n Image/QuickE2E

Yukarıdaki komutun çıktısından , 'VS hata ayıklama komutu birleştirmelerini' Visual Studio'daki CNTK projesinin komut bağımsız değişkenlerine kopyalamanız yeterlidir (CNTK projeye sağ tıklayın - Özellikler ->> Yapılandırma Özellikleri - Hata Ayıklama ->> Komut Bağımsız Değişkenleri). CNTK projesinde hata ayıklamaya başlayın.