PyTorch Howsam
3.01K subscribers
340 photos
48 videos
5 files
475 links
از هوش مصنوعی میگیم...

ارتباط با ادمین
@howsam_support
Download Telegram
#paper #ICLR2020 #ofa

یک مقاله جالب و البته بسیار مهم از محققین دانشگاه MIT در ICLR2020

دغدغه اصلی در این مقاله، کاهش میزان تولید CO2 حین آموزش شبکه‌های عمیق مثل NASNet هست. به نمودار موجود در پایین تصویر دقت کنید؛ میزان انتشار CO2 انسان، ماشین و NASNet رو باهم مقایسه کنید! حالا به OFA که شبکه پیشنهادی در این مقاله هست دقت کنید.

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

در واقع ما در آموزش دنبال وزن‌هایی هستیم که همزمان برای مثلا سه شبکه با معماری متفاوت روی دیوایس‌های مختلف (به تصویر دقت کنید) جواب خوبی بده... تمرکز اصلی ایده در این مقاله، بخش تابع اتلاف هست.

مقاله

کد پایتورچ

@pytorch_howsam
#optuna #hyperparameter

اگر به‌دنبال بهینه کردن هایپرپارامترها در پایتورچ هستید، کتابخونه Optuna میتونه کمکتون کنه. نحوه استفاده از Optuna رو در پست زیر یاد بگیرید. ساده هست...

https://link.medium.com/lLZbnbW275
#datascience

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

فردی در مدیوم پستی نوشته با عنوان:
چگونه با مهارت کدنویسی صفر در 6 ماه به یک data scientist تبدیل شدم!
https://link.medium.com/MdFJ03k475

چهار کورس زیر رو گذرونده و خب مشخصه که علاوه بر تلاش، تصمیم‌های خوب و درستی هم گرفته:
1- یادگیری پایتون با Codecademy
2- یادگیری دیتاساینس با Coursera
3- یادگیری کار با دیتابیس با Stanford
4- یادگیری دیتاساینس با R با EDX

سایت کدکادمی (codecademy.org) یک آموزشگاه کم‌نظیر برای افراد با مهارت صفر در حوزه کدنویسی هست. مجبورتون میکنه تمرین کنید و کدبزنید وگرنه ادامه آموزش امکان‌پذیر نیست!

@pytorch_howsam
#libtorch #پیشرفته

در پست زیر، فرآیند افزودن کتابخونه ++PyTorch C به یک پروژه ++C در ویژوال استودیو 2017 به‌صورت ساده و مرحله‌به‌مرحله توضیح داده شده...
https://medium.com/@boonboontongbuasirilai/building-pytorch-c-integration-libtorch-with-ms-visual-studio-2017-44281f9921ea

ما همین فرآیند رو روی ویژوال استودیو 2019 انجام دادیم و بدون مشکل کتابخونه به پروژه اضافه شد. هم نسخه مبتنی بر CPU و هم GPU...

دو تا از کاربردهای اصلی کتابخونه ++PyTorch C، محصولات تجاری و طراحی ماژول‌های جدید هست. ممکنه شما ماژولی طراحی کرده باشید که به خاطر سرعت و دیگر مسائل مجبور شید اون رو اول در ++C پیاده‌سازی کنید و بعد با ابزارهای مختلف به یک نسخه قابل اجرا در پایتون تبدیل کنید. مثلا Deformable Convolution یک نوع کانولوشن هست که اگر به کدهاش در گیتهاب نگاه کنید، می‌بینید که اول در ++C پیاده‌سازی شده و بعد به نسخه پایتونی تبدیل شده...

@pytorch_howsam
#conv2d #convolution

درمورد تئوری کانولوشن دوبعدی (Conv2d) پست‌های آموزشی زیادی وجود داره. اما پست زیر یکی از کامل‌ترین‌هاست. همراه با نمایش انیمیشنی که به‌راحتی در تلگرام هم می‌تونید ببینید...

نکته مهم اینجاست که درمورد تمامی پارامترهای مهم مثل stride، group، kernel، dilation، padding و غیره توضیح همراه با انیمیشن ارائه داده...

