باز کردن قدرت SoCs HiSilicon AI با ابزارهای بازی

شما می توانید سریع برای سخنرانی های "HiSilicon AI" توسعه دهید. از ابزارهاي استاندارد باز استفاده ميکني اين قدرتمند اس دي كي

باز کردن قفله

شما می توانید سریع برای سخنرانی های "HiSilicon AI" توسعه دهید. از ابزارهاي استاندارد باز استفاده ميکني این اس دی کی قدرتمند پروژه های یادگیری ماشین شما رو پشتیبانی میکنه مسیر تو برای ایجاد برنامه های AI ساده است.

  1. محیط توسعه خود را روی تخته برقرار کنید
  2. یک مدل یادگیری ماشین از یک چارچوب باز تبدیل کنید.
  3. مدل الکترونيکي خودت رو روي تخته ي لبه اداره کن

اين راهنما بهت يه راهي ميده تا اولين کاربرد سازماني تون رو اجرا کني. می توانید یک مدل استاندارد را بگیرید و ببینید که آن را برای محاسبات محاسبات انجام می دهد. اکوسیستم اجرای فوق العاده ای برای کارهای آموزش و محاسبات شما را ارائه می دهد.

دست یافتن اجرای بخش AI🚀

چارچوب "Acend CANN" را قادر می سازد برای یادگیری عمیق در لبه.

متریمقدار) بر NPU (
& پر کردن پیشروی۶۶۸ نشانه/ ثانیه
رمزگشایی۱۴۴۳ نشانه/ ثانیه
رمزگشایی پایید۵۳۸ نشانه/ ثانیه

این سفر یادگیری مفهوم های ای آی شما رو به محاسباتی دنیای واقعی حرکت میکنه

حذف کلید

  • می توانید درخواست های AI را بر روی HiSilicon بسازیدسطح های AIبا استفاده از ابزارهاي باز مثل "آسند سي ان اس ديک"
  • "آسند CANN SDK" دو ابزار اصلی داره: ATC مدل های تبدیل میکنه و "آسند سیل" اونها رو روی سخت افزار AI اجرا میکنه
  • شما می توانید از چارچوب های محبوب AI مانند تنسور فلو و پیتوچ استفاده کنید. مدل هاتون رو به ONNX تبديل کنيد براي بهترين نتايج
  • محیط توسعه خود را با نصب کردن صفحه ابزار CAN تنظیم کنید. پس، تاسيسات رو بررسي کنيد تا اطمينان حاصل بشه
  • برای اجرای اولین برنامه ی AI شما، مدلی بعدش از "آسند سیل" استفاده کن تا بفرستینش و روی تخته ات اداره کنید

مکالمه ی اکسیستم

مکالمه

استفاده از Ascend CANN (ماشین کامپیوتر برای شبکه های خنثی) SDK به عنوان هستهٔ اکوسیستم AI مدرن است. این اس دی کی قدرتمند ابزارهایی برای پروژه های یادگیری ماشین شما را به شما میدهد. اکوسیستم حمایت میکنه از توسعه مدل تا دستگاه های لبه این اکوسیستم AI طراحی شده برای محاسبات لبه ی بالایی طراحی شده است.

هیسیکون

ابزار اصلی تو اس.د.ک. این جایگاه های هی هی دیک قدیمی تره این SDK حاوی دو اجزای کلید برای وظایف هوش مصنوعی شماست.

  1. ترکیب دهنده ی افزودن تنور (ATC):از این ابزار برای تبدیل مدل شبکه های عصبی خود استفاده کنید. این مدل هایی از چارچوب های بازی دریافت میکنه و اونا رو برای تخته آماده میکنه ATC همچنین مدل شما را برای عملکرد بهتر و کمتر بهینه سازی می کند.حافظهاستفاده با پشتیبانمحاسبات نیم دقیقه. مدل شما را با ویژگی هایی مثل :

    • بهینه سازی زمان بندی عملیات
    • بهینه سازی حافظه
    • پیش پردازش دیجیتال (DVPP) برای پردازش تصویر سریعتر
  2. صعود زبان محاسبه) فرود آیCL :تو از این API استفاده میکنی تا مدل خودت رو روی سخت افزار AI اجرا کنیکتابخونه "پيتون"، "پيACL" بهتون اجازه ميده که کد بنويسين و مدل آموزش ماشينتون رو اجرا کن. اینطوری است که درخواست شما با هزینه های هیسیلون

ارتباطی

شما می توانید با چهارچوب یادگیری عمیق شروع کنید. پلت آسسند چارچوب هاي معروف AI پشتيباني ميکنه و انتقال شما به لبه محاسبات محاسبات را نرم ميکنه به راحتی می توانید آموزش های کار ماشین موجود خود را یکپارچه کنید.

