TECH STASH – Telegram
TECH STASH
212 subscribers
115 photos
5 videos
15 files
254 links
اینجا هر چی رو که یاد میگیرم، به اشتراک میزارم...
هوش مصنوعی، لینوکس، اوپن سورس، برنامه نویسی و...

Admin: @D3F4U1T_ARS
Download Telegram
روند های مختلف Loss curve و معنیشون.

تو اولی ما underfitting داریم. یعنی مدل ما الگو ها رو درست یاد نگرفته.

تو دومی overfitting داریم. یعنی مدل ما الگو ها رو حفظ کرده و سر همین تو train data خیلی خوب عمل میکنه.

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

تو اینجا لینک یکسری اطلاعات بیشتر راجب Loss curve ها هست.

تو پست بعدی راجب راه هایی برای فیکس کردن Overfitting صحبت میکنم.
راه های درست کردن Overfitting:

1. دیتای بیشتری جمع کنیم
2. بهبود داده
3. استفاده از انتقال یادگیری
4. مدل رو ساده تر کنیم
5. استفاده از learning rate decay
6. توقف زودهنگام
TECH STASH
راه های درست کردن Overfitting: 1. دیتای بیشتری جمع کنیم 2. بهبود داده 3. استفاده از انتقال یادگیری 4. مدل رو ساده تر کنیم 5. استفاده از learning rate decay 6. توقف زودهنگام
توضیحات هر کدوم از این روش ها:

1. دیتای بیشتری جمع کنیم: وقتی به اندازه کافی دیتا نداشته باشیم مدل نمیتونه الگویی از این دیتا ها استخراج کنه تا بتونه باهاش test data رو درست حدس بزنه.

2. بهبود داده: با کمی دستکاری میتونیم یادگیری دیتا ها رو متنوع تر کنیم و مدل رو مجبور کنیم تا الگو های قابل تعمیم تری یاد بگیره.
اطلاعات بیشتر راجب augment کردن دیتا تو خود داکیومنت torchvision هست.

3. استفاده از انتقال یادگیری: روش مورد علاقه خودم که قبل تر راجبش توضیح دادم. از یک مدل با وزن های آماده استفاده میکنیم و تغییراتی روی لایه های پایانی میدیم تا بتونیم برای مثال خودمون استفاده کنیم (یا حتی fine tuning انجام میدیم اگر دیتا بیشتری داشته باشیم).

4. مدل رو ساده تر کنیم: مدل بیش از حد اندازه پیچیده ممکنه الگو های قابل تعمیم روی test data یاد نگیره و در عوضش train data رو حفظ کنه. سر همین مدل رو میتونید ساده کنید تا مجبور بشه که الگو های قابل تعمیم یاد بگیره.

5. استفاده از learning rate decay: استفاده از ضریب یادگیری (learning rate) ثابت کارو وقتی که به نقطه همگرایی نزدیک میشیم سخت میکنه. مثل سکه ای که پشت مبل افتاده. وقتی نزدیک تر میشی باید گام کمتری برداری. کاهش ضریب یادگیری هم همینکارو میکنه.
تو داکیومنت PyTorch بهش میگن Learning rate scheduling که اطلاعات بیشتر در این باره اینجا هست.

6. توقف زودهنگام: وقتی یه مدل رو زیاد train کنیم به جایی میرسیم که overfitting رخ بده. پس باید به موقع توقف کنیم و بیشتر از این train نکنیم. وقتی که شروع کرد به overfit کردن میریم و وزن های قبلی ایده آلی که برای مثال تو 10 epoch قبل بود رو انتخاب و ذخیره کنید.
این منبع خوبی برای بحث early stopping هست.
👍1
تکنیک های دیگه هم برای بهبود training وجود داره:

1. Learning rate warmup
2. Weight decay
3. Gradient clipping

اما از اونجایی که وارد نشدم فعلا توضیحی راجبشون ندادم.
وقتی که یاد گرفتم و ازشون استفاده کردم حتما راجبشون مینویسم.
👍1
راه‌های حل مشکل Underfitting:

