باز کردن قفل عملیات جلوه با ذخیره YOLO/ResNet برای HiSilicon.

هدف شما برای بهینه سازی یُلوو/سست این جریان کار افزایش میده

باز کردن قفله

هدف شما برای بهینه سازی یُلوو/سست این جریان کاری را افزایش می دهد و فعالیت را افزایش می دهد. از يه مجموعه ابزار هسته براي آماده کردن مدل تون براي سکوي ارسيند استفاده ميکنيد.

ابزارهای کلید برای کاربری HiSiliconName

  • :قالب بيني براي مدل آموزش ديده ات
  • ترکیب دهنده ی افزودن تنور (ATC):مدل ONNX شما را به یک مدل قدرتمندی تبدیل می کند.
  • قیدسازی INT8:فعالیت پردازش مدل را افزایش می دهد.
  • آیپی:مدل شما را در افزودن NPU شتاب می دهد تا بهتر از کاربرد باشد.

مدل جوو 7 یک مثال عالی است. شما می توانید برای مدل اللوov7 خود را در سخت افزارهای HiSilicon به دست بیاورید. این فرایند قدرت کامل سلول های سیلیکان اسسند را برای مدل صعود شما باز می کند.

حذف کلید

  • اول مدل خود را به قالب ONNX تبدیل کنید. اين باعث ميشه که اون رو براي سکوي رسيدن آماده کنه
  • برای تغییر مدل ONNX را به یک پروندۀ ویژه ».om « از Ascend Tensor (ATC) استفاده کنید. اين پرونده بهترين روي تراشه هاي آسسند کار ميکنه
  • استفاده از قطع سازی INT8 در مدل خود. این باعث می شود که خیلی سریعتر کار کنه و از قدرت کمتر استفاده کنه.
  • استفاده از پیش پردازش AI) AIP (. اين به "آسند چيپ" کمک ميکنه که کارهاي تصوير رو انجام بده
  • نمايش مدلت رو چک کن مطمئن شو که همه قسمت ها روي کار ميکننNPUNameبراي بهترين سرعت و استفاده قدرت.

ارتباط برقرار کردن یالایسنت برای هیسیکون:

ارتباطی

اولین گام شما در بهینه سازی ایلو/resnet یک تمیز استمهاجرت مدل. شما باید مدل آموزشده PyTorch یا TensorFlow خود را به قالب ONNX (Openral Network Exchange) تبدیل کنید. این قالب به عنوان یک پل جهانی به سکوی Ascend عمل می کند.

تبدیل مدل به ONNX:

می توانید یک مدل PyTorch را با استفاده از دست نوشتۀ ساده Python صادر کنید. این دست نوشته عملیات مدل شما را ردیابی می کند و آنها را در یک تک ذخیره می کند. درونxپرونده.

# استفاده از torch.onnx.export برای تبدیل مدل شما استفاده کنید
Torch.onnx.export()
مدل ، # مدل PyTorch شما
نمونه:
"Model.onnx", # نام پروندۀ خروجی
Opset_version=17 , # نسخۀ ONNX مورد استفاده قرار دارد
درود_ نامها=['درود' ،
خروج_ نامها=[' خروجی']
)

پس از صادرات ، باید از ابزاری مانند استفاده کنیدسادهبراي تميز کردن نمودار. کاربران تنورFlow گاهی اوقات با چالش های مهاجرت روبرو می شوند. مسائل مشترک شامل:

  • نام عملگر نامعتبر: خطاهاخطای مقدار: '/conv_in/Conv_pad /' یک نام دامنۀ ریشهٔ معتبر نیستممکنه اتفاق بيفته استفاده از ابزارهای دیگر اغلب این را با تغییر نام عملگران حل می کند.
  • اندازه های تنظر: مدلهانوسان های بزرگتر از ۲ بیگميتونه باعث شکست تبديل بشه شايد لازم باشه معماري مدل خودت رو تنظيم کني

این قدم ها مهاجرت رو برای مدل شما مطمئن میکنن

تطبیق مدل YOLOv7:

مدل های آشکارسازی اشیای مدرن مانند مدل جولوو 7 نیاز به توجه خاص دارند. معماری یولوو 7 لایه های منحصر به فرد دارد. شما باید مدل یُلوو 7 رو برای سکوی های سیلیکان تطبیق کنید این سازگاری برای مهاجرت مدل یولوov7 مهم است. رسیدگی به طور مناسب مدل یُلوو 7 میتونه تشخیص دقیق بالا باشه این فرآیند مدل رولوو 7 را برای سطح بالا آماده می کند. هدف شما یک مهاجرت موفقی از مدل یولوov7 برای تشخیص اشیای عمیق است. مدل یولوov7 یک ابزار تشخیص شیء قدرتمند است. این مهاجرین مدل جولوو 7 کلید برای اجرای است. مدل يولوov7 به هر شیء کمک می کند. تطبیق مدل جورو 7 بخشی از فرایند اعتباری است.

تحلیل پشتیبانی عامل NPU:

مرحله بعدي شما اعتبار اپراتوره ممکن است هر عملگر مدل شما را پشتیبانی نکند. باید بررسی کنید این تحلیل حیاتی برای بهینه سازی یولو/resnet در هیسیلیکان است.کلاس ابزار "هواويبراي اينکه ايستگاه "آسند" ابزارهايي براي اين پيشنهاد ميکنه

  • ...بررسی کاربردی مدلمیتونه عملگرهای پشتیبانی نشده در مدل شما شناسایی کنه
  • این نشان می دهد که چگونه مدل بین NPU و CPU تقسیم می شود. تقسيم هاي بيشتري ميتونه صدمه بزنه

این تحلیل به شما کمک می کند که کاربردی روی سخت افزار های HiSilicon به حداکثر سازی شود. اگر عملگرهای پشتیبانی نشده را پیدا کنید، ممکن است لازم باشدگراف مدل خود را بازنویسی کنید. اين اطمينان ميده که هر بخشي از مدل روي نژاد اداره ميشه این مهاجرین گراف عملکرد و فعالیت را بهبود می دهد. ناپدید شدن کامل NPU روی سکوی Ascend شیء اصلی است. این مرحله نهایی مهاجرت قدرت کامل هیسیلیکان ارسسند رو برای مدل های تشخیص اشی شما باز میکنه این کاربرد یُلوو 7 شما رو بهتر از هی سیلیکان و افراند میده مدل یُلوov7 اکنون می تواند تشخیص سریع هر شیء را انجام دهد. نمايش مدل "لوروف 7" در "آسند" عالي خواهد بود. مدل اُلووف 7 آماده است مدل اُلوو 7 تشخيص خيلي خوبي ميده مدل جولوو 7 بهینه شده مدل اُلووف 7 کامله

ارتباط و پرداخت:

کوره

تو يه مدل تميز او انکس داري مرحله ي بعدي تبديلش ميکنه این مرحله روی اجرای اصلی تمرکز میکنه شما از ترکیب دهنده ی اضافی استفاده میکنید (ATC) و کوانتیزیت برای باز کردن بهترین کاربرد و کاربری برای مدل های تشخیص اشی شما در سخت افزار های هیسیلیکون این فرایند ضروری استبهینه سازی عملکرد یلوو/رسشت.

تغییر مدل ATC:

ترکیب کننده ی "آسند تنسور" (ATC) ابزار اصلی شما برای این مهاجرت است. مدل ONNX تو رو تغيير ميده. اُمپرونده. این پرونده برای پردازنده های Ascend بهینه شده است. تو از خط فرماندهي اداره ميکني

یک فرمان معمولی ATC این شکلی است:

Atc --model=yolov7.onnx \
-- فرم کار = ۵ \
-- Output=yolov7_ bs1 \
--Input_ format=NCHW \ \
--Input_ شکل = " تصویر: 1,33,640,640" \
--Soc_ نسخه = آغاز ۳۱۰ \
--Log= اطلاعات

پارامترهای کلید تبدیل برای پردازنده های Ascend راهنمایی می کنند:

  • --Model:: ورودی خود را مشخص می کند. درونxپرونده مدل
  • --Framework: استفاده۵براي مدل او انکس.
  • -- خروجی: نام خروجی شما. اُممدل
  • نسخه -- soc_: هدف مشخصی هیزلیکان SOC است.صعود 310. اين براي اجراي حياتيه.
  • شکل --input_: اندازۀ ورودی ثابت را برای مدل تنظیم می کند.

باید یک ثابت فراهم کنیدشکل _ ورودیبراي مدل تو مدل ها برای تشخیص شیء گاهی اوقات ابعاد ورودی متغیر دارند. ابزار ATC به یک شکل ایستایی برای بهترین عملکرد بر روی پردازنده های Ascend نیاز دارد. این مرحله یک مهاجرت موفقی را اطمینان می دهد و اشتباهات در طی برنامه های هیسیلیکون جلوگیری می کند.

قیدسازی INT8:

کمیت سازی دقت مدل شما از ۳۲ بیتی نقطه شناوری (FP32) به عدد ۸ بیتی) را کاهش می دهد. این تغییر به طور حیاتی سرعت و کاربری قدرت را بهبود می دهد. مهاجرت به دقت INT8 یک گام اصلی برای پخش یک مدل YOLOv7 در Hisilicon است. شما دو گزینه اصلی برای این مهاجرت دارید.

