مرجع ل ultralytics/models/sam/modules/decoders.py
ملاحظه
هذا الملف متاح في https://github.com/ultralytics/ultralytics/ نقطة / الرئيسية /ultralytics/نماذج/sam/وحدات/decoders.py. إذا اكتشفت مشكلة ، فيرجى المساعدة في إصلاحها من خلال المساهمة في طلب 🛠️ سحب. شكرا لك 🙏!
ultralytics.models.sam.modules.decoders.MaskDecoder
قواعد: Module
وحدة فك التشفير لتوليد الأقنعة ودرجات الجودة المرتبطة بها ، باستخدام بنية محول للتنبؤ أقنعة تعطى الصورة والتضمين الفوري.
سمات:
اسم | نوع | وصف |
---|---|---|
transformer_dim |
int
|
أبعاد القناة لوحدة المحول. |
transformer |
Module
|
وحدة المحولات المستخدمة للتنبؤ بالقناع. |
num_multimask_outputs |
int
|
عدد الأقنعة التي يجب التنبؤ بها لتوضيح الأقنعة. |
iou_token |
Embedding
|
التضمين لرمز IoU المميز. |
num_mask_tokens |
int
|
عدد رموز القناع. |
mask_tokens |
Embedding
|
تضمين الرموز المميزة للقناع. |
output_upscaling |
Sequential
|
تسلسل الشبكة العصبية لرفع مستوى الإخراج. |
output_hypernetworks_mlps |
ModuleList
|
MLPs الشبكة الفائقة لتوليد الأقنعة. |
iou_prediction_head |
Module
|
MLP للتنبؤ بجودة القناع. |
شفرة المصدر في ultralytics/models/sam/modules/decoders.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
|
__init__(*, transformer_dim, transformer, num_multimask_outputs=3, activation=nn.GELU, iou_head_depth=3, iou_head_hidden_dim=256)
يتنبأ بالأقنعة التي تعطى صورة ويحث على التضمين، باستخدام بنية المحول.
البارامترات:
اسم | نوع | وصف | افتراضي |
---|---|---|---|
transformer_dim |
int
|
أبعاد القناة لوحدة المحول |
مطلوب |
transformer |
Module
|
المحول المستخدم للتنبؤ بالأقنعة |
مطلوب |
num_multimask_outputs |
int
|
عدد الأقنعة التي يجب التنبؤ بها عند توضيح الأقنعة |
3
|
activation |
Module
|
نوع التنشيط المراد استخدامه عند ترقية الأقنعة |
GELU
|
iou_head_depth |
int
|
عمق MLP المستخدم للتنبؤ بجودة القناع |
3
|
iou_head_hidden_dim |
int
|
البعد الخفي ل MLP المستخدم للتنبؤ بجودة القناع |
256
|
شفرة المصدر في ultralytics/models/sam/modules/decoders.py
forward(image_embeddings, image_pe, sparse_prompt_embeddings, dense_prompt_embeddings, multimask_output)
توقع الأقنعة المعطاة للصورة وقم بالتضمين الفوري.
البارامترات:
اسم | نوع | وصف | افتراضي |
---|---|---|---|
image_embeddings |
Tensor
|
عمليات التضمين من برنامج ترميز الصور |
مطلوب |
image_pe |
Tensor
|
الترميز الموضعي على شكل image_embeddings |
مطلوب |
sparse_prompt_embeddings |
Tensor
|
تضمينات النقاط والمربعات |
مطلوب |
dense_prompt_embeddings |
Tensor
|
تضمين مدخلات القناع |
مطلوب |
multimask_output |
bool
|
سواء لإرجاع أقنعة متعددة أو قناع واحد. |
مطلوب |
ارجاع:
نوع | وصف |
---|---|
Tensor
|
torch.Tensorأقنعة متوقعة مجمعة: |
Tensor
|
torch.Tensorتنبؤات مجمعة لجودة القناع: |
شفرة المصدر في ultralytics/models/sam/modules/decoders.py
predict_masks(image_embeddings, image_pe, sparse_prompt_embeddings, dense_prompt_embeddings)
يتنبأ الأقنعة.
انظر "إلى الأمام" لمزيد من التفاصيل.
شفرة المصدر في ultralytics/models/sam/modules/decoders.py
ultralytics.models.sam.modules.decoders.MLP
قواعد: Module
نموذج MLP (متعدد الطبقات Perceptron) مقتبس قليلا من https://github.com/facebookresearch/MaskFormer/blob/main/mask_former/modeling/transformer/transformer_predictor.py
شفرة المصدر في ultralytics/models/sam/modules/decoders.py
__init__(input_dim, hidden_dim, output_dim, num_layers, sigmoid_output=False)
تهيئة نموذج MLP (مستقبل متعدد الطبقات).
البارامترات:
اسم | نوع | وصف | افتراضي |
---|---|---|---|
input_dim |
int
|
أبعاد ميزات الإدخال. |
مطلوب |
hidden_dim |
int
|
أبعاد الطبقات المخفية. |
مطلوب |
output_dim |
int
|
أبعاد طبقة الإخراج. |
مطلوب |
num_layers |
int
|
عدد الطبقات المخفية. |
مطلوب |
sigmoid_output |
bool
|
تطبيق تنشيط السيني على طبقة الإخراج. الإعدادات الافتراضية إلى خطأ. |
False
|
شفرة المصدر في ultralytics/models/sam/modules/decoders.py
forward(x)
ينفذ التغذية الأمامية داخل وحدة الشبكة العصبية ويطبق التنشيط.