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

نرم افزار های مهندسی -> نرم افزار های مهندسی برق 556 کاربر آکادمی پارتینه

یادگیری ماشین و هوش مصنوعی دو شاخه‌ی مهم و پرطرفدار حوزه علوم داده‌کاوی هستند. نقش این دو تکنیک در ارتقا کیفیت  هر وسیله الکترونیکی نو ظهور نقش اساسی دارد.

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

تنسور فلو چیست؟

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

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

الزامات

  • برد رزبری پای با سیستم عامل نصب و به‌روز رسانی شده رزبین
  • کارت حافظه میکرو SD ( حداقل 16 گیگابایت)
  • اتصال رزبری پای به اینترنت

در اینجا برای دسترسی رزبری پای به اینترنت از SSH لپ‌تاپ استفاده خواهیم کرد. می‌توانید از اتصال VNC یا Remote Desktop  لپ‌تاپ استفاده کرده و یا رزبری پای را به یک مانیتور متصل کنید.

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

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

نصب تنسور فلو در رزبری پای

در ادامه مراحل نصب تنسور فلو در رزبری پای بررسی شده است.

مرحله 1: قبل از نصب تنسور فلو در رزبری پای ابتدا با استفاده از دستورات زیر ، سیستم عامل رزبین را به روز رسانی کنید .

sudo apt-get update

sudo apt-get upgrade

مرحله 2: سپس کتابخانه Atlas  را که از Numpy و سایر وابستگی‌ها پشتیبانی می‌کند، نصب کنید.

sudo apt install libatlas-base-dev

مرحله 3: پس از اتمام کار ، TensorFlow را از طریق pip3 و با استفاده از دستور زیر نصب کنید.

pip3 install tensorflow

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

مرحله 4: پس از نصب موفقیت‌آمیز تنسور فلو، بهتر است درستی عملکرد آن با استفاده از برنامه کوتاه  Hello world بررسی شود. بنابراین دستور زیر را در ویرایشگر متنی تایپ کنید.

sudo nano tfcheck.py

و  خطوط زیر را در ترمینال nano کپی کرده و آن را ذخیره کنید.

import tensorflow as tfhello = tf.constant('Hello, TensorFlow!')sess = tf.Session()print(sess.run(hello)

مرحله 5: حال این اسکریپت را در ترمینال با استفاده از دستور زیر اجرا کنید.

python3 tfcheck.py

اگر همه بسته‌ها به درستی نصب شده باشند، پیام !Hello Tensorflow را مشاهده خواهید کرد. همانطور که در تصویر زیر مشاهده می‌کنید پیام در خط آخر نشان داده شده است. تمام هشدارها را نادیده بگیرید.

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

نصب کلاسیفایر تصویر بر روی رزبری پای به منظور تشخیص تصویر

مرحله 1: با استفاده از دستورات زیر یک دایرکتوری ایجاد کرده و  مسیر آن را مشخص کنید.

mkdir tfcd tf

مرحله 2: اکنون مدل‌های موجود در مخزن TensorFlow GIT را دانلود کنید. با استفاده از دستور زیر ، مخزن را وارد پوشه tf کنید.

git clone https://github.com/tensorflow/models.git

مرحله 3: از مثال کلاس‌بندی تصویر استفاده کنید. این مثال را می‌توانید توسط دستور زیر به آن دست پیدا کنید.

cd models/tutorials/image/imagenet

مرحله 4: با استفاده از دستور زیر تصویر را به عنوان ورودی به شبکه وارد کنید.

python3 classify_image.py --image_file=/home/pi/image_file_name

نام تصویر را جایگزین عبارت  image_file_name  کنید و اینتر را بزنید.

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

همانطور که در تصویر بالا ملاحظه می کنید، شبکه عصبی تصویر گربه مصری را با اطمینان بالایی در مقایسه با گزینه‌های دیگر طبقه‌بندی کرد.

در تمام مثال‌های فوق نتایج خوب و رضایت بخش است و تنسور فلو به راحتی می‌تواند تصاویر را با دقت بالا طبقه‌بندی کند. می‌توانید این کار را روی تصاویر شخصی نیز امتحان کنید.