1. اضافه کردن لایه‌های بیشتر یا افزایش پارامتر های هر لایه
2. دستکاری learning rate (پایین آوردن)
3. استفاده از انتقال یادگیری
4. بیشتر train کردن
5. کاهش regularization
👍1
TECH STASH
راه‌های حل مشکل Underfitting: 1. اضافه کردن لایه‌های بیشتر یا افزایش پارامتر های هر لایه 2. دستکاری learning rate (پایین آوردن) 3. استفاده از انتقال یادگیری 4. بیشتر train کردن 5. کاهش regularization
توضیحات هر کدوم از این روش ها:

1. شاید مدلتون به دلیل کمبود پارامتر توانایی یادگیری الگو ها رو نداره. معمولاً وقتی که این اتفاق میفته باید تعداد لایه ها و پارامتر ها رو افزایش بدید. ولی خب حواستون باشه که زیادی هم افزایش ندید که به overfitting بخورید.

2. ضریب یادگیری بیش از حد بالا میتونه به دلیل تغییرات زیاد موجب عدم یادگیری مدل بشه. انگار مدل داره پرش های بزرگی انجام میده و به همگرایی نمیرسه. سر همین استفاده از learning rate معقول توصیه میشه.

3. انتقال یادگیری سر همین روش مورد علاقم هست. چون هم برای overfitting کاربرد داره و هم underfitting. یک تیر تو دو نشان.

4. بعضی وقتا باید صبر کرد و بیشتر train کرد. مخصوصاً اگر روندی که مدل داره میره این موضوع رو نشون میده (test loss کمتر از train loss).

5. وقتی از regularization بیش از حد استفاده میکنیم (سعی میکنیم که مدل الگو هایی رو یاد بگیره که قابل بسط روی test set باشه) ممکنه به underfitting بخوریم.
👍1
تمامی اینا عملا صد درصدی کار نمیکنن. هیچ silver bullet ای داخل هوش مصنوعی نیست.

بهترین راه اینه که امتحان کنید.

جدا از این موضوع این تمام تکنیک های موجود نیست. قطعا تکنیک های بیشتری هم وجود دارن.

اصن یکی از بحث‌های تحقیقاتی تو موضوع machine learning همین موضوعات هست. Overfitting و Underfitting.

یک خط خیلی باریکی هم بین این دو هست که ما ترجیحاً دنبال این میگردیم.

یعنی اگر خیلی تلاش کنیم که جلوی underfitting رو بگیریم overfit میکنیم و برعکس.
سر همین یکی از هنر های machine learning اینه که چطوری این حد وسط ایده‌آل رو پیدا کنیم.
👍1
در ضمن یه منبع خیلی خوبی هم پیدا کردم که راجب مفاهیم هوش مصنوعی اطلاعات خوبی میده و ریفرنس های خوبی هم برای مطالعه ارائه میکنه.

https://ml-cheatsheet.readthedocs.io/en/latest/index.html

راجب regularization یه بخش داره که اگر اطلاعات بیشتری در این بحث میخواید پیشنهاد میدم مطالعه کنید.
🆒1
یکی از باحال ترین چیزایی که دیدم این چند وقت پیش GAN Lab و Diffusion Explainer بود.

دو تا وبسایت که به صورت گرافیکی
GAN (Generative Adverserial Network)
و
Stable Diffusion
رو توضیح میدن و به صورت گرافیکی هم نمایش میدن.

GAN Lab

Diffusion Explainer
👍4
یک دلیل خیلی خوب و منطقی برای یادگیری Docker.

#Meme
👍1
TECH STASH
یک دلیل خیلی خوب و منطقی برای یادگیری Docker. #Meme
جدا از این میم. خوندن این مقاله رو هم پیشنهاد میکنم.

درسته، واسه استفاده های تکی شاید اونقدر هم مهم نباشه.
ولی وقتی که تو یه تیم هستید این ابزار بازی رو عوض میکنه.

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

https://towardsdatascience.com/how-docker-can-help-you-become-a-more-effective-data-scientist-7fc048ef91d5
👍1
TECH STASH
جدا از این میم. خوندن این مقاله رو هم پیشنهاد میکنم. درسته، واسه استفاده های تکی شاید اونقدر هم مهم نباشه. ولی وقتی که تو یه تیم هستید این ابزار بازی رو عوض میکنه. پیشنهاد میدم کار باهاش رو یاد بگیرید و ازش مرتب استفاده کنید تا کاملا مسلط بشید. https:/…
Errata − اشتباهات:

داکر فقط واسه یک تیم نیست. حتی تک نفری هم خیلی مهمه.
چون کار دیپلوی رو آسون تر میکنه.

همونطور که میبینید گزینه دیپلوی از طریق داکر تو huggingface spaces هست.

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

ولی خب قبل از اینکه عجله کنید و برید Docker یاد بگیرید پست بعدی رو بخونید که متوجه بشید آیا واقعا نیاز دارید یا نه.
👍2
اول از همه بهتون بگم که بنده متخصص Docker و DevOps کار نیستم. سر همین ممکنه نظرات من صرفاً صحیح نباشه بنابراین به چشم نظر شخصی بهش نگاه کنید.

من خیلی از ایده و فلسفه Docker خوشم میاد.

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

زمان هممون محدود هست و نمیتونیم هر تکنولوژی رو یاد بگیریم و تو workflow امون integrate کنیم.

اول اینکه من برای داکر چند استفاده میبینم.
دو تای اول معقولن. سومی، یکم عجیب....

1. دیپلوی: این مهم ترین استفاده هست. مخصوصا مخصوصا اگر از kubernetes استفاده میکنید. ولی خب اگر هم نمیکنید باز هم حتما میخواید که یه محیط کاملا reproducible و stable داشته باشید. دلیل بر این نیست که بخواید کدی بنویسید که تنها با dependency های داکر کار کنه. وقتی بحث نرم افزار های enterprise وسط باشه ما نمیتونیم 100% compatibility رو روی همه محیط ها تضمین کنیم، مگر اینکه این همه هزینه dev time بزاریم. ولی خب compatibility حتماً باید تا حد امکان بالا باشه.

2. اشتراک گذاری سرویس های مورد توسعه بین توسعه دهندگان: همه توسعه دهنده ها وقت ندارن که تمام سرویس ها رو بالا بیارن. تک تک سرویس ها کلی تنظیمات و دردسر ها دارن و کلی زمان میبره و داکیومنتیشن میخواد. ما با داکر راحت میتونیم ایمیج سرویس های مورد توسعه رو گیر بیاریم و برناممون رو همگام با اون توسعه بدیم.

3. محیط توسعه شخصی (یا تیمی): حالا چه پروژه به پروژه یا چه گلوبال. این استفاده یکی از استفاده های جالبی هست... ولی خب ما اینجاست که وارد تنظیمات Xorg و Wayland socket forwarding میشیم و کلی جزییات عمیق دیگه داکر.

این استفاده سومی حالا از کجا به ذهنم اومد؟
وقتی که vscode devcontainers و distrobox و همینطور Fedora Silverblue که شامل ابزار toolbox هست آشنا شدم.

مفهوم وجود یک محیط stable و کاملا reproducible که هر جایی بتونی راحت نصبش کنی و کارت رو انجام بدی خیلی چیز خوبی بود.

ولی خب اگر شما بخواید از صفر Dockerfile درست کنید و دستوراتش رو یاد بگیرید به نظرم ارزشش رو نداره. مخصوصا وقتی که واقعا چنین نیازی پیش نمیاد. من سیستم عاملم رو زیاد تغییر نمیدم و ۹۵ درصد مواقع روی سیستم خودم کار میکنم. جدا از اینکه اینقدر زمان باید بزارید که زیر و روی docker رو یاد بگیرید.

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

ایده خوبی که میتونه کارو ساده‌تر کنه distrobox هست به اضافه یه اسکریپت شخصی که post init بیاد و نرم‌افزار های مورد نیازتون رو نصب کنه. ولی خب این دیگه داکر نیست. ابزار تحت داکر هست.

البته که ما استفاده های خیلی بیشتر و عجیب تر هم از داکر داریم که تو آینده مطرح میکنم. از جمله ران کردن مرورگر firefox یا یکسری برنامه‌های گرافیکی روی داکر (که موندم واقعاً به چه دردی میخوره)...