روشتوصیفبهتره
کوچک سازی پس از آموزش) PTQ (بعد از اینکه مدل آموزش یافته استفاده میکنه اينطوريهساده و سریع.جایی که یک قطره دقت کوچک قابل قبوله
آموزش کوانتیک- افزار) QAT (کمیت سازی طی فرایند آموزشی شبیه سازی می کند. مدل ياد مي گيره که با دقت کمتر تطبيق بشهنمونه هایی که لازمهبالاترين دقت ممکن بعد از کميته.

برای بسیاری از مدل های آشکارسازی شیء YOLOv7، PTQ یک تعادل عالی پیشنهاد می کند. ميتونهدو برابر سرعت تونو بهتر کردن کاربری بر روی پردازش های AI این کار کاربرد YOLOv7 شما را سریع تر برای تشخیص در زمان واقعی هر شیء می کند. تجارت کوچک در دقت اغلب برای افزایش بزرگ در عملکرد و کاربری بر روی پردازنده های Ascend قابل پذیر است. اين مهاجرت نهايي مدل YOLOv7 شما رو براي کاراي اوج روي پردازنده هاي هيليکان اسسند آماده ميکنه آماده ي هر شي با سرعت پيدا کنيم نمايش تشخيص مدل يولوو 7 در آساند عالي خواهد بود

توپ های عمومی:

شما می توانید نمایش مدل خود را با تنظیم پیشرفته افزایش دهید. اين تکنيک ها مدل "يولوو 7" شما رو براي سکوي هيسيلينکون آنها به شما کمک می کنند تا به دست بیشتر کارایی و عملکرد بالایی برای برنامه های در زمان واقعی برسید.

پیش پردازش AIPP:

شما می توانید مدل خود را با استفاده از پیش پردازش AI (AIPP) شتاب دهید. AIPP تکلیف پیش پردازش تصویر را مستقیم به سخت افزار Ascend از پردازش پرداختی خاموش می کند. این یک قدم مهم برای کاربری بهتر است.

AIPP کارهایی مثل:

  • تغییر اندازۀ تصویر
  • تبدیل فضای رنگ) مثال BGR به RGB (
  • کم کردن و معمولی

اين پردازش پرداخت شما رو آزاد ميکنه این اجازه می دهد که پردازنده های آسسند تمام خط لوله ی تصویر رو به عهده بگیرند. مدل "يولوو 7" شما سريع تر از زمان واقعي با مديريت بهتري اين مدل بهترين کاراي تو روي "هيسيلينکون" ميده

حافظه و دستشویی:

مناسبحافظهمديريت براي نمايش بالا ضروريه شما باید مدل YOLOv7 خود را پیکربندی کنید تا از حافظه به طور مؤثر استفاده شود. دستشويي يه تکنيک قوي براي اينه این شامل پردازش چندین تصاویر در یک عبور تصویر است.

اندازۀ دستهضررلاتینس
کوچک) مثلاً 1(پایین ترسریعتر در هر تصویر
بزرگ) مثلاً ۸، ۱۶بالاترآهسته تر در هر تصویر

