use torch.testing.assertclose instead to get more details about error in cis (#35659)
* use torch.testing.assertclose instead to get more details about error in cis * fix * style * test_all * revert for I bert * fixes and updates * more image processing fixes * more image processors * fix mamba and co * style * less strick * ok I won't be strict * skip and be done * up
This commit is contained in:
@@ -701,8 +701,8 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
[[[0.2550, 0.5501, 0.4738, 0.8745], [0.7695, 0.4121, 0.4603, 0.7244], [0.7691, 0.4117, 0.4603, 0.7214]]]
|
||||
).to(torch_device)
|
||||
|
||||
self.assertTrue(torch.allclose(outputs.decoder_class_logits[:3, :3], expected_class_logits, atol=1e-1))
|
||||
self.assertTrue(torch.allclose(outputs.decoder_coord_logits[:3, :3], expected_coord_logits, atol=1e-3))
|
||||
torch.testing.assert_close(outputs.decoder_class_logits[:3, :3], expected_class_logits, rtol=1e-1, atol=1e-1)
|
||||
torch.testing.assert_close(outputs.decoder_coord_logits[:3, :3], expected_coord_logits, rtol=1e-3, atol=1e-3)
|
||||
|
||||
# verify grounded postprocessing
|
||||
results = processor.post_process_grounded_object_detection(
|
||||
@@ -712,8 +712,8 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
expected_slice_boxes = torch.tensor([39.8870, 70.3522, 176.7424, 118.0354]).to(torch_device)
|
||||
|
||||
self.assertEqual(len(results["scores"]), 4)
|
||||
self.assertTrue(torch.allclose(results["scores"], expected_scores, atol=1e-2))
|
||||
self.assertTrue(torch.allclose(results["boxes"][0, :], expected_slice_boxes, atol=1e-2))
|
||||
torch.testing.assert_close(results["scores"], expected_scores, rtol=1e-2, atol=1e-2)
|
||||
torch.testing.assert_close(results["boxes"][0, :], expected_slice_boxes, rtol=1e-2, atol=1e-2)
|
||||
|
||||
expected_text_labels = ["remote", "cat", "remote", "cat"]
|
||||
self.assertListEqual(results["text_labels"], expected_text_labels)
|
||||
@@ -745,8 +745,8 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
[[[0.2550, 0.5501, 0.4738, 0.8745], [0.7695, 0.4121, 0.4603, 0.7244], [0.7691, 0.4117, 0.4603, 0.7214]]]
|
||||
).to(torch_device, dtype=torch.float16)
|
||||
|
||||
self.assertTrue(torch.allclose(outputs.decoder_class_logits[:3, :3], expected_class_logits, atol=1e-1))
|
||||
self.assertTrue(torch.allclose(outputs.decoder_coord_logits[:3, :3], expected_coord_logits, atol=1e-3))
|
||||
torch.testing.assert_close(outputs.decoder_class_logits[:3, :3], expected_class_logits, rtol=1e-1, atol=1e-1)
|
||||
torch.testing.assert_close(outputs.decoder_coord_logits[:3, :3], expected_coord_logits, rtol=1e-3, atol=1e-3)
|
||||
|
||||
# verify grounded postprocessing
|
||||
results = processor.post_process_grounded_object_detection(
|
||||
@@ -758,8 +758,8 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
)
|
||||
|
||||
self.assertEqual(len(results["scores"]), 4)
|
||||
self.assertTrue(torch.allclose(results["scores"], expected_scores, atol=1e-2))
|
||||
self.assertTrue(torch.allclose(results["boxes"][0, :], expected_slice_boxes, atol=1e-1))
|
||||
torch.testing.assert_close(results["scores"], expected_scores, rtol=1e-2, atol=1e-2)
|
||||
torch.testing.assert_close(results["boxes"][0, :], expected_slice_boxes, rtol=1e-1, atol=1e-1)
|
||||
|
||||
expected_text_labels = ["remote", "cat", "remote", "cat"]
|
||||
self.assertListEqual(results["text_labels"], expected_text_labels)
|
||||
@@ -787,8 +787,8 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
[[[0.2550, 0.5501, 0.4738, 0.8745], [0.7695, 0.4121, 0.4603, 0.7244], [0.7691, 0.4117, 0.4603, 0.7214]]]
|
||||
).to(torch_device)
|
||||
|
||||
self.assertTrue(torch.allclose(outputs.decoder_class_logits[:3, :3], expected_class_logits, atol=1e-1))
|
||||
self.assertTrue(torch.allclose(outputs.decoder_coord_logits[:3, :3], expected_coord_logits, atol=1e-3))
|
||||
torch.testing.assert_close(outputs.decoder_class_logits[:3, :3], expected_class_logits, rtol=1e-1, atol=1e-1)
|
||||
torch.testing.assert_close(outputs.decoder_coord_logits[:3, :3], expected_coord_logits, rtol=1e-3, atol=1e-3)
|
||||
|
||||
# verify grounded postprocessing
|
||||
results = processor.post_process_grounded_object_detection(
|
||||
@@ -798,8 +798,8 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
expected_slice_boxes = torch.tensor([39.8870, 70.3522, 176.7424, 118.0354]).to(torch_device)
|
||||
|
||||
self.assertEqual(len(results["scores"]), 4)
|
||||
self.assertTrue(torch.allclose(results["scores"], expected_scores, atol=1e-2))
|
||||
self.assertTrue(torch.allclose(results["boxes"][0, :], expected_slice_boxes, atol=1e-2))
|
||||
torch.testing.assert_close(results["scores"], expected_scores, rtol=1e-2, atol=1e-2)
|
||||
torch.testing.assert_close(results["boxes"][0, :], expected_slice_boxes, rtol=1e-2, atol=1e-2)
|
||||
|
||||
expected_text_labels = ["remote", "cat", "remote", "cat"]
|
||||
self.assertListEqual(results["text_labels"], expected_text_labels)
|
||||
@@ -831,8 +831,12 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
[[[0.2550, 0.5501, 0.4738]], [[0.2535, 0.6006, 0.0353]], [[0.3742, 0.3337, 0.0666]]]
|
||||
).to(torch_device)
|
||||
|
||||
self.assertTrue(torch.allclose(outputs.decoder_class_logits[:, :1, :3], expected_class_logits, atol=1e-1))
|
||||
self.assertTrue(torch.allclose(outputs.decoder_coord_logits[:, :1, :3], expected_coord_logits, atol=1e-3))
|
||||
torch.testing.assert_close(
|
||||
outputs.decoder_class_logits[:, :1, :3], expected_class_logits, rtol=1e-1, atol=1e-1
|
||||
)
|
||||
torch.testing.assert_close(
|
||||
outputs.decoder_coord_logits[:, :1, :3], expected_coord_logits, rtol=1e-3, atol=1e-3
|
||||
)
|
||||
|
||||
# verify grounded postprocessing
|
||||
results = processor.post_process_grounded_object_detection(
|
||||
@@ -851,11 +855,11 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
).to(torch_device)
|
||||
|
||||
self.assertListEqual([len(result["scores"]) for result in results], [4, 4, 6])
|
||||
self.assertTrue(
|
||||
torch.allclose(torch.stack([result["scores"][0] for result in results]), expected_scores, atol=1e-2)
|
||||
torch.testing.assert_close(
|
||||
torch.stack([result["scores"][0] for result in results]), expected_scores, rtol=1e-2, atol=1e-2
|
||||
)
|
||||
self.assertTrue(
|
||||
torch.allclose(torch.stack([result["boxes"][0, :] for result in results]), expected_slice_boxes, atol=1e-2)
|
||||
torch.testing.assert_close(
|
||||
torch.stack([result["boxes"][0, :] for result in results]), expected_slice_boxes, rtol=1e-2, atol=1e-2
|
||||
)
|
||||
|
||||
expected_text_labels = [
|
||||
@@ -889,8 +893,12 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
[[[0.2550, 0.5501, 0.4738, 0.8745], [0.7695, 0.4121, 0.4603, 0.7244], [0.7691, 0.4117, 0.4603, 0.7214]]]
|
||||
)
|
||||
|
||||
self.assertTrue(torch.allclose(cpu_outputs.decoder_class_logits[:3, :3], expected_class_logits, atol=1e-1))
|
||||
self.assertTrue(torch.allclose(cpu_outputs.decoder_coord_logits[:3, :3], expected_coord_logits, atol=1e-3))
|
||||
torch.testing.assert_close(
|
||||
cpu_outputs.decoder_class_logits[:3, :3], expected_class_logits, rtol=1e-1, atol=1e-1
|
||||
)
|
||||
torch.testing.assert_close(
|
||||
cpu_outputs.decoder_coord_logits[:3, :3], expected_coord_logits, rtol=1e-3, atol=1e-3
|
||||
)
|
||||
|
||||
# verify grounded postprocessing
|
||||
results_cpu = processor.post_process_grounded_object_detection(
|
||||
@@ -900,5 +908,5 @@ class OmDetTurboModelIntegrationTests(unittest.TestCase):
|
||||
gpu_outputs, text_labels=[text_labels], target_sizes=[image.size[::-1]]
|
||||
)[0]
|
||||
|
||||
self.assertTrue(torch.allclose(results_cpu["scores"], result_gpu["scores"].cpu(), atol=1e-2))
|
||||
self.assertTrue(torch.allclose(results_cpu["boxes"][0, :], result_gpu["boxes"][0, :].cpu(), atol=1e-2))
|
||||
torch.testing.assert_close(results_cpu["scores"], result_gpu["scores"].cpu(), rtol=1e-2, atol=1e-2)
|
||||
torch.testing.assert_close(results_cpu["boxes"][0, :], result_gpu["boxes"][0, :].cpu(), rtol=1e-2, atol=1e-2)
|
||||
|
||||
@@ -106,10 +106,10 @@ class OmDetTurboProcessorTest(ProcessorTesterMixin, unittest.TestCase):
|
||||
self.assertEqual(post_processed[0]["boxes"].shape, (self.num_queries, 4))
|
||||
self.assertEqual(post_processed[0]["scores"].shape, (self.num_queries,))
|
||||
expected_scores = torch.tensor([0.7310, 0.6579, 0.6513, 0.6444, 0.6252])
|
||||
self.assertTrue(torch.allclose(post_processed[0]["scores"], expected_scores, atol=1e-4))
|
||||
torch.testing.assert_close(post_processed[0]["scores"], expected_scores, rtol=1e-4, atol=1e-4)
|
||||
|
||||
expected_box_slice = torch.tensor([14.9657, 141.2052, 30.0000, 312.9670])
|
||||
self.assertTrue(torch.allclose(post_processed[0]["boxes"][0], expected_box_slice, atol=1e-4))
|
||||
torch.testing.assert_close(post_processed[0]["boxes"][0], expected_box_slice, rtol=1e-4, atol=1e-4)
|
||||
|
||||
def test_save_load_pretrained_additional_features(self):
|
||||
processor = OmDetTurboProcessor(tokenizer=self.get_tokenizer(), image_processor=self.get_image_processor())
|
||||
|
||||
Reference in New Issue
Block a user