اگرچه این توضیحات بیشتر تئوری هست، اما طبق توضیحات متن به‌نظر میرسه پایتورچ رو مبنای توضیحاتش قرار داده...
@pytorch_howsam

https://towardsdatascience.com/conv2d-to-finally-understand-what-happens-in-the-forward-pass-1bbaafb0b148
#Blender #ParlAI

چند روز قبل فیسبوک سورس چت‌بات Blender را منتشر کرد. این انتشار میتونه گام بزرگی در پیشرفت کیفیت چت‌بات‌ها باشه.
https://parl.ai/projects/blender

چت‌بات Blender زیرمجموعه پلتفرم ParlAI هست. ParlAI پلتفرمی برای آموزش و ساخت مدل‌های دیالوگی در کاربردهای مختلف هست. مدل‌ها و دیتاست‌های مختلفی رو ساپورت میکنه و مجموعه کاملی هست. سایت ParlAI:
https://parl.ai

اگرچه مدل‌های NLP در یکی دو سال اخیر خیلی بزرگ شدند، اما بازهم میشه فاین‌تیون با مدل‌های کوچک انجام داد.

@pytorch_howsam
#segmentation #pingpong

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

چند شبکه برای این کار طراحی شده که اکثرا هم سگمنت هستن. دو مرحله سگمنت coarse و fine انجام میشه تا موقعیت دقیق توپ تعیین بشه. علاوه‌براین، برای پیدا کردن بازیکن‌ها و میز هم سگمنت جداگانه‌ای انجام میشه.

ویدئوی پایین هم دمویی از خروجی کار هست که در همین تلگرام هم میتونین ببینین. مقاله رو هم گذاشتیم، اما متاسفانه کدی براش پیدا نکردیم.

https://arxiv.org/abs/2004.09927

@pytorch_howsam

https://youtu.be/5P3k5ZCDcq8
امروز یک پست وبلاگی خوندم که یک متخصص حوزه NLP یک ساله که از کار تمام وقت بیرون اومده و freelance کار میکنه. به چالش‌ها و خوبی‌هاش اشاره میکنه و میگه که در یک سال گذشته چه کارهایی انجام داده... مثلا کتاب نوشته، کار مشاوره، مهندسی و تحقیقاتی انجام داده. همچنین، درمورد مدیریت زمان و pomodoro technique صحبت میکنه.

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

اگه خوندید و جمله‌ای رو خوشتون اومد، می‌تونید همینجا کامنت کنید...

@pytorch_howsam

https://masatohagiwara.net/202002-my-first-year-as-a-freelance-ai-engineer.html
#ICLR2020

هفته پیش کنفرانس ICLR به‌صورت مجازی برگزار شد. پلتفرمی که برای برگزاری جلسات طراحی شده بود، ساده و جذاب بود. به‌نظر میرسه، بازخوردها هم نسبت به این نحوه برگزاری خوب بوده...

همه ویدئوهای ارائه در لینک زیر در دسترس هستن. هر ویدئو حداکثر 5 دقیقه هست. زمان زیادی نیست و میشه مقاله‌های جالب رو نگاه کرد.

هر مقاله‌ای رو که انتخاب کنید، همزمان ویدئوی فرد ارائه‌دهنده و اسلایدها رو نشون میده. علاوه‌براین، لینک مقاله، مقاله‌های مشابه و کدها (اگر کدهاش منتشر شده باشه) رو هم نشون میده.

علاوه‌بر کنفرانس‌ها، ویدئوهای بخش ورکشاپ هم در دسترس هست.

https://iclr.cc/virtual_2020/papers.html?filter=keywords

@pytorch_howsam
#pytorch #vision

آقای Ross Wightman در توییتر اعلام کردند که با همکاری تعدادی از افراد دیگه، کلکسیون مدل‌های ویژن (وزن‌ها، اسکریپت و...) در گیتهاب ایشون به بیش از 200 مدل رسیده!

در لینک زیر می‌تونید لیست بلندبالای مدل‌ها رو مشاهده کنید:
https://github.com/rwightman/pytorch-image-models

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

