دستاوردهای یادگیری عمیق(InTec)
9.46K subscribers
363 photos
40 videos
44 files
674 links
هوش مصنوعی، یادگیری ماشین و یادگیری عمیق
موضوع اصلی کانال

این یک بلاگ شخصی با طرز تفکر شخصی هست.

Core Python : @PyHints

تلاشی هم در یادگیری Rust دارم که درحال داکیومنت شدن هم هست؛ اگر شماهم به این زبان علاقمند هستید join یادتون نره

Rust: @PyRust
Download Telegram
میگن این جایگزین جدید هست به نام
microsoft windows terminal

بیل جان ، مگه بورن_شل چش بود
moc player - htop
رو دزدیدی شد ترمینال جدیدتون
#خارجـازـبحث

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

اما از ی جایی به بعد خیلی افراطی شد ؛ و خلاصه هیچی باز نشد برامون و به فیلترشکن‌ها رو آوردیم

احتمالاْ همگی
Adblock و ... رو می‌شناسیم اما مشکل اساسی با این مدل از ضد تبلیغات‌ها اینه که روی کل شبکه فعال نمی‌شه هرجا باید نصب و کانفیگ بشه و هربار هم باید این کار انجام بشه

همیشه ی راهکار بهترم هست ؛

https://pi-hole.net/

Pi-Hole اینکارو خیلی خیلی ساده و راحت می‌کنه
حتی رو رزبپری زیرو هم جواب میده و کل شبکه رو براتون ضد تبلیغات می‌کنه
تا از شر تموم تبلیغات مزخرف راحت بشید. (این لیست خیلی سریع و باقدرت هم آپدیت می‌خوره )

حتماْ تست کنید؛ مخصوصاْ دوستان ادمین و مسئول شبکه
سرعت لود صفحات وب رو افزایش بدید
مصرف ترافیک رو هم کم کنید
001.ipynb
195.6 KB
نمونه کد آموزشی ؛ جلسه اول کدینگ دیپ‌لرنینگ
توی کد از خود کراس برای نمایش شبکه استفاده شده که خیلی چیز جالبی نیست اما باید آموزش داده می‌شد.
اما پیشنهاد شخصی بنده ابزارهایی مثل :

https://github.com/HarisIqbal88/PlotNeuralNet

هست که خوشبختانه آموزش رسم و ابزارهای مثل این به اندازه کافی وجود داره

دیگر کدهای مربوط به این دوره راهم (پیش نیاز دوره تئوری دیپ‌لرنینگ) در صورت رضایت شاگردان به اشتراک خواهم گذاشت
از ویژگی‌های دوس داشتنی کراس راحتی کار با دیتاست‌های آماده‌اش هست، لود کردن راحتش هم به وقت آموزش ‌دادن خیلی کمک می‌کنه

به همین دلیل ابتدای کلاس این هفته دیتاهای عکس دلخواه رو بصورت دیتاهای کراس ایجاد و لود کردم

خوبیش اینه خیلی راحت می‌شه نهایتاً ۴ تا فایل
npz
رو به اشتراک گذاشت
(مثل خود کراس) 👇👇👇
تمامی دوستانی که ؛ کمی هم دنبال اخبار موبایل‌ها و دوربین‌ اونها هستند ۱۰۰٪ میدونن که با وجود اینکه خیلی از برندهای موبایل در حال اضافه کردن تعداد لنز‌ها و مگاپیکسل اونها هستند همواره توی رقابت با گوگل پیکسل همیشه بازنده بودند با توجه به اینکه فقط و فقط از یک دوربین استفاده می‌کنه (مغز می‌پوکه)

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

این مقاله نمونه‌ایی از قدرت گوگل رو این موضوع رو نشون می‌ده اگر شماهم علاقه دارید بدونید گوگل پیکسل چطور به این نتایج می‌رسه خوندن این مقاله رو بهتون پیشنهاد می‌کنم

https://sites.google.com/view/handheld-super-res/

پ.ن :
گوگل و کیفیت نایت‌سایت و قدرت اون هم از همینجا میاد
👍2
یک پروژه‌ایی که به تازگی بهم پیشنهاد شد تشخیص یک سری اتفاقات خاص بود (فیلم و دوربین و ...)

راه حل‌های زیادی تست شده بود روی این دیتاست و هرکدوم دقت‌های خوبی داشت (فکر می‌کنم تمومی روش‌های بادقت خیره کننده موجود تست شده)

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

همیشه گفتم ؛ اول دیتا رو خوب بشناسید حتی اگر زمان زیادی رو خرجش می‌کنید (مطمئن باشید پشیمون نمی‌شید.)

بعد از گرفتن اصل دیتاها و کلی بررسی کردن از گروه خواستم نمونه‌هایی که مدلهاشون درست عمل نمی‌کنه رو بهم بدند (از دیتای تست و مدلی که پیاده‌سازی شده برای مشتری و ...)
این کار مشکلی نداره چون من نمی‌خوام پارامتر‌های مدل رو تغییر بدم یا تقلب کنم که مدل عملکرد بهتری داشته باشه (جلوتر متوجه می‌شید)

دلیلم این بود که توی بررسی ۱۰۰ تا از دیتاها به یک نمونه خاص برخوردم که با دیتاهای قبلی تفاوت داشت
توی دیتای تست هم از ۱۰۰ مورد حدود ۳۰ مورد همین حالت بود ؛
بعنوان مثال :
فرض کنید تیم می‌خواد جاهایی که سگ وجود داره رو تشخیص بده اما تو بعضی از ویدئوها دوربین نقطه کور داره و سگ توی ویدئو دیده نمی‌شه البته که سگ وجود داره و این لیبلی هست که برای دیتا خورده.

راهکار این نیست که دیتارو حذف کنیم یا دوربین بیشتر بذاریم و محدوده رو بزرگتر کنیم و دوباره دیتا جمع کنیم.

براهکار کم خرج و بهتر چی می‌تونه باشه ؟؟؟؟؟؟

ی چندبار توجه به لیبل و دیتاها و گرفتن دیتای تست از گروه دقیقاْ برای همین موضوع بود (تا آخر با مثال سگ پیش میرم)
توی یک نمونه دیتایی که من توی داده ترین متوجه‌اش شدم صدای سگ وجود داشت اما سگی نبود؛ به همین دلیل لیبل دستی که براش زده شده بود سگ داشت اما مدل‌های دیپ‌لرنینگ می‌گفتند سگی وجود نداره و هردو هم درست می‌گفتند.

کاری که من انجام دادم جدا کردن صداها از ویدئوها بود و دسته بندی کردن بر اساس صداها
درنهایت هم بر اساس ویدئو و هم براساس صدا مدل کارش رو انجام میده ؛ دقت خیلی خیلی بهتر شد و مشکلات حل

برای ترین کردن شبکه‌ایی که استفاده کردم ۲تا دیتاست فوق‌العاده پیدا کردم :

1-
https://research.google.com/audioset/
2-
https://urbansounddataset.weebly.com/

حل کردن چالش واقعاْ لذت بخش هست
این راهکار می‌تونه برای حل مسائل دیگه هم استفاده بشه؛ موضوع و راهکار خوبی برای پایان‌نامه و مقاله‌ هم می‌تونه باشه
1🆒1
کتابخونه‌ایی که ازش کمک گرفتم :
librosa
و اینکه این کار چجوری شدنی هست هم :

https://www.iotforall.com/tensorflow-sound-classification-machine-learning-applications/

البته خودم به شخصه کل این پست رو نخوندم
1
قبل از شروع یادگیری چیزهای جدید و خرید منابع (کتاب؛ دوره آموزشی؛ و حتی کلاس حضوری)

بهترین گزینه اینه که چندساعتی وقت بذاریم و ی مقدار باهاش آشنا بشیم (طبیعتاْ عملی) تا اگر راستای کار ما نیست یا چیزی که فکر می‌کردیم و شنیده بودیم نیست وقت زیادی صرفش نکرده باشم (علاقه مهمترین چیز برای پیشرفت هست البته استثنا هم وجود داره)

کانال یوتوب
freeCodeCamp.org
ی منبع خیلی خوب و مناسب هست که بدون تبلیغات اینتروداکشن‌های خوبی میذاره
ترجیح میدم نسبت به منابع رایگان موجود دیگه : چون تمام مطلب توی یک ویدئو آموزش چندساعته هست.

https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ
ی پروژه اپن سورس که خیلی راجبش صحبت می‌شد و همینطور بحث‌ها داره جدی‌تر می‌شه
سایت
OpenCV یا Intel
پروژه برای دیپلوی کردن مدلهای دیپ‌لرنینگ مربوط به عکس و ویدئو هست
که اگر تجهیزات اینتل دارید پیشنهاد من نسخه ادیت شده اینتل هست (پرفورمنس بهتری بهتون می‌ده)

بسیاری از مدل‌های از پیش آموزش دیده تو این پروژه آماده هست فقط کافیه ی سر به گیت‌هاب
OpenCV
بزنید و مدلی که به کار شما میاد رو دانلود کنید ودقت بالا رو بگیرید یا مدل ترین شده خودتون رو با نسخه اینتل ببرید برای پروداکت

خیلی فکر نمی‌کنم این پروژه معروف شده باشه یا استفاده شده باشه هنوز اما چیز خیلی خوبیه و خیلی کمک می‌کنه (قرار نیست دوباره چرخ رو اختراع کنیم)

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

https://www.youtube.com/playlist?list=PLDKCjIU5YH6jMzcTV5_cxX9aPHsborbXQ
Discussion Group :

قابلیت جدید؛ تلگرام رسمی
ممکنه نیاز به آپدیت باشه (بررسی نشده)

https://xn--r1a.website/joinchat/B1fWSlR0a960tUgBhoDYmA
جدیداْ در یک پروژه متنی شرکت داشتم و می‌تونم بگم ۹۰-۹۵٪ کار بخش پیش‌پردازش و تمیز کردن داده هست (حداقل تو این پروژه که بود)

