فناوریهای اینتل ممکن است به فعالسازی سختافزار، نرمافزار یا سرویس نیاز داشته باشند.
from openvino.runtime import Core
میتوانید کد منبع کامل نسخهی نمایشی امروز را در یک نوت بوک Kaggle بیابید، جایی که به صورت مجموعهای از بلوکهای بسیار کوتاه و شمارهگذاری شده است.
AI/ML دنیایی از امکانات را برای توسعه دهندگان باز می کند تا کارهای جدید و هیجان انگیزی را با برنامه های خود انجام دهند. اما اگر واقعاً می خواهید به یک توسعه دهنده واقعی هوش مصنوعی تبدیل شوید، ابتدا باید اصول اولیه را بدانید. یک پله اساسی عالی، آشنایی با تشخیص کاراکتر نوری (OCR) است. OCR ممکن است یک برنامه یادگیری ماشینی اساسی باشد (از سال 1965 وجود داشته است!)، اما به چند دلیل مهم است:
- به دلیل سادگی، اغلب اولین مشکل یادگیری ماشینی است که در مدرسه با آن مواجه می شوید.
- با یادگیری عمیق شبکه عصبی کانولوشن (CNN)، اکنون میتوانیم به دقت بسیار بالایی (با نرخ خطای کم 0.17٪) دست یابیم.
- این به طور موثر بر روی سخت افزارهای مدرن مانند CPU های لپ تاپ با OpenVINO™ اجرا می شود.
OpenVINO Runtime (Core) در بلوک 15 با این دستور بارگذاری می شود:
سپس، بلوک 16 توپولوژی (model_xml) و وزن (model_bin) مدل IR را در موتور استنتاج OpenVINO بارگذاری می کند:
نرم افزار
برای مثال سیستم پست را در نظر بگیرید. برای مرتب کردن هجوم بی پایان نامه ها و بسته ها تلاش زیادی لازم است. بدون OCR، ممکن است تحویل به تاخیر بیفتد یا گم شود. اما با قابلیتهای OCR، فرآیند مرتبسازی نامهها را میتوان خودکار کرد – و در نتیجه بستهها و نامههای بیشتری به موقع تحویل داده میشوند. و به نکته قبلی من، باور نکنید، OCR از سال 1965 توسط USPS وجود داشته و اجرا شده است – برای کسب اطلاعات بیشتر، این ویدیو را از اداره بایگانی و سوابق ملی مشاهده کنید.
mo_command = f"""mo --saved_model_dir "{model_name}"
--input_shape "[28,28]
--data_type "{ir_data_type}
--output_dir "{model_path.parent}
--model_name "{ir_model_name}"
"""mo_command = " ".join(mo_command.split())# Run the Model Optimizer (overwrites the older model)print("Exporting TensorFlow model to IR... This may take a few minutes.")mo_result = %sx $mo_commandprint("
".join(mo_result))
اینتل داده های شخص ثالث را کنترل یا ممیزی نمی کند. برای ارزیابی دقت باید به منابع دیگری مراجعه کنید.
این داستان برای اولین بار در OpenVINO-toolkit در https://medium.com/openvino-toolkit/ai-inference-software-fundamentals-getting-started-with-optical-character-recognition-2f6ee0a127c2 ارسال شد.
از آنجایی که OpenVINO به تنهایی روی مدل ها کار می کند “نمایندگی متوسط” فرمت (IR)، همچنین لازم است که مدل ایجاد شده با TensorFlow کجاست و نام و نوع داده (FP16، یعنی اعداد 16 بیتی، ممیز شناور) نسخه IR کجاست:
همانطور که در جدول بالا می بینید، تمام 10 رقم به درستی مشخص شده اند، با اطمینان بیشتر از 99.99٪ در بسیاری از موارد، اما همیشه در حدود 99٪! اگر قرار بود این دقت را به کسی در دهه 90 نشان دهید، اساساً جادوگری بودید که غیرممکن ها را خلق می کرد.
به محض اینکه آماده شدید تا مهارت هوش مصنوعی خود را بیشتر کنید، از Adventures تیم توسعه هوش مصنوعی اینتل دیدن کنید زیرا ما این مفاهیم اساسی را در نظر می گیریم و مشکلات دنیای واقعی را حل می کنیم.
© شرکت اینتل. اینتل، لوگوی اینتل و سایر علائم اینتل علائم تجاری Intel Corporation یا شرکت های تابعه آن هستند. نام ها و مارک های دیگر ممکن است به عنوان دارایی دیگران ادعا شود.
OpenVINO همچنین میتواند از یک مدل با دقت دوگانه (FP32، یعنی با 32 به جای 16 بیت در هر عدد) استفاده کند، اما همانطور که در یک لحظه خواهید دید، با مدلهای FP16 که سریعتر اجرا میشوند و حافظه کمتری مصرف میکنند حتی در CPUهای استاندارد، شما هنوز هم نتایج خیلی خوبی می گیرید
اکنون خودتان متوجه شده اید که نوشتن کد OCR با عملکرد بالا با OpenVINO چقدر آسان است.
هزینه ها و نتایج شما ممکن است متفاوت باشد.
و سپس تعدادی تصویر رقمی از MNIST به آن می دهد تا تشخیص دهد:
همیشه خوب است که از صفر شروع کنید، اصول را درک کنید و بدانید که کارها چگونه کار می کنند به جای اینکه فقط دکمه های جادویی را فشار دهید بدون اینکه بدانید چرا، درست است؟
قسمت میانی بلوک 15 مونتاژ می شود و سپس دستور Model Optimizer را اجرا می کند که مدل IR را تولید می کند:
هیچ مجوزی (به صورت صریح یا ضمنی، توسط estoppel یا غیره) برای هیچ گونه حقوق مالکیت معنوی توسط این سند اعطا نمی شود.
در بلوک های 1 تا 3، نوت بوک محیط پایتون را برای TensorFlow تنظیم می کند. در بلوکهای 4 تا 14، نوتبوک پایگاه داده MNIST را بارگیری میکند، این همان چیزی است که ما از آن برای ایجاد مدلی استفاده خواهیم کرد که میتواند ارقام دستنویس را تشخیص دهد و شبکههای عصبی ما را آموزش دهد. سپس بخش جدید و هیجان انگیزی که اینتل امروز ارائه می دهد این است که چگونه می توان این مدل ها را بر روی سخت افزار اینتل بهینه کرد تا کارآمدتر و سریع تر اجرا شوند.
برنامههای OCR به کاربران امکان میدهند دادهها را از اسناد و تصاویر استخراج، تبدیل و تغییر کاربری دهند – ورود دستی دادههای مستعد خطا و زمانبر را حذف میکنند. فراتر از تحقیقات، این اپلیکیشن امروزه در بسیاری از موارد استفاده صنعتی، از دیجیتالی کردن کتابها و تراکنشهای بانکی گرفته تا موجودیهای انبار، جایگاه خود را پیدا کرده است.
هیچ محصول یا جزء نمی تواند کاملاً ایمن باشد.
امروزه، یادگیری ماشینی درها را به روی بسیاری از برنامههای کاربردی باز میکند که زمانی فقط در داستانهای علمی تخیلی قابل تصور بودند. اگر به تعداد زیادی از این مشکلات دشوار در نهایت حل شده اند و بشریت را به جلو برده اند نگاه می کنید، شاید زمان آن رسیده است که شما بخشی از این انقلاب در محاسبات هوش مصنوعی باشید – با OCR 101 اولیه شروع کنید. 😃
یادگیری اصول
اینتل تمام ضمانتهای صریح و ضمنی، از جمله بدون محدودیت، ضمانتهای ضمنی خرید و فروش، تناسب برای یک هدف خاص، و عدم نقض، و همچنین ضمانتنامههای ناشی از عملکرد، دوره معامله یا استفاده در تجارت را سلب میکند.
برای این نسخه آزمایشی، ما از طریق یک برنامه ساده اجرا می کنیم که می تواند ارقام دست نویس را در مجموعه داده MNIST تشخیص دهد و آن را به طور بهینه روی سخت افزارهای در دسترس مانند CPU شما اجرا کند. (برای آشنایی سریع با تئوری تشخیص رقم مبتنی بر هوش مصنوعی، تماشای این آموزش گرانت ساندرسون را به شدت توصیه می کنم).
#test against a few images from the datasetinput_list = x_test[:10]for input_image in input_list:res = compiled_model([input_image])[output_layer]X = input_imageX = X.reshape([28, 28]);plt.figure()plt.gray()plt.imshow(X)plt.text(0,-1, “The prediction is “+str(np.argmax(res[0]))+” @ “+str(max(res[0])*100)+”%”)