@pytorch_howsam
#openai #flops

دیروز OpenAI پستی وبلاگی درباره هزینه محاسباتی تعدادی از شبکه‌ها از سال 2012 در سایتش منتشر کرد. از سال 2012 که با AlexNet شروع میشه و تا حدود 2020 ادامه داره.

اگر دقت AlexNet رو روی ImageNet معیار پایه بذاریم. هر 16 ماه، شبکه‌ای با همون دقت AlexNet پیشنهاد شده که هزینه محاسباتش نصف شبکه AlexNet هست.

حالا در طول این 7 8 سال گذشته، محاسبات موردنیاز 44بار کمتر شده!


به تصویر پیوست نگاه کنید؛ هم نمودار و هم جدولش اطلاعات جالبی ارائه میده. به ستون Compute در جدول نگاه کنید که چقدر هزینه محاسبات برحسب TeraFlops کاهش پیدا کرده...

لینک پست بالا

@pytorch_howsam
#cnn #implementation #pytorch

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

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

پیاده‌سازی شبکه ResNet

پیاده‌سازی شبکه GoogleNet

پیاده‌سازی شبکه VGG

پیاده‌سازی شبکه LeNet

سایر ویدئوهای همین کانال (Aladdin Persson) رو ببینید. ویدئوهای آموزشی خوبی در زمینه پایتورچ، یادگیری عمیق و یادگیری ماشین داره.

@pytorch_howsam
PyTorch Howsam pinned Deleted message
PyTorch Howsam
#ICLR2020 هفته پیش کنفرانس ICLR به‌صورت مجازی برگزار شد. پلتفرمی که برای برگزاری جلسات طراحی شده بود، ساده و جذاب بود. به‌نظر میرسه، بازخوردها هم نسبت به این نحوه برگزاری خوب بوده... همه ویدئوهای ارائه در لینک زیر در دسترس هستن. هر ویدئو حداکثر 5 دقیقه هست.…
#ICLR2020

سایت Analytics Vidhya که سایت خوبیه و قبلا هم ازش پست معرفی کردیم، به بررسی کنفرانس ICLR2020 پرداخته. نکات زیادی گفته، ما خلاصه‌شو اینجا میگیم:

اول اینکه، اشاره کرده به سبک کنفرانس مجازی که خیلی‌ها خوششون اومده. اونقدر طراحی سایت جالب و خوب بوده که افراد سرشناسی مانند Andrew Ng هم تشکر کردن و خوششون اومده...

دوم، حضور اسپانسرهای قدرتمند مثل گوگل، فیسبوک، آمازون، اپل، مایکروسافت و غیره

سوم، موضوع داغ یا hot topic در این دوره Deep Learning بوده. خب طبیعیه

چهارم، میزان استفاده از پایتورچ، تنسورفلو و کراس بوده... 237 مقاله که کد منتشر کردن رو بررسی کردن که پایتورچ حدود 65%، تنسورفلو حدود 38% و کراس هم 9.7% بودن. پایتورچ: 😎

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

ششم، سایت openreview. شما در سایت openreview می‌تونید نظر محقق‌ها رو درباره مقاله‌ها بخونید. این مساله شفافیت در داوری مقالات رو بالا میبره.

لینک مرجع اطلاعات بالا

@pytorch_howsam
PyTorch Howsam
#conv2d #convolution درمورد تئوری کانولوشن دوبعدی (Conv2d) پست‌های آموزشی زیادی وجود داره. اما پست زیر یکی از کامل‌ترین‌هاست. همراه با نمایش انیمیشنی که به‌راحتی در تلگرام هم می‌تونید ببینید... نکته مهم اینجاست که درمورد تمامی پارامترهای مهم مثل stride،…
#Python #conv2d #convolution

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

انیمیشن‌های خوب و زیادی داشت که یکیشو اینجا پیوست کردیم. برای بعضیا سوال شده بود که با چه ابزاری این انیمیشن‌ها رو ساخته؟! چون ما خودمون با پاورپوینت می‌کشیم و بعد انیمیشن می‌کنیم. یا بعضیا با فتوشاپ می‌کشن...

