دانلود تنها یک زیر پوشه از یک repository گیت‌هاب به سبک هلو برو تو گلو

صورت مسال اینه: ما تنها یک زیر پوشه از یک repository گیت‌هاب رو لازم داریم و می خوایم دانلودش کنیم. بذارید با مثال برم جلو، repositoryای داریم با عنوان TensorFlow Models که شخصا از قسمت Tensorflow Object detection API اون برای پردازش تصویر روی رزبری‌پای استفاده می‌کنم و زیاد پیش میاد که لازم بشه از اول دانلودش کنم.

همه‌ی آموزش‌های اون بیرون میان میگن اول کل ریپازیتوری رو دانلود کنید تا با این بخش Object Detection کار کنیم. که خوب این repository حجمی حدود ۷۰۰-۸۰۰ مگابات داره ولی ما برای کار پردازش تصویر فقط به زیر پوشه‌ی object_detection اون احتیاج دارم که حجمش تنها  ۱۲۴مگابایته.

بیایم و هربار کل repository رو دانلود کنم از یک سمت حجم زیادی از اینترنتم مصرف می‌شه و از اون طرف فایل‌هایی رو دانلود کردیم که به بهشون احتیاج نداریم و روی رزبری‌پای فضا اشغال کردن.

اگر مشکل پهنای باند و حجم اینترنت نداشته باشیم قابل قبوله که اول کل repository رو دانلود کنیم و بعد فایل‌های اضافی رو بریزیم دور، اما راه حل معقول اینه که فقط همون پوشه‌ای که بهش کار داریم رو به شکل مجزا دانلود کنیم.

من اکثر راه حل‌های موجود رو تست کردم و فقط یکیشون هست که بدون کثافت کاری زیادی میاد و ما رو به هدفمون می‌رسونه. پس بیاد با من در ادامه‌ی این نوشته همراه باشید تا راحت‌ترین راه دانلود تنها یک زیر پوشه از یک repository گیت‌هاب رو با هم یاد بگیریم.

خواندن ادامه مطالب

آموزش راه‌اندازی Raspberry Pi به صورت Headless

راه‌اندازی Raspberry Pi به صورت Headless از اون شترهایی هست که بخوایم و نخوایم در خونه‌ی همه‌ی ما می‌شینه. چون همیشه اینطوری نیست که ماوس و مانیتور به بغل Raspberry Pi رو راه اندازی کنیم، زیاد پیش میاد که یک لپ‌تاپ داریم و یک Raspberry Pi و قراره این مینی‌کامپوتر دوست داشتنی رو برای اولین بار راه بندازیم.

اگر کی‌برد و مانیتوری در کار نباشه تنها راه ارتباطی‌ای که با Raspberry Pi برامون می‌مونه SSH زدن است، اما برای اینکه SSH بزنیم باید بتونیم Raspberry Pi رو به مودم/اینترنت وصل کنیم و IP دستگاه رو بدونم و بدون کی‌برد و مانیتور مساله مرغ و تخم مرغ می‌شه، نه؟

در ادامه‌ی این نوشته ابتدا سیستم‌عامل Raspbian Stretch Lite رو نصب کرده و بعد با هم مراحل راه‌اندازی Raspberry Pi به صورت Headless رو خواهیم دید.

بدون حرف اضافه‌ی وقشه که بریم و این مرغ و تخم مرغ SSH و IP رو نیمرو کنیم 🙂

خواندن ادامه مطالب

دانلود دیتاست‌ از سایت Kaggle و ذخیره آن در Google Drive بدون خون و خون‌ریزی!

عنوان پست رو گذاشتم دانلود مستقیم دیتاست‌های Kaggle در Google Drive اما تکنیکی که اینجا یاد می‌‌گیریم خیلی کلی‌تره و تقریبا همه‌جا میشه ازش استفاده کرد.

خیلی خلاصه بخوام بگم ما اینجا یاد می‌گیریم که چطور با دستور wget فایل‌هامون رو در محیط ترمینال دانلود کنیم.

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

قبل از شروع آموزش بیاید با هم صادق باشیم، با این اینترنت نامحدود با آستانه‌ی مصرف منصفانه احمقانه‌ترین کاری که میشه انجام داد اینه که بیای اول فایلت رو روی سیستم خودت دانلود کنی و بعد بخوای آپلودش کنی روی Google Drive یا جاهای دیگه. پس اگر شما هم مثل منِ یک هفته‌ی پیش این کار رو می‌کردید وقتشه توبه کنید و این روش جدید رو پیش بگیرید.