اما یه چیزی رو میدونم. و اونم اینه که دنبال دلایل منطقی برای یادگیری یک تکنولوژی باشید. یادگیری صرف یادگیری یا دلیل نامناسب دیگه فایده‌ای نداره.
👍1
الان میفهمم چرا مدل هام overfit میکنن.

#Meme
👍1
یکی از ریسورس های خیلی خوب و تئوری محوری که خیلی خیلی پیشنهاد میکنم ببینید MIT Introduction To Deep Learning هست.

این منبع خیلی با کیفیت بالایی هست و خیلی خوب راجب تئوری های یادگیری عمیق صحبت میکنه.

این لینک برای سال ۲۰۲۴ اش هست:

MIT 6.S191 Introduction to Deep Learning - 2024

و Playlist YouTube اش که شامل تمام lecture های سال های قبل میشه.
(حواستون باشه که همه lecture ها رو نیاز نیست ببینید و هر سال تکرار میشن ولی خب یک سریاشون انگاری متمایز ان)

MIT 6.S191 Introduction to Deep Learning - YouTube Playlist
TECH STASH
سلام دوستان. از اونجایی که خیلیاتون جدید هستید و تازه اومدید گفتم که یک سری course ها و آموزش‌های ویدیویی خوبی در مورد Machine Learning و Deep Learning بزارم که شما هم ازش استفاده کنید. کتاب دیجیتالش رو هم گذاشتم که ببینید چه مباحثی رو کاور میشه و آیا چیزی…
خب دوستان.
خوشحالم به اطلاعتون برسونم که آموزش ZTM PyTorch رو تقریباً ۲ هفته پیش تموم کردم.

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

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

یک سری نکات خوبی که این آموزش داشت:

1. وارد Transformers شد. چیزی که داخل آموزش ZTM Tensorflow اش نیست.

2. دیپلوی کردن مدل ها که مبحث خیلی مهمی هست پوشش داد (مثل دیپلوی کردن روی huggingface با gradio)

3. کدنویسی استاندارد رو داخل PyTorch یاد داد. متأسفانه PyTorch مثل Tensorflow نیست که تابع fit داشته باشه (یا حداقل من ندیدم). باید حلقه train و test اش رو خودت بنویسی که تو این آموزش این موضوع و همینطور موضوع های بیشتر کاور شد.

و اما یک سری مشکلاتی که این آموزش داشت:

1. وارد RNN نشد. درسته که وارد Transformer ها شد ولی خب از دید Computer Vision واردش شد.
البته که مباحثی مثل Attention, Encoder و Decoder یکی ان صرف نظر از domain ای که داریم داخلش کار میکنیم (متن، صدا یا تصویر)

2. فقط روی classification کار کرد. البته که از آموزش‌ها انتظار نمیره که همه ی تاپیک هایی که مرتبط با هر domain هست رو کاور کنن.
در مجموع ممکنه بیشتر از 200 ساعت یا حتی بیشتر بشه (از بس که موضوع عظیمی هست) ولی انتظار داشتم یکم وارد Object detection بشه تا یکم آموزش جذاب‌تر بشه.

3. ایکاش یکم روی NLP هم کار میکرد. NLP خیلی کانسپت مهمی هست از اونجایی که همه جا داریم از LLM ها استفاده میکنیم و خیلی فرصت خوبی میشد که NLP رو بعد از Transformer ها کاور کنه ولی خب آموزش از مرز 100 ساعت میگذشت.

4. خبری از GAN نبود. امروزه خیلی GAN باب شده و متأسفانه هیچ رد پایی از این مبحث نبود.

خود این ایرادات یکم آموزش رو طاقت فرسا میکنه.
اما مباحثی که پوشش داد خیلی خیلی عمیق و شسته‌رفته پوشش داد و واقعاً ارزشش رو داشت. (مخصوصاً بخش extra-curriculum، خیلی از وبسایت هایی که به عنوان منبع تو این کانال گذاشتم از این بخش بوده و خودش چند برابر آموزش زمان میخواد تا کامل بخونید).