نکته:برای بهترین نتایج، شما باید مدل های خود را به قالب ONNX صادر کنید. میتونی از ابزار هایی مثلاً استفاده کنیTf2onnxتا مدل های تنور فلو رو قبل از استفاده از ATC تبدیل کنی

CANN SDK با نسخه های چارچوب مشخصی برای اطمینان ثبات اثبات می کند. برای مثال ، اینجا نسخه های پشتیبانی شده هستپیتورچ:

چارچوبنسخهنسخۀ CANN
پیتورچ2.1.07.0.0
پیتورچ1.11.07.0.0

پروژه های ارتباطی

فراتر از SDK يک جامعه قوي ساخته ميشهابزارهای متن بازی. پروژهٔ OpenIPC/openhisilicon یک مثال عالی است. SDK یک جامعه هدایت شده برای فوری و توسعه سطح پایین در سیستم های مختلف است. این پروژه با گواهینامه MIT/GPL، کنترل بیشتری به شما می دهد. این تراشه های مختلفی از پردازش دیدگاه هایی را پشتیبانی می کند که شامل:

این تلاش های جامعه یک مسیر دیگر برای یادگیری ای آی شما و توسعه بر روی دستگاه های لبه را فراهم می کند.

عمومی

شما الان آماده اید که محیط رشد خود را آماده کنید. اين تنظيمات پايه ي تمام پروژه هاي آينده تون روي هيئت مديره نرم افزاری لازم را نصب می کنید و تأیید می کنید که سخت افزارتان برای آموزش ماشین آماده است.

هاردواره و سافوار

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

مراقب این خطاهای برپایی مشترک باشید⚠شش

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

  • Sh: نمی توان «./pinmux.sh» را باز کرد: چنین پرونده یا شاخه ای وجود ندارد
  • Sh: نمی توان «clkfg.sh» را باز کرد: چنین پرونده یا شاخه ای وجود ندارد
  • Insmod: نمی توان «hi_osal.ko» را وارد کرد: چنین پرونده یا شاخه ای وجود ندارد
  • هیچ اتصال شبکه در Hi3516AV200 وجود ندارد

. . . .

‫شما میتونید اختصاصی رو نصب کنید این فرایند شامل بارگیری بسته های درست و اجرای نصب کننده است.

  1. بسته های بارگیری: راننده، شرکت افزار و بسته های ابزار را از جامعه رسمی آسسند بگیرید.
  2. ایجاد کاربر: تنظیم یک گروه کاربری وقف شده برای اجرای کاربردهای Ascend.
    سودو گروگاند - g HwHiAiUserName
    سودو useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser
    
  3. نصب گرداننده: ارائه مجوزهای اجرا به پرونده ها و نصب کننده را اجرا کنید.
    سدو چامود x * run
    سودو . /فرود-hdk-xxx-npu-driver_* .run --fulln
    سودو . /رفق-hdk-xxx-npu-firmware_*.run --full_
    
  4. نصب ابزار کیت: در نهایت، نصب کننده ابزار را برای تکمیل برپاسازی SDK اجرا کنید.
    . /پایین-can-toolkit_*.run --install
    

بعد از نصب SDK ، ممکن است لازم است که متغیرهای محیطی را تنظیم کنید ، برای پیکربندی سکوی محرمانه خود برای ساخت کاربردهای AI را تنظیم کنید.

متغیرتوصیف
ASCEND_HOME_پاتمسیر آغاز برای صفحه ابزار CANN را تنظیم می کند.
_فراسینسخۀ تراشه اش را مشخص می کند.
ماکس_جوبزتعداد هسته های پردازشگاهی را برای ترجمه کردن تعریف می کند.

. . . .

بعد از نصب بايد تاييد کني که همه چي کار ميکنه یک نصب موفق ، پیامی مثلی را نمایش می دهدنصب موفقیت xxxxx. همچنین می توانید فرمان را برای بررسی وضعیت سخت افزار AI اجرا کنید. این گام تایید می کند که محیط یادگیری ماشین شما برای محاسبات و یادگیری عمیق آماده است.

بررسی وضعیت NPU

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

اطلاعات npu-smi
--------------------------------------------- -------------------------------
| Npu-smi 23.0. نسخه: 23.0.1
--------------------------------------------- -------------------------------
| نام NPU | سلامت
| چیپ | اتوبوس-ایند
================================================================+
| 4 910B3 | خب | 93.6 40
۰ | ۰۰۰: ۰۰ | ۰ | ۰ | ۰
================================================================+

این تایید میکنه سفر یادگیری شما به لبه ی AI میتونه شروع کنه

اولين نخست تو

تو

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

آماده ي يکي از ماشين