کار زمانبری هم هست؛ اولین چیزی که به ذهن میرسه برای پردازش داده متنی
regex
هست اما وقتی دیتا از ی حدی بیشتر می‌شه بسیار زمانبر هست

یکی از بهترین جایگزین‌ها؛
FlashText
هست که سرعت بالایی داره و کارباهاش هم ساده‌ هست

اگر تابحال استفاده نکردید پیشنهاد ویژه؛ برای پروژه‌های متنی

@pytens
👍1
#خارج‌ـازـبحث

دنیا ازون چیزی که فکر می‌کنید ترسناکتره ؛ تو بحث امنیت همیشه موقع ذخیره هش پسورد یوزرها: ادمین همیشه طولانی ترین و سخت ترین الگوریتم رو انتخاب می‌کنیم و از کاربرها می‌خوایم که پسوردها طولانی‌ باشه و کاراکتر ویژه حروف کوچک و بزرگ و عدد رو شامل بشه (اما صادق باشیم خیلی‌ها پسورد ساده میذارن و امنیت رو به مدیران سرور و سایت میسپارن چون پسورد سخت رو نمی‌تونن به ذهن بسپارند)

امروز خیلی اتفاقی با دوستی آشنا شدم بخاطر کانفیگ سیستمش (۴تا کارت گرافیک) اولین چیزی که به ذهنم رسید و باعث صحبت بیشتر شد این بود که #دیپ‌لرنینگ کار باشه

اما شاید باورتون نشه شغل ایشون :
Password Cracking بود
حتی نمیدونم چجوری باید توی رزومه ازش صحبت کرد؛ ارزون شدن قیمت جهانی کارت گرافیک‌ها و کودا و ... باعث شده ابزارهایی مثل
HashCat بوجود بیاد

این ابزار از تمام قدرت کارت‌گرافیک‌های موجود استفاده می‌کنه و هش‌ها رو برای شما می‌شکونه روش دیکشنری - بروت‌فرس - وایلدکارد و ...

بسیار بسیار سریع هست و فوق‌العاده؛ اونقد سریع و خطرناک که اگه راه داشته باشه باید خوندن
/ect/passwd
رو برای یوزرهای غیر سودوئر حتماْ بست

ازین ابزار برای شکوندن پسورد وای‌فای و ... هم استفاده می‌شه
پس ازونجا که همچین شغلی بوجود اومده:

۱- اگر ادمین هستید؛ الگوریتم‌های هش رو جدی بگیرید و الگوریتم‌های قدیمی رو بریزید دور (تو چند ثانیه کارشون تمومه)
۲- اگر یوزر هستید؛ حتماْ پسوردهاتون رو جدی بگیرید برای سایت‌های مهم حداقل پسورد ترکیبی بذارید (عدد - سمبل - حروف کوچیک و بزرگ) اگر طول پسورد بالای ۹-۱۰ حرف باشه حداقلش اینه که زمانبرتر می‌شه؛ برای کرکرهای رندم (شما هدف نیستید) شاید اصلاْ تست هم نشه چون زمانبر هست
خیلی وقتا پیشنهاد سیستم برای #دیپ‌لرنینگ اینه که حداقل ۲ برابر حافظه گرافیکی موجود روی سیستم؛ حافظه رم داشته باشید.

شخصاْ حداقل ۴-۵ برابر استفاده می‌کنم
اما متوجه شدم خیلی از دوستان (حتی دولوپر‌های حرفه‌ایی) فقط این مقدار رو پیشنهاد می‌دهند ولی عملاْ هروفت از سیستم
htop بگیرید
میزان استفاده از رم سیستم به این مقدار نمی‌رسه

توی لینوکس ۲تا استفاده خیلی مهم از رم‌ می‌شه کرد وقتی حجم I/O خیلی بالاس
RamFS & tmpFS
سرعتی تا ۲۰ برابر نسبت به SSD برای کار روی دیتاها بهتون میده و دقیقاْ کارش اینه ی بخشی از رم سیستم رو بصورت فایل سیستم فرمت کنید و مثه هارد ازش استفاده کنید (پیشنهاد من برای #دیپ‌لرنینگ کارها مخصوصاْ
tmpFS هست
به دلیل مشکلات RamFS )

اما این حافظه بعد هر ریبوت باید دوباره ساخته بشه یا اینکه خیلی ساده فقط توی
/etc/fstab اضافه‌اش کنید.

حالا ازین به بعد :
هم کدهاتون خیلی سریعتر اجرا می‌شه؛ هم میدونید چرا حداقل ۲برابر حافظه گرافیکی رم برای سیستم می‌گیرید.

امیدوارم مفید باشه
PyData 2019
رو با هیچ بهانه‌ایی از دست ندید؛ ماهم کنفرانس پایتون داریم اینا هم کنفرانس دارن

https://www.youtube.com/playlist?list=PLGVZCDnMOq0qtkoXglrDC6pS8NvY94QQw