و اما برای این ایرادات راه حل هم دارم.
آموزش ZTM Tensorflow هم توسط همین مدرس هست و مباحث RNN مثل LSTM, GRU و … رو کاور میکنه.
البته که باز همین همین ایراد رو داره، classification هست و به seq2seq نمیپردازه (که موجب تأسف هست) اما خیلی منابع خوبی معرفی میکنه و توضیحات خوبی میده سر همین من این آموزش رو میبینم.

(البته که فقط دو فصلشون رو می‌بینم که میشه NLP و Time Series) بقیشون رو میزارم برای فرصت بهتر.

بخش‌های اولش رو نگاه نمیکنم از اونجایی که تکراری هست، پروژه های FoodVision و مباحث ابتدایی دیگه که تو PyTorch تکرار شد همینجا هم تکرار میشه.

شاید بپرسید که اگر مستقیم بپرم روی NLP چیزی متوجه میشم؟ البته که متوجه میشید.
اتفاقاً مفاهیم یکی ان. ممکنه نام ها یکم فرق کنه یا یک سری سردرگمی های دیگه مثل Convolution های channel آخر (دارم به تو نگاه میکنم Tensorflow) یا اسم‌های متفاوت (لایه متراکم داخل PyTorch اسمش Linear ولی داخل Tensorflow اسمش Dense) ولی خب همه اینا با سرچ کردن حل میشه.

و اما در آخر. اگر منابع خوبی برای GAN, RNN و همینطور Computer Vision تخصصی مثل Object Detection, Image Segmentation داشتید خوشحال میشم تو بخش discussion این پست به اشتراک بزارید.
🎉 یلدای همگی شما دوستان عزیز مبارک 🎉
4
مدت‌ها بود که با آموزش CS50 دانشگاه Harvard آشنا بودم ولی فکر نمیکردم که اینقدر آموزشش خوب و آپدیت باشه. حتی یک سری آموزش‌های تخصصی تر برای SQL, AI, Cybersecurity, Python, R, Web و … داره.

من خودم آموزش SQL اش رو قراره ببینم و اونطوری که بررسی کردم با SQLite کار میکنه که خیلی خوبه واسه استارت ولی چیزی که خیلی این آموزش رو متمایز میکنه کیفیتش هست. حتی مباحث سیستم دیزاین (مثل replication یا sharding) و بهینه سازی کوئری ها رو توضیح میده. سراغ MySQL و PostgreSQL هم میره.

CS50’s Introduction to Databases with SQL

اگر دنبال دوره با کیفیتی واسه شروع تا تسلط روی این مبحث هستید. قطعاً دوره SQL اش بدرد میخوره.
جدا از این موضوع. تو آینده قراره CS50x اش رو قراره ببینم که گزینه خیلی solid و خوبی برای Computer Science هست.

CS50’s Introduction to Computer Science

بخش AI اش هم خیلی خوب هست ولی من فعلاً آموزش MIT رو تو اول تو لیست اولویت هام میزارم.

CS50’s Introduction to Artificial Intelligence with Python
1👍1
ماجراجویی ROM گوشی (بخش اول):

اول از این شروع شد که گوشیم تا اندروید 8 (Oreo) بیشتر پشتیبانی نمیکرد.
سر همین رفتم و گشتم و دیدم که تو xdaforums پر از رام هست.
ولی خب خیلی خوش شانس بودم.
چون گوشیم توسط LineageOS آفیشال ساپورت داشت.

اولین رام ام رو ریختم (LineageOS).
دیدم که خیلی خوب هست ولی خب خواستم یه تجربه خیلی متفاوتی داشته باشم و از اونجایی که از پروژه microg شنیده بودم رفتم سراغ رام /e/ و واسه مدت طولانی روش موندم.

پروژه microg پروژه ای بود که تمامی لایبرری های userspace ای گوگل رو به صورت open source پیاده میکرد و انگار مهندسی معکوس Google Play Services بود.

سر همین هر برنامه‌ای که نیاز به این چیزا داشت رو راحت میتونستی نصب بکنی.
و پروژه /e/ هم رامی بود که تمام ابزار های کلوز سورس گوگل از توش برداشته شده بود و سر همین دیگه خبری از «جاسوس افزار» های گوگل نبود.
اینا اسپانسر microg هم هستن.

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

ولی حقیقتش، تجربه عالی نبود.