خواندن ادامه مطالب

آموزش نصب متلب در لینوکس به شکل خیلی خیلی مفصل!

قبلا +اینجا آموزش نصب متلب ۲۰۱۷ رو در لینوکس نوشتم، و با فرض اینکه Nextزدن‌ها رو همه بلدن اصلا جزییات رو نگفتم و خوب، خیلی سوال و ایمیل داشتم.

اینبار که اومد متلب ۲۰۱۸ رو نصب کنم گفتم از تمامی مراحل کار عکس بگیرم و یک آموزش با جزییات کامل از تمامی مراحل نصب بنویسم.

نصب متلب فارغ از اینکه نسخه‌ی ۲۰۱۷ باشه یا ۲۰۱۸ یا احتمالا چندماه دیگه ۲۰۱۹ یکیه اما در فایلی که باید موقع کرک کردن کپی کنیم ممکنه تفاوتی وجود داشته باشه.

من اینجا اسکرین‌شات و توضیحات رو در مورد نصب نسخه‌ی ۲۰۱۸ متلب رو میدم، اگر خواستید نسخه‌ی ۲۰۱۷ رو کرک کنید برای اینکه دوباره کاری نکرده باشم به همون پست قبلی رجوع کنید.

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

خواندن ادامه مطالب

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

توی پردازش تصویر نویز گاوسی مثل یک بنچ‌مارک می‌مونه، استاد من که قویا اعتقاد داره  اگر در برابر نویز گاوسی مقاوم باشیم بقیه‌ی نویز‌ها (مثل نمک و فلفل و …) مشکل خاصی ایجاد نمی‌کنن، ما هم به حرفش اعتماد می‌کنیم 😉

پس بیاید در ادامه‌ی این نوشته یک مقدار نویز گاوسی در پایتون ایجاد کنیم و اونو بریزیم توی تصویر، چرا که نه؟!

خواندن ادامه مطالب

نمایش دو تصویر به صورت افقی یا عمودی در کنار هم در یک پنجره‌ی OpenCV

خیلی وقت‌ها پیش میاد که دوست داریم  دو یا چند تصویر رو در یک پنجره‌ی OpenCV  در کنار هم نمایش بدیم، مثلا می خواهیم تصویر اصلی رو در کنار تصویر نویزی ببینیم.

به شکل خیلی جالبی خود دستور imshow کتابخانه‌ی OpenCV این امکان رو در اختیامون قرار نمی‌ده، اما به همین نسبت راه‌حل هم آسونه!

در ادامه یک تابع خیلی ساده می‌نویسیم که بیاد و دوتا عکس رو درکنار هم برامون نمایش بده، دقیقا همین روش رو برای چندتا تصویر هم می‌تونیم بکار ببریم.

خواندن ادامه مطالب

تابوت خندان! بیاید با کمک پایتون یک بات برای بازی تراوین بنویسیم.

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

اسم اکانتی که در بازی ترواین ساختم «LaughingCoffin» بود و طبیعتا اسم پروژه‌ی بات تراوین رو هم «LaughingCoffin» گذاشتم.
در این پست به دلایل اخلاقی نه کل کدهای اون بات بلکه ابزارهایی که ازشون برای نوشتن تابوت خندان استفاده کردم رو توضیح خواهم داد.

خواندن ادامه مطالب

تنظیم Raspberry Pi جهت دریافت Static IP

دفعه‌ی اولی که رازبری‌پای رو روشن می‌کنیم یکی از کارهای مهمی که باید انجام بشه اینه که Raspberry Pi رو تنظیم کنیم تا Static IP بگیره.

چرا این کار لازمه؟

ما می‌خواهیم SSH و یا VNC بزنیم به رزبری‌پای و برای این کار بهتره آدرس IP رازیری‌پای ثابت باشه، قرار نیست بعد از هربار ری‌استارت مودم و یا رازبری‌پای موس و کیبرد دست بگیرم بریم سراغ رازبری‌‌پای تا IPش رو پیدا کنیم:)

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

خواندن ادامه مطالب