افزایش اندازه ی دسته ها را بهبود می دهد که به طور کلی مدل شما روی پردازنده های Ascend پردازنده ها را بهبود می دهد. این منجر به مدیریت قدرت و کاربری بهتر میشه شما باید تعادل درستی رو برای مدل YOLOv7 تون پیدا کنید تا بهترین اجرای تشخیص زمان واقعی رو بدست بیارید این بهینه سازی برای کلید استمدل های سازمان AI با کاربرد بالاییدر سلامتي سيليکون

نمایش پرونده:

تو بايد مدل خودت رو براي پيدا کردن ضربه هاي عملياتي ابزار پروفایل نشون میده که مدل شما چطور روی پردازش های AI اداره میکنه اونا به شما کمک ميکنن تا هر لایه اي روي NPU اجرا بشه براي بهترين کاربري و مديريت برق

بعضي وقتالایه های خاص در یک مدل به پرداخت پردازشی. این رخ می دهد هنگامی که پردازنده های Ascend نمی توانند عملیات مشخصی ، مانند یک لایه SoftMax یا رخ دهدپردازش پس از پردازش NMS در یک مدل YOLOv7. این عقب ضربه ای قابل توجهی رو ایجاد میکنه، سرعت و کاهش در زمان واقعی و صدمه زدن به قدرت. نتیجه رسیدن به شما کمک می کند تا این موضوع را تشخیص دهید . این نشان می دهد که اگر یک بار کار بزرگ را به جای استفاده از سخت افزار قدرتمند Ascend بار می کند. با تحلیل منفجره های اجرای شما می توانید مدل خود را برای استفاده از عملیات پشتیبانی شده NPU تغییر دهید. اين اطمينان ميده که شناسايي مدل يالوو 7 شما با بيشترين دقت و کارآگاه روي هيسيلينکون اجرا ميکنه باز کردن اجراي واقعي و مديريت عالي انرژي براي تثبيت زمان واقعي


