__init__.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import gdown
  2. from .segment_anything_model import SegmentAnythingModel
  3. class SegmentAnythingModelVitB(SegmentAnythingModel):
  4. name = "SegmentAnything (speed)"
  5. def __init__(self):
  6. super().__init__(
  7. encoder_path=gdown.cached_download(
  8. url="https://github.com/wkentaro/labelme/releases/download/sam-20230416/sam_vit_b_01ec64.quantized.encoder.onnx", # NOQA
  9. md5="80fd8d0ab6c6ae8cb7b3bd5f368a752c",
  10. ),
  11. decoder_path=gdown.cached_download(
  12. url="https://github.com/wkentaro/labelme/releases/download/sam-20230416/sam_vit_b_01ec64.quantized.decoder.onnx", # NOQA
  13. md5="4253558be238c15fc265a7a876aaec82",
  14. ),
  15. )
  16. class SegmentAnythingModelVitL(SegmentAnythingModel):
  17. name = "SegmentAnything (balanced)"
  18. def __init__(self):
  19. super().__init__(
  20. encoder_path=gdown.cached_download(
  21. url="https://github.com/wkentaro/labelme/releases/download/sam-20230416/sam_vit_l_0b3195.quantized.encoder.onnx", # NOQA
  22. md5="080004dc9992724d360a49399d1ee24b",
  23. ),
  24. decoder_path=gdown.cached_download(
  25. url="https://github.com/wkentaro/labelme/releases/download/sam-20230416/sam_vit_l_0b3195.quantized.decoder.onnx", # NOQA
  26. md5="851b7faac91e8e23940ee1294231d5c7",
  27. ),
  28. )
  29. class SegmentAnythingModelVitH(SegmentAnythingModel):
  30. name = "SegmentAnything (accuracy)"
  31. def __init__(self):
  32. super().__init__(
  33. encoder_path=gdown.cached_download(
  34. url="https://github.com/wkentaro/labelme/releases/download/sam-20230416/sam_vit_h_4b8939.quantized.encoder.onnx", # NOQA
  35. md5="958b5710d25b198d765fb6b94798f49e",
  36. ),
  37. decoder_path=gdown.cached_download(
  38. url="https://github.com/wkentaro/labelme/releases/download/sam-20230416/sam_vit_h_4b8939.quantized.decoder.onnx", # NOQA
  39. md5="a997a408347aa081b17a3ffff9f42a80",
  40. ),
  41. )
  42. MODELS = [
  43. SegmentAnythingModelVitL,
  44. SegmentAnythingModelVitB,
  45. SegmentAnythingModelVitH,
  46. ]