اولین قدمت اینه که یه مدل پیش تربیت شده رو انتخاب کنی می توانید مدل های زیادی را در کتابخانه های منبع باز مانند باغ وحش ONNX مدل پیدا کنید. برای این راهنما، شما از رزنیت-50 استفاده می کنید، یک مدل محبوب برای تشخیص تصویر. این نقطه ی خوبی برای سفر یادگیری شما فراهم میکنه

مدل شما به داده های ورودی در یک قالب مشخص نیاز دارد. رزن نت-50 انتظار داره که تصاوير يک اندازه خاص و پيش پردازش شده باشه قبل از اینکه تصویر را به شبکه عصبی تغذیه کنید ، باید اندازۀ آن را به شکل ورودی مدل تغییر دهید۲۴×۲۲۴ تصویردانه با ۳ مجرای رنگ. همچنين لازمهمعمول سازی مقادیر تصویردل. این آماده سازی مطمئن می شود که مدل می تواند داده های تصویر را درست درک کند.

شما به راحتی می توانید یک مدل پیش آموزش یافته ی ResNet-50 را با استفاده از یک چارچوب یادگیری عمیق مانند تنورف بار کنید. آروم. کد زیر نشان می دهد که چگونه مدل را برای کار دید کامپیوتری تان آماده کنید.

واردات تانسور به عنوان tf

عرض = 224
پهنای ۲۲۴

برنامه های پروژه
شکل:
وزن = 'imagenet' (

در حالی که رزنیت ۵۰ انتخاب خوبی است، اکوسیستم AI مدل های دیگر برای وظایف های متفاوتی و شناختی پشتیبانی می کند. همچنین می توانید با این راه ها شروع کنید:

  • شبکه موبال: یک مدل کارآمد برای دستگاه های بینایی موبایل و طراحی شده.
  • نت: یک مدل کوچک که دقت خوبی را با منابع کمتر به ارائه می دهد.
  • VGG: یک مدل قدرتمند برای چالش های طبقه بندی تصویر پیچیده تر.

همچنین می توانید مدل های دیگر دامنه های هوش مصنوعی مانند شناسایی سخنرانی را برای افزایش مهارت های خود را بررسی کنید.

مدل با آتیس

توهیسیلوننمی تواند مستقیماً مدل TensorFlow یا ONNX را اجرا کند. اول بايد تبديلش کنيد به فرمتي که هيئت مديره ميفهمه. برای این تبدیل از ابزار ترکیب کننده (ATC) از SDK استفاده می کنید. این ابزار مدل شما را برای سخت افزار AI بهینه می دهد، و شتاب شتابی AI بالای اجرا را فعال می کند.

فرمان ATC مدل اصلی شما را می گیرد و یک مدل برون خط را خروج می کند). اُمپرونده. اين پرونده براي پخش کردن سيستم هاي لبه شما آماده است

تبدیل مدل خود با این فرمان⚙شش

فرمان زیر در پایانۀ خود اجرا کنید. مطمئن شوید که مدل ResNet- 50 خود را به قالب ONNX صادر کرده اید.

Atc --model=./resnet50.onnx \
-- فرم کار = ۵ \
-- Output=./resnet50 \
--Input_ شکل = "real_input_1:1,3,224,224" \
--Soc_ نسخه:

بگذارید نشانوندهای کلیدی در این فرمان را بررسی کنیم:

نشانوندتوصیف
--Model:مسیر مدل ورودی خود را مشخص می کند) مثلاً ،. درونx. .
--Frameworkچارچوب اصلي رو تعريف ميکنه۵واسه "انکس" هست
-- خروجیمسیر و نام خروجی را تنظیم می کند. اُمپرونده
شکل --input_به کامپایلر میگه بعد دقیق ورودی برای مدل شما.
نسخه -- soc_هدف تراشه روی تخته شما را مشخص می کند.

. . . .

