fix: refuse unavailable gallery and pin head trainer
This commit is contained in:
parent
d5a7a56dff
commit
ac315eb48e
4 changed files with 77 additions and 6 deletions
|
|
@ -225,5 +225,43 @@ class HeadPinTests(unittest.TestCase):
|
|||
self.assertEqual(gallery._head["class_ids"], subset)
|
||||
self.assertIsNone(head_class_set(["sku_a", "sku_a", ""]))
|
||||
|
||||
|
||||
class TrainerPinTests(unittest.TestCase):
|
||||
def test_head_training_loads_the_pinned_file_and_keeps_preprocess(self):
|
||||
import finetune_identity
|
||||
import gallery as gallery_module
|
||||
|
||||
seen = []
|
||||
|
||||
class FakeBackbone:
|
||||
def eval(self):
|
||||
return self
|
||||
|
||||
def to(self, device):
|
||||
return self
|
||||
|
||||
sentinel = FakeBackbone()
|
||||
def fake_load(image_size):
|
||||
seen.append(image_size)
|
||||
return sentinel
|
||||
|
||||
|
||||
original = finetune_identity.load_dinov2
|
||||
finetune_identity.load_dinov2 = fake_load
|
||||
try:
|
||||
model, device = finetune_identity.build_model(224)
|
||||
finally:
|
||||
finetune_identity.load_dinov2 = original
|
||||
self.assertIs(model, sentinel)
|
||||
self.assertIn(device, ("cpu", "mps"))
|
||||
self.assertEqual(seen, [224])
|
||||
|
||||
image = np.zeros((10, 20, 3), dtype=np.uint8)
|
||||
self.assertEqual(finetune_identity.prepare(image, 32).shape, gallery_module._prepare(image, 32).shape)
|
||||
self.assertTrue(np.allclose(
|
||||
finetune_identity.prepare(image, 32),
|
||||
gallery_module._prepare(image, 32),
|
||||
))
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue