مرحبا مرحبا أيها الأصدقاء! أنا مؤلف كتاب Kuiperinfer. كدورة مفتوحة المصدر ، فاز Kuiperinfer بنجوم 2.5k على Github حتى الآن. استنادًا الآن إلى الدورة الأصلية ، قمنا بإطلاق "إطار عمل استدلال متدرب على العمل اليدوية". تدعم الدورة الجديدة سلسلة من النماذج Llama (بما في ذلك أحدث سلسلة من الطرز LLAMA3.2) و QWEN2.5 ، ويدعم تسريع CUDA و int8 ، والتي تم الإشادة بها على نطاق واسع منذ إطلاقها.
https://l0kzvikuq0w.feishu.cn/docx/zf2hd0xfaoaxqcpn2c5ohanbc
إذا كنت مهتمًا بالتفكير النموذجي الكبير ، فأنت تريد أن يكون لديك فهم متعمق وإتقان التقنيات ذات الصلة ، وتريد أن تبرز في مقابلات التوظيف في المدارس وتوظيف الخريف ، ثم يجب عدم تفويت "إطار استنتاج النموذج الكبير المصنوع يدويًا". تعال وانضم إلينا وابدأ رحلة التعلم معًا! نرحب الطلاب المهتمين لمسح رمز الاستجابة السريعة أسفل الدورة أو إضافة WeChat Lyrry1997 للمشاركة في الدورة التدريبية

تقودك إلى إنشاء إطار عمل تعليمي عميق بيديك. اتبع مساحة محطة B الخاصة بي للحصول على أحدث تحديثات الفيديو.
اتبع هذا المشروع وابدأ بإطار التفكير العميق الخاص بك من الصفر ، وسوف تكتسب ما يلي:
رابط دورة الفيديو: https://space.bilibili.com/1822828582
الدورة الثانية هي نسخة إعادة تعيين من الدورة الأولى ، والمحتوى أكثر إرضاءً وكمالًا. انظر الفصل أدناه لمخطط الدورة الأولى.
| عدد الدورات | جدول | رابط المسار |
|---|---|---|
| محاضرة 1 معاينة المشروع وتكوين البيئة | ينهي | https://www.bilibili.com/video/bv118411f7ym |
| محاضرة 2 تصميم وتنفيذ التوتر | ينهي | https://www.bilibili.com/video/bv1hn411k7q7 |
| محاضرة 3 تعريف الرسم البياني الحسابي | ينهي | https://www.bilibili.com/video/bv1vc411m7yp |
| المحاضرة 4: بناء علاقات الرسم البياني الحسابي وترتيب التنفيذ | ينهي | https://www.bilibili.com/video/bv19s4y1r7az |
| المحاضرة 5: المشغلين والعمال المسجلين في كويبرنفير | ينهي | https://www.bilibili.com/video/bv1gx4y1o7pj |
| المحاضرة 6: تنفيذ مشغلي الالتفاف وتجميع | ينهي | https://www.bilibili.com/video/bv1hx4y197ds |
| المحاضرة 7: التحليل المعجمي والتحليل النحوي وتنفيذ المشغل في طبقة التعبير | ينهي | https://www.bilibili.com/video/bv1j8411o7ao |
| المحاضرة 8: يدعم إطار التفكير المنزلي المنزلي تفكير شبكات Resnet | ينهي | https://www.bilibili.com/video/bv1o84y1o7ni |
| المحاضرة 9: يدعم إطار التفكير المنزلي محلي الصنع التفكير في شبكة YOLOV5 | ينهي | https://www.bilibili.com/video/bv1qk4y1a7xl |
؟ يدعم KuiperInfer حاليًا استدلال شبكة UNET ويستخدم أوزان Carvana قبل التدريب
يمكن أن يشير استنساخ المنطق إلى العرض التجريبي الذي يدير Kuiper في نهاية المقالة
يستخدم العرض التوضيحي مباشرة الأوزان التي تم تدريبها مسبقًا (مجموعة بيانات COCO) لـ YOLOV5-S وتستخدم kuiperinfer إلى العقل

لديّ دورة تدريسية على Bilibili ، وهي حاليًا أول 13 دورات في الدورة. مخطط الدورة التدريبية هو كما يلي ، الصفحة الرئيسية هي: https://space.bilibili.com/18228582. الجميع مرحب بهم للمتابعة والدعم. طريقة دخول مجموعة التعلم كما هو موضح في رمز الاستجابة السريعة في الصورة أعلاه.
| عدد الدورات | المحتوى الرئيسي | جدول | رابط المسار |
|---|---|---|---|
| الدرجة الأولى | تكوين تفسير الإطار العام وبيئة التطوير | ينهي | https://www.bilibili.com/video/bv1hv4y1a7h8/ |
| الدرس الثاني | تحليل فئة الموتر الموتر وترتيب الذاكرة لبيانات الإدخال | ينهي | https://www.bilibili.com/video/bv1ed4y1v7gb/ |
| الدرس الثالث | تهيئة مثيل من موتر الموتر من ملف CSV | ينهي | https://www.bilibili.com/video/bv1pg411j7v5/ |
| الدرس 4 | مكتوبة بخط اليد أول مشغل إعادة تسليح وأكمل فئة مصنع تسجيل المشغل | ينهي | https://www.bilibili.com/video/bv1bg4y1j7sq/ |
| الدرس 5 | مبدأ IM2COL وتنفيذ مشغل الالتواء | ينهي | https://www.bilibili.com/video/bv1f841137ct |
| الدرس 6 | أكمل مشغل MaxPooling عن طريق رسم قطة ورسم نمر | ينهي | https://www.bilibili.com/video/bv1m3411s7yy |
| الدرس 7 | شرح بنية الرسم البياني (PNNX) | ينهي | https://www.bilibili.com/video/bv1vw4y1v7vp |
| الدرس 8 | اقرأ pnnx وقم ببناء مخطط الحساب الخاص بك | ينهي | https://www.bilibili.com/video/bv1hy4y1z7s3 |
| الدرس 9 | تنفيذ مشغل الالتواء ومبدأ الحساب المتسارع IM2COL | ينهي | https://www.bilibili.com/video/bv1f841137ct |
| الدرس 10 | استكشف فئة الموتر مرة أخرى ، قم بإنشاء علاقة الرسم البياني للرسم البياني الحساب وتخصيص إدخال وإخراج المشغل مسبقًا | ينهي | https://www.bilibili.com/video/bv1m54y1k7ag |
| الدرس 11 | عملية تنفيذ المشغل | ينهي | https://www.bilibili.com/video/bv1wy411c7kv |
| الدرس 12 | استخدم إطار التفكير المنزلي الخاص بنا لإكمال استدلال وتصنيف صور شبكات Resnet | ينهي | https://www.bilibili.com/video/bv1jd4y1m772 |
| الدرس 13 | دعم منطق نموذج YOLOV5 مع إطار التفكير محلي الصنع | ينهي | https://www.bilibili.com/video/bv1xs4y1j7t2 |
بفضل الطلاب التاليين لجهودهم إلى KuiperInfer
هذا المشروع يعادل مشروع المنبع أو ما قبل البحث في الدورة التدريبية
قد تصبح كل ميزة هنا نقطة معرفة في دورة الفيديو ، سواء تم تطويرها من قِبل طلاب آخرين.
نصائح:
$DEVELOPMENT أو تحديد -DDEVELOPMENT=ON في ملف Cmake. apt install cmake, libopenblas-dev, liblapack-dev, libarpack-dev, libsuperlu-devنصائح:
يرجى نسخ العنوان المطلق أو النسبي لصورة test.png في المجلد tmp/unet/demo بعد التجميع ، ثم تشغيل برنامج الاستدلال بالتنسيق التالي في build/demos
./unet_test test.png unet_demo.pnnx.param unet_demo.pnnx.binعنوان تنزيل نموذج PNNX: https://cowtransfer.com/s/09c7f337bab443
إذا نجح المنطق ، فسترى نتيجة تقسيم الصورة الأصلية في المجلد unet_output.jpg.
يرجى تعديل الكود التالي في مجلد yolo_test.cpp ضمن مجلد التجو التجريبي
const std::string& image_path = " imgs/car.jpg " ;
const std::string& param_path = " tmp/yolo/demo/yolov5s_batch8.pnnx.param " ;
const std::string& bin_path = " tmp/yolo/demo/yolov5s_batch8.pnnx.bin " ; image_path يحدد دليل الصورة ، param_path هو ملف معلمة النموذج ، و bin_path هو ملف وزن النموذج. الرجاء استبداله بالمسار المحلي الخاص بك.
تعريف النموذج وعنوان تنزيل الوزن كما يلي: https://cowtransfer.com/s/9bc43e0905cb40
بعد اكتمال التجميع ، اتصل ./build/demos/yolo_test في دليل المشروع
المفهوم العام: تحسين المشغلين الحاليين تدريجياً ؛ تطوير عوامل لا جدال فيها عند الحاجة
المصدر هو الدليل المصدر
الاختبار هو دليل اختبار الوحدة ، ويطبق بشكل أساسي حقوق اختبار الوحدة للطريقة العامة
Benchmark هو معايير Google ، والتي تحتوي على اختبارات أداء لـ Mobilenetv3 و Resnet18 و Yolov5s.
15 Core AMD EPYC 7543 (Xiaolong) 32-Core Processor (Docker Container ، يحتوي المضيف على 32 نوى)
GCC (Ubuntu 9.4.0-1UBuntu1 ~ 20.04.1) 9.4.0
تستغرق وقتًا طويلاً وتشغيل خمس مرات متتالية ويتم حسابها بطريقة متوسطة
| حجم الإدخال | اسم النموذج | معدات الحوسبة | يستغرق وقتا طويلا |
|---|---|---|---|
| 224 × 224 دفعة = 8 | mobilenetv3small | وحدة المعالجة المركزية (Armadillo + OpenBlas) | 6.76ms/الصورة |
| 224 × 224 دفعة = 8 | RESNET18 | وحدة المعالجة المركزية (Armadillo + OpenBlas) | 23.53ms/Image |
| 224 × 224 دفعة = 16 | RESNET18 | وحدة المعالجة المركزية (Armadillo + OpenBlas) | 13.52ms/الصورة |
| دفعة 640 × 640 = 8 | Yolov5nano | وحدة المعالجة المركزية (Armadillo + OpenBlas) | 78.37ms/الصورة |
| دفعة 640 × 640 = 8 | Yolov5s | وحدة المعالجة المركزية (Armadillo + OpenBlas) | 177.54ms/صورة |
| 640 × 640 دفعة = 16 | Yolov5s | وحدة المعالجة المركزية (Armadillo + OpenBlas) | 134.57ms/Image |
احتفظ إطار التفكير NCNN ببروتوكول BSD من NCNN في الكود المشار إليه https://github.com/tencent/ncnn
مكتبة رياضيات ممتازة OpenBlas: https://github.com/xianyi/openblas
مكتبة الرياضيات ممتازة Armadillo: https://arma.sourceforge.net/docs.html
إطار الكافيين الذي يلهمني: https://github.com/bvlc/caffe
FMATH Framework: https://github.com/herumi/fmath/