استور دیفالت رام /e/ که اسمش App Lounge هست (که یه جورایی واسط استور اصلی گوگل پلی بود) متأسفانه باگ های زیادی داشت.
و (F-Droid) Aurora Store هم تنها راه درست درمون واسه نصب برنامه‌ها گوگل پلی بود.

جدا از این موضوع در استفاده طولانی مدت دچار کلی کندی ها و باگ های عجیبی شدم ولی فکر میکنم به خاطر کارایه من باشه مثل روت کردن (Magisk) و کلی چیزایه دیگه ولی خب هیچ وقت بررسی نکردم.

ولی خب microg در کل پروژه خوبی بود و اکوسیستم Google Play Services رو خوب ساپورت میکرد.

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

البته که الان روی این رام نیستم.
این رو تو بخش دوم توضیح میدم.

#ROM_Adventure
👍41
ماجراجویی ROM گوشی (بخش دوم):

بعد از مدت‌ها موندن روی /e/ و سختی‌هایی که بهم میداد دیدم که نیاز بود رام عوض کنم.
دلایل دیگه هم وجود داشت.
یک سری چیزا دیگه بدون ساپورت کامل Google Play Services ممکن نبود و نیاز داشتم به اون اکوسیستم گوگل.

رفتم وبسایت Lineage و دیدم که رامم discontinued شده.
بله، الان میفهمم که چرا /e/ هم آپدیت نمیده، همشون upstream از LineageOS هستن.

دیدم که crDroid هست و رفتم و نصب کردم آخرین آپدیت 2024/02 ولی رامش خیلی خوب بود.

و بعد مدت کوتاهی یه archive پیدا کردم که تمام ROM های discontinued که تیم LineageOS ارایه میدادن رو نگه داری میکرد. و حتی signature چک هم انجام دادم و دیدم که معتبر و بدون دستکاری ان.

رام LineageOS رو نصب کردم.
و در نهایت رسیدم به سرطانی به نام نصب کردن GApps یا همون Google Play Services.

رفتم MindTheGApps رو تست کنم. دیدم که انگاری مخزن رو تغییر دادن رفتن تو GitLab.
موندم مشکلشون چیه؟ ایموجی poop گذاشتن که مثلاً چی؟
رلیز روی GitHub اشون هم قدیمی بود واسه اندروید 11.
نمیدونم MindTheGApps کجا رلیز های جدیدشون رو میزنن.
اگر کسی بلد هست بهم بگه.

دو تا ورژنی رو ازشون دانلود کردم.
یکی از sourceforge و یکی از هم از خود GitHub.
و هر دوشون تو نصب با adb sideload به ارور میخوردن.

رفتم سراغ OpenGApps دیدم که بله اونا هم دیگه آپدیت نمیدن.
و من دنبال نصب موزه داخل گوشیم نیستم.
نصبش هم با موفقیت انجام میشد و بوت میکردی و بوم (google speech services stopped working).
اصلاً علایم خوبی نبود.

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

و الان در حال حاضر LineageOS + NikGApps دارم.

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

#ROM_Adventure

پس نوشت:
هر موقع پام به sourceforge میرسه احساس میکنم یه ویروسی چیزی میخوام نصب بکنم.
حتی ستاره ای چیزی ندارن که بفهمیم آخر این معتبره یا نه.
👍3🔥1
برای دوستانی که میخوان اطلاعات عمیق‌تری راجب نحوه کار LSTM و GRU پیدا کنن.
این مقاله ها خیلی خوب توضیح میدن و پیشنهاد میدم بخونید.

Illustrated Guide to LSTM’s and GRU’s: A step by step explanation – By Michael Phi

Understanding GRU Networks – Simeon Kostadinov

همینطور یه مقاله‌ای هم هست توسط Chris Olah نوشته شده که راجب LSTM صحبت میکنه. خیلی خوبه.

Understanding LSTM Networks - By Chris Olah

آموزش‌های MIT که قبل تر معرفی کردم هم منبع خیلی خوبی واسه مباحث تئوریک هستن که تو بخش Deep Sequence Modelling میتونید اطلاعات خوبی راجب RNN ها پیدا کنید.
2