2017-04-09 1 views
0

Ich führe den Tensorflow Unit Test, aber ich weiß nicht die Bedeutung von '2' in der Ausgabe des Tests. Die Ausgabe ist "lief 2 Tests in 0.016s".Was bedeutet "2" in "Ran 2 Tests in 0,016s"?

import tensorflow as tf 

class SquareTest(tf.test.TestCase): 

    def testSquare(self): 
    with self.test_session(): 
     x = tf.square([2, 3]) 
     self.assertAllEqual(x.eval(), [4, 9]) 

if __name__ == '__main__': 
    tf.test.main() 
+0

Wird Ihre Frage angesprochen? Wenn ja, können Sie zukünftigen Benutzern helfen, indem Sie das Kontrollkästchen neben der richtigen Antwort markieren. Wenn nicht, was kann geklärt werden? –

Antwort

0

Die Klasse SquareTest und die Funktion testSquare zählen als separate Tests. Überzeugen Sie sich selbst:

import tensorflow as tf 

class SquareTest(tf.test.TestCase): 
    pass 
if __name__ == '__main__': 
    tf.test.main() 
# Ran 1 test in 0.000s 
0

aryamccarthy's answer auf dem richtigen Weg ist, aber es bleibt die Frage „Warum hat die Klasse SquareTest Zahl als Test?“

Die echte Antwort ist ein bisschen albern. Die Klasse tf.test.TestCase enthält eine Methode namens test_session(), die zum Erstellen einer tf.Session mit Parametern verwendet wird, die die Konfiguration eines bestimmten Geräts zum Testen etwas erleichtern. Pythons unittest.TestCase definiert alle Methoden, deren Namen mit den Buchstaben test als Testfälle beginnen. Daher enthalten alle Nachkommen von tf.test.TestCase einen "Phantom" -Test, der test_session() genannt wird.