Skip to content

Commit c2fce7b

Browse files
kevinpl07Kevin Bondzio
and
Kevin Bondzio
authored
Add Apple's MobileOne encoder (#693)
* add mobileone encoder * remove testing code * add custom state dict * remove old import * fix formatting, extend README * fix formatting, add limitation notice * add support for 1 channel * add mobileone to encoder docs * fix encoder docs Co-authored-by: Kevin Bondzio <[email protected]>
1 parent 519d358 commit c2fce7b

File tree

4 files changed

+562
-0
lines changed

4 files changed

+562
-0
lines changed

README.md

+19
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,25 @@ Limitations:
375375
</div>
376376
</details>
377377

378+
<details>
379+
<summary style="margin-left: 25px;">MobileOne</summary>
380+
<div style="margin-left: 25px;">
381+
382+
Apple's "sub-one-ms" Backbone pretrained on Imagenet! Can be used with all decoders.
383+
384+
Note: In the official github repo the s0 variant has additional num_conv_branches, leading to more params than s1.
385+
386+
|Encoder |Weights |Params, M |
387+
|--------------------------------|:------------------------------:|:------------------------------:|
388+
|mobileone_s0 |imagenet |4.6M |
389+
|mobileone_s1 |imagenet |4.0M |
390+
|mobileone_s2 |imagenet |6.5M |
391+
|mobileone_s3 |imagenet |8.8M |
392+
|mobileone_s4 |imagenet |13.6M |
393+
394+
</div>
395+
</details>
396+
378397

379398
\* `ssl`, `swsl` - semi-supervised and weakly-supervised learning on ImageNet ([repo](https://github.com/facebookresearch/semi-supervised-ImageNet1K-models)).
380399

docs/encoders.rst

+17
Original file line numberDiff line numberDiff line change
@@ -344,3 +344,20 @@ Mix Visual Transformer
344344
+-----------+----------+------------+
345345
| mit\_b5 | imagenet | 81M |
346346
+-----------+----------+------------+
347+
348+
MobileOne
349+
~~~~~~~~~~~~~~~~~~~~~
350+
351+
+-----------------+----------+------------+
352+
| Encoder | Weights | Params, M |
353+
+=================+==========+============+
354+
| mobileone\_s0 | imagenet | 4.6M |
355+
+-----------------+----------+------------+
356+
| mobileone\_s1 | imagenet | 4.0M |
357+
+-----------------+----------+------------+
358+
| mobileone\_s2 | imagenet | 6.5M |
359+
+-----------------+----------+------------+
360+
| mobileone\_s3 | imagenet | 8.8M |
361+
+-----------------+----------+------------+
362+
| mobileone\_s4 | imagenet | 13.6M |
363+
+-----------------+----------+------------+

segmentation_models_pytorch/encoders/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from .timm_mobilenetv3 import timm_mobilenetv3_encoders
2121
from .timm_gernet import timm_gernet_encoders
2222
from .mix_transformer import mix_transformer_encoders
23+
from .mobileone import mobileone_encoders
2324

2425
from .timm_universal import TimmUniversalEncoder
2526

@@ -44,6 +45,7 @@
4445
encoders.update(timm_mobilenetv3_encoders)
4546
encoders.update(timm_gernet_encoders)
4647
encoders.update(mix_transformer_encoders)
48+
encoders.update(mobileone_encoders)
4749

4850

4951
def get_encoder(name, in_channels=3, depth=5, weights=None, output_stride=32, **kwargs):

0 commit comments

Comments
 (0)