مدل شما ميتونه برنامه ي بالا بره این ضربه کاری بهینه سازی قفل می کند که حداکثر کارایی را برای سکوت

  1. صادرات مدل خود را به یک گراف ONNX تمیز کنید.
  2. تبدیل مدل به ها. اُمپرونده ي سلول
  3. کمانتیزی INT8 برای کاربردی بهتر استفاده کنید.
  4. از AIPP برای خاموش کردن پیش پردازش در سخت افزار Ascend استفاده کنید.

فهرست بررسی اعتبارسنجی نهاییName📝

  • اعتبارسنجی: تایید کنیدنسخه _سوکبا سخت افزار هدف هيسيلون
  • اعتبارسنجی کاربرد: مطمئن شوید که شکل ورودی مدل شما برای سکوی افزودن درست است.
  • اعتبارسنجی کاربرد: تأیید تمام اپراتورهای مدل توسط Ascend NPU پشتیبانی می شوند.

بهینه سازی ایلو این اعتبار بررسی قدرت کامل سطح آسسند برای سخت افزارهای هیسیلیکان شما را باز می کند.

FAQ

چطوری بین PTQ و QAT انتخاب کنم؟

بهتر استفاده از Quantization (PTQ) استفاده می کنید. اين يک سرعت بزرگ پيشنهاد ميده هنگامی که به بالاترین دقت ممکن نیاز دارید، می توانید از تمرین های Quantization-Aware) QAT ( استفاده کنید. QAT نیاز به بازگرداندن مدل شماست اما نتایج بهتر و بهره ی قدرت خوبی را به ارائه می دهد.

اگه مدل من اپراتور ناپذير باشه چي؟

اول باید اپراتورهای پشتیبانی نشده را با استفاده از صفحه ابزار CANN شناسایی کنید. سپس می توانید آنها را با گزینه های پشتیبانی شده NPU جایگزین کنید. این مطمئن می شود که کل مدل شما روی سخت افزار آسسند اجرا می شود، که برای عملکرد و به بهترین کارآمد قدرت است.

چرا AIPP برای مدل من مهمه؟

AIPP پیش پردازش تصویر از پردازش پرداخت به NPU خاموش می کند. این منابع پرداخت رو آزاد میکنه کل خط لوله ي شما روي سخت افزار افزار افزار افزايش ميگيره کاهش دير و بهبود بهترين کارهاي انرژي کلي براي درخواست شما.

اينطورهنسخه _سوکپارامتر واقعا مهمه؟

آره، خيلي مهمه شما بايد تنظيمش کنيدنسخه _سوکتا تطبیق خاص خودتهی سیلیکان تریپمثال،صعود 310. . ابزار ATC از این اطلاعات استفاده می کند تا یک پرونده مدل ایجاد کند که برای آن معماری دقیق سخت افزار بسیار بهینه شده است.

Related Articles