Spaces:
Sleeping
Sleeping
| import io | |
| import math | |
| import unittest | |
| from PIL import Image | |
| import app | |
| class InferenceTest(unittest.TestCase): | |
| def setUpClass(cls) -> None: | |
| app.load_model() | |
| def test_preprocessing_and_model_contract(self) -> None: | |
| image = Image.new("RGB", (320, 240), (90, 160, 120)) | |
| buffer = io.BytesIO() | |
| image.save(buffer, format="JPEG") | |
| tensor = app.preprocess_image(buffer.getvalue()) | |
| label, confidence, probabilities = app.predict(buffer.getvalue()) | |
| self.assertEqual(tensor.shape, (1, 3, 224, 224)) | |
| self.assertIn(label, app.CLASS_NAMES) | |
| self.assertGreaterEqual(confidence, 0.0) | |
| self.assertLessEqual(confidence, 1.0) | |
| self.assertEqual(tuple(probabilities), app.CLASS_NAMES) | |
| self.assertTrue(math.isclose(sum(probabilities.values()), 1.0, abs_tol=1e-6)) | |
| if __name__ == "__main__": | |
| unittest.main() | |