از اون استفاده ميکنيصعود زبان محاسباتی) پایین ACL (تا با مدل تبديل شده تبادل کني AscendCL یک API است که به کاربردهای شما اجازه می دهد با پردازنده AI Ascend ارتباط برقرار کنند. برای توسعه دهندگان Python ، SDK یک کتابخانه ای به نام نام فراهم می کندپیACL. این API برای مدیریت هیئت مدیریت، بارگذاری مدل خود، و اجرای نمایش آموزش ماشین را می دهد.

API شامل ابزارهایی برای مدیریت حافظه است. میتونی از عملکرد هایی مثلاً استفاده کنیآلوکتنسوربرای اختصاص دادن حافظه برای ورودی و دادۀ خروجی شما مستقیما روی دستگاه. این کنترل بهینه سازی عملکرد را با مدیریت حافظه طی پردازش داده کمک می کند. AscendCL همچنين عملياتي براي اجراي هم همکاري و هم نارسايي فراهم ميکنه به شما انعطاف پذیری در طراحی کاربردهای الی

اینجا یک دوربین ساده شده با استفاده از Python استفاده استپیACLبراي نشون دادن منطق هسته این کد نشون میده که بارگذاری یک مدل و آماده کردن برای تجسس

واردات acl

# ۱ اولیه سازی اضافی
نت = acl.init()

# 2. انصراف منابع) دستگاه، متن، جریان (
شناسۀ دستگاه = ۰
Ret = acl.rt.set_device(Device_ id)
متن ، ret = acl.rt.create_context(Device_ id )
جریان ، ret = acl.rt.create_stream ().

#3 بار کنيد . مدل
مدل_راه = «./resnet50.om»
Model_id ، ret = acl.mdl.load_from_file(model_path)

# . ... کد برای آماده کردن داده های ورودی ، اجرای ترجیح و پردازش خروجی...

# 4. مدل بارگذاری و منابع را آزاد کنید
نت = acl.mdl.unload(model_id)
نت = acl.rt.destroy_stream(stream)
Ret = acl.rt.destroy_context( متن)
Ret = acl.rt.reset_device(Device_ id)
نت = acl.finalize()

دپلو

مرحله نهايي اينه که کد شما رو روي تخته ي لبه اجرا کنيم دست نوشته ي پيتون و تبديل شده. اُممدل به دستگاه. وقتی نمایش رو اجرا می کنی، این کاملا آموزش ماشین رو اجرا میکنه. ،آسند سیل مدل رو بار میکنه کد شما آماده و بهش تصویر میکنه و سخت افزار سازمان کامپيوتري رو اجرا ميکنه

خروجی این مدل یک تانوسور خام از اعداد است. این تانسور نشان می دهد که احتمال هر کلاس ممکن است. کد شما باید پردازش بعدی روی این خروجی انجام دهد تا نتایج قابل خواندن انسان را بدست بیاورد. ميتونيیک تابع Softmax در این شماره ها برای گرفتن احتمال نهایی استفاده کنید. بالاترین احتمال با کلاس پیش بینی شده برای تصویر ورودی مطابقت دارد. این گام نهایی داده های خام از مدل یادگیری عمیق شما را به یک پاسخ معنی برای برنامه ی دید کامپیوتری تبدیل می کند. این اولین پروژه AI شما را کامل می کند، از گزینش مدل تا دستگاه و پردازش نتیجه.


در حال حاضر می توانید درخواست های قدرتمندی AI را برای هیسیلون AI بسازید. سریعترین مسیرت از "آسند CAN SDK" استفاده میکنه با چارچوب آموزش ماشین باز. این روش توسعه AI را برای دستگاه های لبه ساده می سازد. پروژه های آینده شما می تواند الگوی اصلی برای موفقیت را دنبال کند.

هیئت هیئت🗺شش

  1. "سيان اسديک" رو روي تخته ات بذار.
  2. مدل شما را با ابزار ATC تبدیل کنید.
  3. کد خود را با API API برای پردازش دستگاه روی دستگاه استفاده کنید.

این سفر یادگیری شما را برای محاسبات پیشرفته آماده می کند. می توانید مهارت های یادگیری ماشینی خود را گسترش دهید و احتمالات جدید پردازش AI را در تخته تان بررسی کنید. SDK رسمی و منابع اجتماعی از یادگیری ادامه دارد.

  • میتونی کامل رو پیدا کنیمستندات CANبراي يادگيري عميق
  • ...گيت هابپروژه ها و ابزارهایی را برای محاسبات لبه ارائه می دهد.

FAQ

اگه مدل من در قالب او انکس نباشه چي؟

اول می توانید مدل خود را به ONNX تبدیل کنید. بیشتر چارچوب هایی مانند TensorFlow و PyTorch، ابزارهایی برای مدل صادرات می باشند. این قدم اضافه مدل شما را برای ابزار ATC آماده می کند. یک تمرین استاندارد در بسیاری از جلوگیری های توسعه کمک هایی است.

ميتونم از اين ابزارها براي پروژه هاي ديگه غير از ديد کامپيوتر استفاده کنم؟

چرا ميتوني ابزار Ascend CANN محدود به وظایف دید نیست. می توانید درخواست های مختلفی را بسازید. این پروژه ها شامل شناسایی سخنرانی و پردازش زبان طبیعی می باشد. ابزارها از مدل های مختلفی پشتیبانی می کنند.

از کجا میتونم پروژه های آی رو برای شروع پیدا کنم؟

بررسی پروژه های نمونه🧑‍💻

پروژه های زیادی را می توانید در جامعه Ascend در GitHub پیدا کنید. این نمونه ها وظایف های مختلفی را پوشش می دهند و کد کامل را فراهم می کنند. آنها منابع بزرگی برای یاد گرفتن چگونه درخواست خودتان هستند.

آيا من يه نسخه خاصي براي کامپيوتر ميزبان لازم دارم؟

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

Related Articles