مرحبا يا شباب!
شكرا على العمل الرائع!
أنا أبحث عن طراز YOLO9000 يمكنه تصنيف 9000 فئة.
لم أتمكن من العثور على YOLO 9000 cfg
.
يمكن لأي شخص أن يساعد من فضلك؟
> find . -name '*.cfg' -exec cat {} \; | grep "classes"
classes=4
classes=20
classes=80
classes=2
classes=4
classes=20
classes=20
classes=4
classes=4
classes=20
classes=4
classes=2
classes=80
classes=4
classes=20
classes=80
classes=20
classes=20
classes=80
كنت أتوقع شيئًا مثل classes=9000
التكوين هنا ، يبدو أن المؤلف لا يقدم ملف وزن YOLO9000.
شكرا على الاجابة السريعة! سأحاول العثور على weights9000 وسأرسلها هنا لمساعدة الآخرين.
ملف الأوزان موجود هنا: http://pjreddie.com/media/files/yolo9000.weights
هل تمكنت من الحصول على هذا العمل؟ لقد وضعت في ملف الأوزان وكذلك ملف التكوين وقمت بتنزيل ملف 9k.names أيضًا. لم تستغرق المعالجة وقتًا أطول من اللازم ، لكن المعالجة اللاحقة استغرقت حوالي 10 أضعاف المدة مع الإعداد العادي yolo.cfg و yolo.weights. في النهاية ، لم تظهر أي مربعات محيطة في أي من الصور المرتجعة. أفعل شيئا خاطئا؟
نظرت إلى yolo9000.cfg
، واتضح أن هناك المزيد من العمل الذي يتعين القيام به. yolo9000
بعمل softmax المعتاد ولكنه يقوم بعمل مجمع. مشغول جدًا الآن ، سأحاول العمل على ذلك ولكن على الأقل ليس في هذا الأسبوع أو الذي يليه.
نعم لا تقلق على الاطلاق. أوقات استجابتك لهذه المشكلات سريعة جدًا :) شكرًا جزيلاً على كل العمل الذي بذلته في هذا - إنه مشروع رائع حقًا. أردت فقط التأكد من أنني لم أفعل شيئًا خاطئًا كان يسبب المشكلة - لا داعي للاندفاع على الإطلاق في حل هذا الأمر.
هل من أخبار؟
لدي نفس مشكلة Abagshaw.
بعد المعالجة 10x أبطأ وبدون مربعات إحاطة.
هل يجب علي تغيير ملف cfg وكيف؟
شكرا!
thtrieu هل يمكننا إعادة فتح هذه المشكلة حتى يتم إصلاحها لأنني في الوقت الحالي لا أعتقد أن darkflow يحتوي على وظائف YOLO 9000؟
من المحتمل أن أستخدم YOLO9000 لمشروع أطروحتي (على الرغم من أنني سأقوم بتكييفه بشكل كبير) ، وبما أن هذا هو تنفيذ Tensorflow الوحيد لـ YOLOv2 الذي يمكنني أن أجده أفترض أنني سأستخدم هذا كقاعدة. سأضيف التنفيذ الخاص بي عند الانتهاء ، ولكن من المحتمل أن يستغرق ذلك أسبوعين إضافيين ، لذلك إذا كان لدى أي شخص المزيد من الوقت في وقت أقرب ، فسيساعدني ذلك أيضًا بشكل كبير! ؛)
لدي بعض الوقت في يدي في الأيام القليلة المقبلة - لكن فهمي لـ ML وما يحدث بالفعل وراء الكواليس هنا ضحل جدًا. لست متأكدًا تمامًا مما يجب القيام به لتشغيل YOLO 9000 - إذا لم يكن الأمر معقدًا للغاية ، فهل يمكن لشخص ما أن يحدد بإيجاز ما يجب القيام به وسأعطيها لقطة (إذا كان الأمر معقدًا جدًا ، فلا تهتم بذلك أشك في أنني سأذهب بعيدًا :))
abagshaw ما يجب فعله هو فهم المعلمات التالية في .cfg
random=1
tree=data/9k.tree
map = data/coco9k.map
ستتم قراءة هذه في meta
deb بواسطة الكود الحالي ، الكود الوحيد الذي يحتاج إلى تعديل هو وظيفة عملية النشر ، والتي ، حاليًا لا تأخذ في الاعتبار meta['random'], meta['tree'], meta['map']
لتفسير موتر الإخراج & رسم مربعات إحاطة.
لكن ألن تحتاج إلى تطبيق مختلف تمامًا لـ softmax (يجب أن يكون سهلاً ، فقط قم بتقسيمه على طبقات مختلفة من الشجرة) و backpropagation على هذا softmax؟ (حيث يجب تشغيل backprop فقط على عقد softmax المعنية؟)
نعم آسف يا رفاق - أعتقد أن هذا فوق رأسي قليلاً. كنت أقوم بتمشيط https://github.com/pjreddie/darknet/commit/d2dece3df743c97f2cfbb9bbf0dd0449a8730cec وهناك الكثير يحدث هناك ولا أفهمه. سأستمر في البحث ولكن لا أعتقد أنني سأذهب بعيدًا جدًا.
أي تحديثات على هذا؟
نعم آسف ، لقد قررت أنه سيكون من الأسرع فقط لصق طبقة التصنيف yolo9000 على RCNN الأسرع في تدفق التوتر فقط. قد أفكر في هواية شيء ما معًا عندما تنتهي رسالتي ، لكن هذا لن يكون لمدة 4 أشهر أخرى ؛)
درات - هذا سيء للغاية. أحاول أن أحيط رأسي حول كيفية عمل شيء تصنيف شجرة WordNet بالكامل في yolo9000. أتمنى أن أفهم هذه الأشياء بشكل أفضل حتى أتمكن من المساعدة. نأمل أن يكون لدى شخص ما الوقت لإضافة هذه الوظيفة قريبًا :)
يا رفاق ، لقد أنشأت مستودعًا لـ YOLO 9000. كل شيء موضح هنا. تحقق من ذلك:
https://github.com/philipperemy/yolo-9000
إنه يستخدم darknet بدلاً من darkflow لكنني أعتقد أنه يجب أن يكون من السهل جدًا نقله.
abagshawTheLaurenssaiprabhakarthtrieu @ frey123
philipperemy شكرًا ، ربما
إذا كنت ترغب في نقل YOLO9000 إلى Darkflow ، فسيكون ذلك رائعًا :) :)
abagshaw جعلها تعمل مع darknet كانت الخطوة الأولى. الآن سأركز على كيفية جعله يعمل من أجل darkflow!
تضمين التغريدة ابقنا على اطلاع :)
philipperemy أي تقدم في الحصول على YOLO9000 للعمل في Darkflow؟ :)
آسف حتى الآن لا يوجد تقدم كبير! أنا مشغول بعملي الآن :)
شكرا لكم جميعا.
هل لي أن أطرح بعض الأسئلة المتعلقة بهذا الموضوع؟
الحالي أقوم بتغيير yolo.cfg لتصنيف فئتين. للوزن أستخدم yolo.weights. بعد أن أقوم بتدريب النموذج ، يعمل بشكل جيد.
س 1: من هذه المشكلة ، يبدو أنني بحاجة إلى وزن مختلف لعدد مختلف من الفصول. أتذكر أن yolo.weights تستخدم على الأقل لـ 20 فصلًا. هل انا على حق؟
Q2: كم عدد الفصول التي يمكنني استخدام yolo.weights لها؟
س 3: هل من الممكن استخدام نقطة فحص نموذج لفئتين كوزن البداية لنموذج آخر ، لنقل 3 فئات؟
شكرا لك مرة أخرى.
@ chengs2000 أسئلتك لا تتعلق حقًا بـ YOLO9000 - ربما تنشر سؤالك في عدد جديد ويمكن معالجته هناك.
مرحبًا ، ما لم يكن شخص ما يفعل ذلك بالفعل (philipperemy؟) فسأحاول. سوف يقدم تقريرا في غضون أيام قليلة مع النتائج.
relh تفضل من فضلك! لم يكن لدي الكثير من الوقت للتركيز على هذا.
relh أي تقدم؟ 😃
لقد حصلت على العمل! :)
أنا الآن أحاول فقط معرفة أفضل السبل لتنظيم تغييراتي في العلاقات العامة. أرى أن الكثير من الأشياء قد تغيرت في الأيام القليلة الماضية.
لدي حاليًا معظمها على أنها darkflow/cython_utils/cy_yolo9000_findboxes.pyx
منفصلة ولكن يمكنني على الأرجح تحويلها إلى cy_yolo2_findboxes.pyx
ودمج مفتاح تعريف آخر في بيان if الخاص بالطريقة labels
darkflow/darkflow/yolo/misc.py
(ثم قم بفصل بين تقنية softmax في صندوق البحث قبل القفز في الحلقة).
لقد دخلت بالفعل في عبارة if في طريقة الملصقات في misc.py
لإضافة hyponym_map
وهو عبارة عن دكت يعين فهرسًا رئيسيًا لقائمة العقد الفرعية الخاصة به لكل ملفات البيانات.
أيضًا ، لدي حاليًا بيانات / مجلد في مجلد / cfg الخاص بي وأنا أنضم للتو إلى مسار التكوين و meta['tree']
و meta['map']
لمسارات الملف.
إذا لم يكن لديكم أي مدخلات ، فسوف أجعل العلاقات العامة مع ما هو منطقي بالنسبة لي ، وإلا فأنا آذان صاغية!
تضمين التغريدة شكرا جزيلا لعملكم على هذا !!
بالنسبة إلى سنتي: إذا كان الرمز cy_yolo9000_findboxes.pyx
مختلفًا تمامًا عن الرمز المكتوب بالفعل في cy_yolo2_findboxes.pyx
إنشاء ملف جديد لا يمثل مشكلة - ولكن إذا شاركوا معظم الرمز نفسه ، من الأفضل محاولة إدخال التغييرات في الملف الحالي (لتجنب إضافة رمز مكرر). من الصعب بالنسبة لي تقديم المزيد من المدخلات دون رؤية التغييرات التي أجريتها (أنا لست على دراية بكيفية اختلاف YOLO9000 عن YOLOv2 بالضبط) - لذلك سأختار أفضل حكم لك حول كيفية إدخال هذه التغييرات.
نتطلع إلى العلاقات العامة!
@ ريل شكرا جزيلا !! آسف لقد كنت مشغولا جدا مؤخرا ولم يكن لدي الوقت للعمل على هذا!
Relh هذه أخبار رائعة. نتطلع إلى العلاقات العامة.
رائعة! (نتطلع إلى إغلاق هذه القضية).
هل هذه القضية مغلقة؟ هل لدينا تنفيذ Tensorflow لـ YOLO9000؟ من فضلك أشرني إلى نفس الشيء. شكرا.
سؤال في هذا العدد: يشير pjreddie إلى YOLO9000 كـ YOLOv2 على موقع YOLO الخاص به . إذا انتقلت إلى قسم "ما الجديد في الإصدار 2" والنقر فوق ارتباط الورقة ، فسيتم فتح ورقة YOLO9000.
لذا إذا لم يكن هناك تطبيق YOLO9000 في Darkflow ، فما هو YOLOv2 بالضبط في سياق Darkflow؟
Yolo9k هو النموذج الذي تم تدريبه على التخيل باستخدام طريقة تعلم الصندوق المحيط بينما يتم تدريب yolov2 الافتراضي على COCO.
تضمين التغريدة
1) يبدو أن الكود الخاص بك يعمل فقط على وحدة المعالجة المركزية ، هل تعرف لماذا؟
2) ما الفرق بين مشروعك و darknet الآن؟
شكرا!
يعمل كود moskiteau جيدًا على وحدة معالجة الرسومات
يعتمد مشروعي على darknet ويحتوي على كل شيء لتشغيل YOLO9000.
المترجمة مع علم وحدة المعالجة المركزية:
seb@PHQ-4035-En:~/projects/stockshot/darknet$ ./darknet detector test cfg/combine9k.data cfg/yolo9000.cfg yolo9000.weights data/person.jpg
layer filters size input output
0 conv 32 3 x 3 / 1 544 x 544 x 3 -> 544 x 544 x 32
1 max 2 x 2 / 2 544 x 544 x 32 -> 272 x 272 x 32
2 conv 64 3 x 3 / 1 272 x 272 x 32 -> 272 x 272 x 64
3 max 2 x 2 / 2 272 x 272 x 64 -> 136 x 136 x 64
4 conv 128 3 x 3 / 1 136 x 136 x 64 -> 136 x 136 x 128
5 conv 64 1 x 1 / 1 136 x 136 x 128 -> 136 x 136 x 64
6 conv 128 3 x 3 / 1 136 x 136 x 64 -> 136 x 136 x 128
7 max 2 x 2 / 2 136 x 136 x 128 -> 68 x 68 x 128
8 conv 256 3 x 3 / 1 68 x 68 x 128 -> 68 x 68 x 256
9 conv 128 1 x 1 / 1 68 x 68 x 256 -> 68 x 68 x 128
10 conv 256 3 x 3 / 1 68 x 68 x 128 -> 68 x 68 x 256
11 max 2 x 2 / 2 68 x 68 x 256 -> 34 x 34 x 256
12 conv 512 3 x 3 / 1 34 x 34 x 256 -> 34 x 34 x 512
13 conv 256 1 x 1 / 1 34 x 34 x 512 -> 34 x 34 x 256
14 conv 512 3 x 3 / 1 34 x 34 x 256 -> 34 x 34 x 512
15 conv 256 1 x 1 / 1 34 x 34 x 512 -> 34 x 34 x 256
16 conv 512 3 x 3 / 1 34 x 34 x 256 -> 34 x 34 x 512
17 max 2 x 2 / 2 34 x 34 x 512 -> 17 x 17 x 512
18 conv 1024 3 x 3 / 1 17 x 17 x 512 -> 17 x 17 x1024
19 conv 512 1 x 1 / 1 17 x 17 x1024 -> 17 x 17 x 512
20 conv 1024 3 x 3 / 1 17 x 17 x 512 -> 17 x 17 x1024
21 conv 512 1 x 1 / 1 17 x 17 x1024 -> 17 x 17 x 512
22 conv 1024 3 x 3 / 1 17 x 17 x 512 -> 17 x 17 x1024
23 conv 28269 1 x 1 / 1 17 x 17 x1024 -> 17 x 17 x28269
24 detection
mask_scale: Using default '1.000000'
Loading weights from yolo9000.weights...Done!
data/person.jpg: Predicted in 13.577125 seconds.
Tuareg: 25%
wild horse: 27%
goat herder: 82%
Shetland pony: 86%
German shepherd: 48%
Gordon setter: 51%
seb@PHQ-4035-En:~/projects/stockshot/darknet$
وتجميعها بعلامة GPU:
seb@PHQ-4035-En:~/projects/stockshot/darknet$ ./darknet detector test cfg/combine9k.data cfg/yolo9000.cfg yolo9000.weights data/person.jpg
layer filters size input output
0 conv 32 3 x 3 / 1 544 x 544 x 3 -> 544 x 544 x 32
1 max 2 x 2 / 2 544 x 544 x 32 -> 272 x 272 x 32
2 conv 64 3 x 3 / 1 272 x 272 x 32 -> 272 x 272 x 64
3 max 2 x 2 / 2 272 x 272 x 64 -> 136 x 136 x 64
4 conv 128 3 x 3 / 1 136 x 136 x 64 -> 136 x 136 x 128
5 conv 64 1 x 1 / 1 136 x 136 x 128 -> 136 x 136 x 64
6 conv 128 3 x 3 / 1 136 x 136 x 64 -> 136 x 136 x 128
7 max 2 x 2 / 2 136 x 136 x 128 -> 68 x 68 x 128
8 conv 256 3 x 3 / 1 68 x 68 x 128 -> 68 x 68 x 256
9 conv 128 1 x 1 / 1 68 x 68 x 256 -> 68 x 68 x 128
10 conv 256 3 x 3 / 1 68 x 68 x 128 -> 68 x 68 x 256
11 max 2 x 2 / 2 68 x 68 x 256 -> 34 x 34 x 256
12 conv 512 3 x 3 / 1 34 x 34 x 256 -> 34 x 34 x 512
13 conv 256 1 x 1 / 1 34 x 34 x 512 -> 34 x 34 x 256
14 conv 512 3 x 3 / 1 34 x 34 x 256 -> 34 x 34 x 512
15 conv 256 1 x 1 / 1 34 x 34 x 512 -> 34 x 34 x 256
16 conv 512 3 x 3 / 1 34 x 34 x 256 -> 34 x 34 x 512
17 max 2 x 2 / 2 34 x 34 x 512 -> 17 x 17 x 512
18 conv 1024 3 x 3 / 1 17 x 17 x 512 -> 17 x 17 x1024
19 conv 512 1 x 1 / 1 17 x 17 x1024 -> 17 x 17 x 512
20 conv 1024 3 x 3 / 1 17 x 17 x 512 -> 17 x 17 x1024
21 conv 512 1 x 1 / 1 17 x 17 x1024 -> 17 x 17 x 512
22 conv 1024 3 x 3 / 1 17 x 17 x 512 -> 17 x 17 x1024
23 conv 28269 1 x 1 / 1 17 x 17 x1024 -> 17 x 17 x28269
24 detection
mask_scale: Using default '1.000000'
Loading weights from yolo9000.weights...Done!
data/person.jpg: Predicted in 0.060738 seconds.
African: 25%
worker: 82%
horse: 86%
working dog: 48%
hunting dog: 50%
./darknet detector test cfg / comb9k.data cfg / yolo9000.cfg yolo9000.weights data / person.jpg -thresh .25 -hier .001
يمكن لأي شخص أن يشرح ما هو هيكل 9000 شجرة التسمية؟ في الملف 9k.tree ، على سبيل المثال n0000245 -1 ، n0566538625 4 ، ماذا يعني -1 و 4؟ كيف يمكنني بناء هيكل شجرة بهذا الملف 9k.tree؟
تضمين التغريدة
-1 يعني جذر الشجرة
4: فهرس العقدة الأب
التعليق الأكثر فائدة
لقد حصلت على العمل! :)
أنا الآن أحاول فقط معرفة أفضل السبل لتنظيم تغييراتي في العلاقات العامة. أرى أن الكثير من الأشياء قد تغيرت في الأيام القليلة الماضية.
لدي حاليًا معظمها على أنها
darkflow/cython_utils/cy_yolo9000_findboxes.pyx
منفصلة ولكن يمكنني على الأرجح تحويلها إلىcy_yolo2_findboxes.pyx
ودمج مفتاح تعريف آخر في بيان if الخاص بالطريقةlabels
darkflow/darkflow/yolo/misc.py
(ثم قم بفصل بين تقنية softmax في صندوق البحث قبل القفز في الحلقة).لقد دخلت بالفعل في عبارة if في طريقة الملصقات في
misc.py
لإضافةhyponym_map
وهو عبارة عن دكت يعين فهرسًا رئيسيًا لقائمة العقد الفرعية الخاصة به لكل ملفات البيانات.أيضًا ، لدي حاليًا بيانات / مجلد في مجلد / cfg الخاص بي وأنا أنضم للتو إلى مسار التكوين و
meta['tree']
وmeta['map']
لمسارات الملف.إذا لم يكن لديكم أي مدخلات ، فسوف أجعل العلاقات العامة مع ما هو منطقي بالنسبة لي ، وإلا فأنا آذان صاغية!