در متنش گفته همه اینها با پایتون کشیده شده 😐 کدهاشم اوپن‌سورسه...

جالبه، دست مریزاد...

لینک گیتهاب این پروژه

@pytorch_howsam
#monai #pytorch

شرکت Nvidia مجموعه‌ای به‌نام monai راه انداخته که تمرکزش روی پزشکی در هوش مصنوعی هست.

درحال حاضر یک فریمورک به‌نام monai مخصوص پزشکی آماده کردن که بر پایه پایتورچ آماده شده...

نکته مهمی که معمولا دانشجوهای مهندسی پزشکی باهاش مواجه هستن، اطلاعات و کد آموزشی کم در حوزه دیپ لرنینگ و پزشکی هست. اما کافیه که به سایت monai برید، در همون صفحه اول سایت، تعداد بسیار زیادی مثال تحت عنوان Getting Started وجود داره که میتونه شروع خوبی باشه.

یک اسکرین‌شات از مثال‌ها گذاشتیم. بیشتر از اینهاست. به سایت زیر برید و خودتون مشاهده کنید:
monai.ai

@pytorch_howsam
PyTorch Howsam
#آموزش_پایتورچ جلسه سوم: آموزش ساخت تنسورهای خاص در پایتورچ منتشر شد. https://howsam.org/special-tensors-pytorch/ در سومین جلسه آموزش پایتورچ می‌خواهیم به معرفی انواع تنسورهای خاص در پایتورچ بپردازیم. منظور از تنسورهای خاص، همان تنسورهای صفر (zeros)، واحد…
#آموزش_پایتورچ

جلسه چهارم: آموزش ساخت تنسورهای تصادفی در پایتورچ منتشر شد.

https://howsam.org/random-tensor-pytorch/

در این جلسه می‌خواهیم به شما نحوه ساخت تنسور تصادفی در پایتورچ را آموزش دهیم. در این جلسه با دستورهایی مثل rand ، randn ، randperm و randint در پایتورچ آشنا خواهید شد. با هوسم همراه باشید...

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

@pytorch_howsam
#OpenAI #learning_day

روز یادگیری یا Learning Day عنوان یک پست وبلاگی است که در سایت OpenAI منتشر شده... پست جالبی هست. خلاصه‌ای از این پست رو در ادامه می‌تونید بخونید.

هر پنج‌شنبه در OpenAI روز یادگیری هست.

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

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

روز یادگیری یک هدیه برای کارمندان هست. اونها آزاد هستن که در روز یادگیری کارهایی شبیه موارد زیر انجام بدن:
* خواندن مقالات AI
* پیاده‌سازی مقالات AI
* دیدن کورس‌های آموزشی AI
* یادگرفتن مباحث پایه، مثل جبرخطی، آمار و احتمال و غیره
* آشنایی با زبان‌های برنامه‌نویسی و فریمورک‌های جدید

لینک:
https://openai.com/blog/learning-day/
#markdown

با markdown آشنا هستید؟
به‌صورت خلاصه، markdown روشی برای نوشتن محتوا برای وب هست. در حوزه آکادمیک و برای محققین، markdown کاربرد زیادی داره.

کافیه که به reddit و خصوصا github سر بزنید. تمام توضیحاتی که در پیج github پروژه‌ها می‌بینید، با همین markdown نوشته شده.

به تصویر پیوستی نگاه کنید. در سمت چپ، با یکسری علایم یک متنی نوشته شده و در سمت راست شما خروجی کار رو می‌بینید. مثلا برای عنوان‌ها H1 H2 و الی آخر، کافیه از # استفاده کنید.

یادگیریش بسیار راحته. کافیه به سایت زیر برید و آموزش رو شروع کنید. سایت این قابلیت رو هم گذاشته که مرحله‌ به مرحله آموزش‌ها رو آنلاین تست کنید و بعد برید جلو...
https://www.markdowntutorial.com/

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

@pytorch_howsam