Следующий код:
class BoxListOpsTest(unittest.TestCase):
"""Tests for common bounding box operations."""
def test_area(self):
corners = tf.constant([[0.0, 0.0, 10.0, 20.0], [1.0, 2.0, 3.0, 4.0]])
exp_output = [200.0, 4.0]
boxes = box_list.BoxList(corners)
areas = box_list_ops.area(boxes)
with tf.Session() as sess:
areas_output = sess.run(areas)
np.testing.assert_allclose(areas_output, exp_output)
if __name__ == '__main__':
unittest.main()
Интерпретируется как контрольный пример с одним тестом:
.
----------------------------------------------------------------------
Ran 1 test in 0.471s
OK
Однако при переключении на tf.test.TestCase
:
class BoxListOpsTest(tf.test.TestCase):
"""Tests for common bounding box operations."""
def test_area(self):
corners = tf.constant([[0.0, 0.0, 10.0, 20.0], [1.0, 2.0, 3.0, 4.0]])
exp_output = [200.0, 4.0]
boxes = box_list.BoxList(corners)
areas = box_list_ops.area(boxes)
# with self.session() as sess:
with tf.Session() as sess:
areas_output = sess.run(areas)
np.testing.assert_allclose(areas_output, exp_output)
if __name__ == '__main__':
tf.test.main()
вводит какой-то второй тест, который пропускается:
.s
----------------------------------------------------------------------
Ran 2 tests in 0.524s
OK (skipped=1)
Каково происхождение второго теста и стоит ли беспокоиться об этом?
Я использую TensorFlow 1.13.