Spaces:
Sleeping
Sleeping
File size: 915 Bytes
b34c4f2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import io
import math
import unittest
from PIL import Image
import app
class InferenceTest(unittest.TestCase):
@classmethod
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()
|