این تصویر مفهومی و انگیزشی را امروز دیدم و برایم جالب بود. تصمیم گرفتم با شما دوستان هم به اشتراک بگذارم...
در هرکاری پله اول سخت و پر از سردرگمی و نگرانی هست. اگر در حوزه هوش مصنوعی تازهکار هستید، مهم نیست. با تلاش و یک نقشه راه مناسب میتوانید یک متخصص هوش مصنوعی شوید.
میتوانید روی کمک ما هم حساب کنید...
در هرکاری پله اول سخت و پر از سردرگمی و نگرانی هست. اگر در حوزه هوش مصنوعی تازهکار هستید، مهم نیست. با تلاش و یک نقشه راه مناسب میتوانید یک متخصص هوش مصنوعی شوید.
میتوانید روی کمک ما هم حساب کنید...
PyTorch Howsam
#آموزش_پایتورچ جلسه اول: آموزش نصب پایتورچ https://howsam.org/install-pytorch/ @pytorch_howsam
#آموزش_پایتورچ
جلسه دوم: آموزش ساخت تنسور در پایتورچ منتشر شد.
https://howsam.org/tensor-pytorch/
در جلسه دوم آموزش پایتورچ هوسم، میخواهیم به نحوه تعریف تنسور در پایتورچ بپردازیم. در این جلسه میآموزید که چطور در پایتورچ بردار، ماتریس و غیره بسازید. خواص تنسور در پایتورچ هم بخش پایانی این جلسه را تشکیل میدهد. با هوسم همراه باشید…
@pytorch_howsam
جلسه دوم: آموزش ساخت تنسور در پایتورچ منتشر شد.
https://howsam.org/tensor-pytorch/
در جلسه دوم آموزش پایتورچ هوسم، میخواهیم به نحوه تعریف تنسور در پایتورچ بپردازیم. در این جلسه میآموزید که چطور در پایتورچ بردار، ماتریس و غیره بسازید. خواص تنسور در پایتورچ هم بخش پایانی این جلسه را تشکیل میدهد. با هوسم همراه باشید…
@pytorch_howsam
مولفهای مقالهها، معمولا کدها رو در گیتهاب میذارن و مدلهای آموزشدیده رو در گوگلدرایو قرار میدن.
اگر خواستید در گوگلکولب، یک فایلی رو از گوگلدرایو یک فرد دیگه دانلود کنید، با پکیج gdown میتونید اینکار رو انجام بدید.
اول gdown رو نصب کنید:
!pip install gdown
بعد لینک اون فایل موردنظر رو در دستور زیر بذارید. در تصویر نشون دادیم که کدوم بخش از آدرس رو باید انتخاب کنید.
!gdown https://drive.google.com/uc?id=1udpOPum8fJdoEQm6n0jsIgMMViOMFinu
البته ممکنه راههای مختلفی وجود داشته باشه. این یک راه، شما هم به ما معرفی کنید...
@pytorch_howsam
اگر خواستید در گوگلکولب، یک فایلی رو از گوگلدرایو یک فرد دیگه دانلود کنید، با پکیج gdown میتونید اینکار رو انجام بدید.
اول gdown رو نصب کنید:
!pip install gdown
بعد لینک اون فایل موردنظر رو در دستور زیر بذارید. در تصویر نشون دادیم که کدوم بخش از آدرس رو باید انتخاب کنید.
!gdown https://drive.google.com/uc?id=1udpOPum8fJdoEQm6n0jsIgMMViOMFinu
البته ممکنه راههای مختلفی وجود داشته باشه. این یک راه، شما هم به ما معرفی کنید...
@pytorch_howsam
This media is not supported in your browser
VIEW IN TELEGRAM
#andrej_karpathy #matroid
امروز توییتی از matroid منتشر شد که معرفی ارائهای از آقای Andrej Karpathy درباره چالشهای تشخیص تابلوهای علائم رانندگی بود.
بخش کوچکی از این صحبتها رو در ویدئوهای بالا میتونید ببینید که به چالشها اشاره میشه. مثلا، بعضی علائم ممکنه در دستان مامور پلیس باشه. ممکنه پشت ماشینها (مثلا کامیون) وصل شده باشه. یا پشت درختها و سایر اشیا پوشیده شده باشه. یک مساله به ظاهر ساده که در عمل چالشهای زیاد و متنوعی داره.
ارائه کامل در لینک زیر:
https://youtu.be/hx7BXih7zx8
@pytorch_howsam
امروز توییتی از matroid منتشر شد که معرفی ارائهای از آقای Andrej Karpathy درباره چالشهای تشخیص تابلوهای علائم رانندگی بود.
بخش کوچکی از این صحبتها رو در ویدئوهای بالا میتونید ببینید که به چالشها اشاره میشه. مثلا، بعضی علائم ممکنه در دستان مامور پلیس باشه. ممکنه پشت ماشینها (مثلا کامیون) وصل شده باشه. یا پشت درختها و سایر اشیا پوشیده شده باشه. یک مساله به ظاهر ساده که در عمل چالشهای زیاد و متنوعی داره.
ارائه کامل در لینک زیر:
https://youtu.be/hx7BXih7zx8
@pytorch_howsam
#matroid
خب در توییت بالا از matroid صحبت کردیم. حیف بود معرفیش نکنیم.
متروید یک شرکت کامپیوتر ویژن هست که به شما در حوزه کامپیوتر ویژن سرویس میده. شعارشون این هست که نیازی نیست خودتون ماهها درگیر الگوریتمها بشید، از سرویسهای ما استفاده کنید. سرویسهاشون متنوع و زیاده... مثلا چند تا محصولاتشون عبارتنداز:
دیتکشن، تخمین ژست افراد، شناسایی عملها در ویدئو، قابلیت جستجوی یک شی در ویدئو...
علاوهبراین، اونها وبلاگ مفید و بروزی هم دارند. همچنین، در زمینه انتشار مقاله و کتاب هم فعالیت دارند.
متروید هرساله کنفرانسی بهنام ScaledML برگزار میکنه. اتفاقا آقای Karpathy در همین کنفرانس ارائهای درمورد خودروهای خودران داشتند.
https://t.iss.one/pytorch_howsam/51
و دو نکته جالب اینکه:
اول اینکه، موسس و مدیرعامل شرکت متروید، آقای رضا زاده هستند. خیلی هم عالی...
دوم، اینکه، این شرکت کارهاش رو بر پایه پایتورچ جلو میبره. بازم عالی 😊
matroid.com
@pytorch_howsam
خب در توییت بالا از matroid صحبت کردیم. حیف بود معرفیش نکنیم.
متروید یک شرکت کامپیوتر ویژن هست که به شما در حوزه کامپیوتر ویژن سرویس میده. شعارشون این هست که نیازی نیست خودتون ماهها درگیر الگوریتمها بشید، از سرویسهای ما استفاده کنید. سرویسهاشون متنوع و زیاده... مثلا چند تا محصولاتشون عبارتنداز:
دیتکشن، تخمین ژست افراد، شناسایی عملها در ویدئو، قابلیت جستجوی یک شی در ویدئو...
علاوهبراین، اونها وبلاگ مفید و بروزی هم دارند. همچنین، در زمینه انتشار مقاله و کتاب هم فعالیت دارند.
متروید هرساله کنفرانسی بهنام ScaledML برگزار میکنه. اتفاقا آقای Karpathy در همین کنفرانس ارائهای درمورد خودروهای خودران داشتند.
https://t.iss.one/pytorch_howsam/51
و دو نکته جالب اینکه:
اول اینکه، موسس و مدیرعامل شرکت متروید، آقای رضا زاده هستند. خیلی هم عالی...
دوم، اینکه، این شرکت کارهاش رو بر پایه پایتورچ جلو میبره. بازم عالی 😊
matroid.com
@pytorch_howsam
#pytorch
پایتورچ نسخه 1.5 منتشر شد...
قسمت اعظم این بروزرسانی، مربوط به بخش ++C هست.
علاوهبر بخش ++C، در autograd هم بروزرسانی انجام شده و توابع جدیدی مانند Jacobian، hessian و... اضافه شده.
علاوه بر پایتورچ، سه پکیج مهم torchvision، torchtext و torchaudio هم بروزرسانی شدند.
کتابخونه torch_xla هم بروزرسانی شد. این کتابخونه از کامپایلر جبر خطی XLA استفاده میکنه تا محاسبات روی TPUها سریعتر اجرا بشه.
همچنین، دو کتابخونه جدید با نامهای torchserve و torchelastic با همکاری آمازون با کاربردهای تجاری منتشر شده...
@pytorch_howsam
پایتورچ نسخه 1.5 منتشر شد...
قسمت اعظم این بروزرسانی، مربوط به بخش ++C هست.
علاوهبر بخش ++C، در autograd هم بروزرسانی انجام شده و توابع جدیدی مانند Jacobian، hessian و... اضافه شده.
علاوه بر پایتورچ، سه پکیج مهم torchvision، torchtext و torchaudio هم بروزرسانی شدند.
کتابخونه torch_xla هم بروزرسانی شد. این کتابخونه از کامپایلر جبر خطی XLA استفاده میکنه تا محاسبات روی TPUها سریعتر اجرا بشه.
همچنین، دو کتابخونه جدید با نامهای torchserve و torchelastic با همکاری آمازون با کاربردهای تجاری منتشر شده...
@pytorch_howsam
PyTorch Howsam
#pytorch پایتورچ نسخه 1.5 منتشر شد... قسمت اعظم این بروزرسانی، مربوط به بخش ++C هست. علاوهبر بخش ++C، در autograd هم بروزرسانی انجام شده و توابع جدیدی مانند Jacobian، hessian و... اضافه شده. علاوه بر پایتورچ، سه پکیج مهم torchvision، torchtext و torchaudio…
چند نکته درباره بروزرسانی جدید پایتورچ
خب از اخبار بالا در مورد بروزرسانی پایتورچ، میتونیم ببینیم که بخش اعظم این بروزرسانی چندان آکادمیک نیست. در این بروزرسانی خیلی صحبت از ++C شده و همچنین تبلیغ زیادی روی دو کتابخونه جدید torchserve و torchelastic شده...
شاید بد نباشه چند جمله زیر رو که از تیم پایتورچ در medium منتشر شده بخونیم:
As PyTorch is used more and more in production environments, we’ve continued to see the need to provide better tools and platforms for the community to scale up training and deploy models efficiently.
کاملا مشخصه که بعد از محبوبیت پایتورچ در فضای آکادمیک، تیم پایتورچ بهدنبال رشد هرچه بیشتر در فضای تجاری هستند. بنابراین، این بروزرسانی با رویکرد رشد بیشتر در فضای تجاری ارائه شده.
بخش ++C پایتورچ بروزرسانی مهمی دریافت کرده که بازهم نشوندهنده اهداف تجاری هست. تلاش میکنن ++C خیلی شبیه پایتون باشه.
علاوهبر اینها پایتورچ، ارتباط خوبی با کاربرها داره. از کاربرها نظر میخواد و بعد سعی میکنه در بروزرسانیها اعمال کنه. مثلا کاربرها در اندیسدهی تنسورها در ++C مشکل داشتند. دقیقا اشاره شده، بهدلیل مشکلاتی که کاربرها داشتند ما اندیسدهی رو بهتر کردیم و حالا بیشتر شبیه پایتون شده و راحتتر شده. خب ما اینجا هر دو مورد رو آوردیم. اندیسدهی تنسور در پایتون و ++C:
tensor[:, 0, ..., mask]
tensor.index({Slice(), 0, "...", mask})
نکته آخر اینکه، نظم جالبی در پایتورچ دیده میشه. کاربردها رو از هم جدا میکنه. همه رو در داخل پایتورچ نمیذاره. برای سه بخش مهم تصویر، متن و صوت کتابخونههای جدا ساخته تا کاربرها دچار سردرگمی نشن.
ببینیم پایتورچ به رشدش در صنعت میتونه ادامه بده؟ نظر شما چیه؟
@pytorch_howsam
خب از اخبار بالا در مورد بروزرسانی پایتورچ، میتونیم ببینیم که بخش اعظم این بروزرسانی چندان آکادمیک نیست. در این بروزرسانی خیلی صحبت از ++C شده و همچنین تبلیغ زیادی روی دو کتابخونه جدید torchserve و torchelastic شده...
شاید بد نباشه چند جمله زیر رو که از تیم پایتورچ در medium منتشر شده بخونیم:
As PyTorch is used more and more in production environments, we’ve continued to see the need to provide better tools and platforms for the community to scale up training and deploy models efficiently.
کاملا مشخصه که بعد از محبوبیت پایتورچ در فضای آکادمیک، تیم پایتورچ بهدنبال رشد هرچه بیشتر در فضای تجاری هستند. بنابراین، این بروزرسانی با رویکرد رشد بیشتر در فضای تجاری ارائه شده.
بخش ++C پایتورچ بروزرسانی مهمی دریافت کرده که بازهم نشوندهنده اهداف تجاری هست. تلاش میکنن ++C خیلی شبیه پایتون باشه.
علاوهبر اینها پایتورچ، ارتباط خوبی با کاربرها داره. از کاربرها نظر میخواد و بعد سعی میکنه در بروزرسانیها اعمال کنه. مثلا کاربرها در اندیسدهی تنسورها در ++C مشکل داشتند. دقیقا اشاره شده، بهدلیل مشکلاتی که کاربرها داشتند ما اندیسدهی رو بهتر کردیم و حالا بیشتر شبیه پایتون شده و راحتتر شده. خب ما اینجا هر دو مورد رو آوردیم. اندیسدهی تنسور در پایتون و ++C:
tensor[:, 0, ..., mask]
tensor.index({Slice(), 0, "...", mask})
نکته آخر اینکه، نظم جالبی در پایتورچ دیده میشه. کاربردها رو از هم جدا میکنه. همه رو در داخل پایتورچ نمیذاره. برای سه بخش مهم تصویر، متن و صوت کتابخونههای جدا ساخته تا کاربرها دچار سردرگمی نشن.
ببینیم پایتورچ به رشدش در صنعت میتونه ادامه بده؟ نظر شما چیه؟
@pytorch_howsam
This media is not supported in your browser
VIEW IN TELEGRAM
#مبتدی
یک پروژه ساده و جالب در شناسایی چهره با ماسک
افرادی که تازه یادگیری عمیق و پایتورچ رو یاد گرفتن، از این دست پروژهها خیلی میتونه به پیشرفتشون کمک کنه. یک پروژه صفر تا صد که خیلی سخت نیست و آموزنده هم هست.
گیتهاب پروژه:
https://github.com/goktugyildirim/RealTimeMedicalMaskDetection
@pytorch_howsam
یک پروژه ساده و جالب در شناسایی چهره با ماسک
افرادی که تازه یادگیری عمیق و پایتورچ رو یاد گرفتن، از این دست پروژهها خیلی میتونه به پیشرفتشون کمک کنه. یک پروژه صفر تا صد که خیلی سخت نیست و آموزنده هم هست.
گیتهاب پروژه:
https://github.com/goktugyildirim/RealTimeMedicalMaskDetection
@pytorch_howsam
#metric_learning
یک کتابخونه پایتورچی عالی در زمینه متریک لرنینگ
https://github.com/KevinMusgrave/pytorch-metric-learning
متریک لرنینگ چیه؟ اول بگیم متریک چیه... خب در شبکهها و بسیاری از متدهای ماشین لرنینگ، به یک معیار فاصله برای اندازهگیری فاصله بین نمونهها نیازه. مثلا فاصله اقلیدسی... خب متریک لرنینگ هم یعنی اینکه اون معیار اندازهگیری فاصله بهصورت خودکار بنابه مساله ساخته بشه. مثلا فاصله ماهالانوبیس... اگر اطلاعات بیشتری خواستید از اینجا مطاله کنید:
https://contrib.scikit-learn.org/metric-learn/introduction.html
در این کتابخونه توابع AngularLoss، ArcFaceLoss، Triplet Loss و یک عالمه توابع متریک دیگه وجود داره که میتونید در مسالهای خودتون ازشون استفاده کنید.
این هم یک مقاله خوب برای شروع متریک لرنینگ
https://www.mdpi.com/2073-8994/11/9/1066/htm
راستی تصویر پیوستی رو دقیق نگاه کنید. چند تا متریک رو نشون داده...
@pytorch_howsam
یک کتابخونه پایتورچی عالی در زمینه متریک لرنینگ
https://github.com/KevinMusgrave/pytorch-metric-learning
متریک لرنینگ چیه؟ اول بگیم متریک چیه... خب در شبکهها و بسیاری از متدهای ماشین لرنینگ، به یک معیار فاصله برای اندازهگیری فاصله بین نمونهها نیازه. مثلا فاصله اقلیدسی... خب متریک لرنینگ هم یعنی اینکه اون معیار اندازهگیری فاصله بهصورت خودکار بنابه مساله ساخته بشه. مثلا فاصله ماهالانوبیس... اگر اطلاعات بیشتری خواستید از اینجا مطاله کنید:
https://contrib.scikit-learn.org/metric-learn/introduction.html
در این کتابخونه توابع AngularLoss، ArcFaceLoss، Triplet Loss و یک عالمه توابع متریک دیگه وجود داره که میتونید در مسالهای خودتون ازشون استفاده کنید.
این هم یک مقاله خوب برای شروع متریک لرنینگ
https://www.mdpi.com/2073-8994/11/9/1066/htm
راستی تصویر پیوستی رو دقیق نگاه کنید. چند تا متریک رو نشون داده...
@pytorch_howsam
#resnet #resnest #پیشرفته
معرفی مقاله ResNeSt: Split-Attention Networks (2020)
این مقاله، بهدنبال بهبود عملکرد رزنت با طراحی یک ماژول اتنشن بهنام Split-Attention block هست. این ماژول اتنشن به لایههای درون شبکه رزنت اضافه میشه. اسم این شبکه با ماژول اتنشن رو ResNeSt گذاشتن.
درگذشته ماژولهایی مانند SENet و SKNet برای بهبود عملکرد رزنت طراحی شده بودند. عملکرد خوبی هم داشتن.
ماژول اتنشن در این مقاله جدید، از سه کار SENet و SKNet و ResNext الهام گرفته. در تصویر پیوستی دو ماژول SENet و SKNet رو میتونید ببینید. ماژول ResNext هم هدفش ایجاد شاخههای متعدد و موازی برای افزایش پهنای شبکه بود.
شکل سمت راست، ماژول Split-Attention در ResNeSt رو نشون میده. دراین ماژول دو مرحله شاخهشاخه کردن فیچرمپ انجام شده. مرحله اول مشابه با ResNext که فیچرمپ به k شاخه یا cardinal تقسیم شده. مرحله دوم، هر کاردینال دوباره شاخهشاخه شده و به r بخش تقسیم شده.
شبیه به شاخههای درخت شده...
لینک مقاله:
https://arxiv.org/abs/2004.08955
لینک کدهای پایتورچ (نسخه رسمی):
https://github.com/zhanghang1989/ResNeSt
@pytorch_howsam
معرفی مقاله ResNeSt: Split-Attention Networks (2020)
این مقاله، بهدنبال بهبود عملکرد رزنت با طراحی یک ماژول اتنشن بهنام Split-Attention block هست. این ماژول اتنشن به لایههای درون شبکه رزنت اضافه میشه. اسم این شبکه با ماژول اتنشن رو ResNeSt گذاشتن.
درگذشته ماژولهایی مانند SENet و SKNet برای بهبود عملکرد رزنت طراحی شده بودند. عملکرد خوبی هم داشتن.
ماژول اتنشن در این مقاله جدید، از سه کار SENet و SKNet و ResNext الهام گرفته. در تصویر پیوستی دو ماژول SENet و SKNet رو میتونید ببینید. ماژول ResNext هم هدفش ایجاد شاخههای متعدد و موازی برای افزایش پهنای شبکه بود.
شکل سمت راست، ماژول Split-Attention در ResNeSt رو نشون میده. دراین ماژول دو مرحله شاخهشاخه کردن فیچرمپ انجام شده. مرحله اول مشابه با ResNext که فیچرمپ به k شاخه یا cardinal تقسیم شده. مرحله دوم، هر کاردینال دوباره شاخهشاخه شده و به r بخش تقسیم شده.
شبیه به شاخههای درخت شده...
لینک مقاله:
https://arxiv.org/abs/2004.08955
لینک کدهای پایتورچ (نسخه رسمی):
https://github.com/zhanghang1989/ResNeSt
@pytorch_howsam
PyTorch Howsam
#آموزش_پایتورچ جلسه دوم: آموزش ساخت تنسور در پایتورچ منتشر شد. https://howsam.org/tensor-pytorch/ در جلسه دوم آموزش پایتورچ هوسم، میخواهیم به نحوه تعریف تنسور در پایتورچ بپردازیم. در این جلسه میآموزید که چطور در پایتورچ بردار، ماتریس و غیره بسازید. خواص…
#آموزش_پایتورچ
جلسه سوم: آموزش ساخت تنسورهای خاص در پایتورچ منتشر شد.
https://howsam.org/special-tensors-pytorch/
در سومین جلسه آموزش پایتورچ میخواهیم به معرفی انواع تنسورهای خاص در پایتورچ بپردازیم. منظور از تنسورهای خاص، همان تنسورهای صفر (zeros)، واحد (ones)، همانی (eye) و سایر موارد مشابه است. با هوسم همراه باشید...
@pytorch_howsam
جلسه سوم: آموزش ساخت تنسورهای خاص در پایتورچ منتشر شد.
https://howsam.org/special-tensors-pytorch/
در سومین جلسه آموزش پایتورچ میخواهیم به معرفی انواع تنسورهای خاص در پایتورچ بپردازیم. منظور از تنسورهای خاص، همان تنسورهای صفر (zeros)، واحد (ones)، همانی (eye) و سایر موارد مشابه است. با هوسم همراه باشید...
@pytorch_howsam
PyTorch Howsam via @like
#object_detection #yolov4
در مقاله YOLOv4 بلوک دیاگرامی اومده که بهصورت جامع بخشهای مختلف سیستمهای تشخیص اشیا رو به تصویر کشیده.
با توجه به تصویر بالا، بخشهای کلی سیستم تشخیص اشیا شامل موارد زیر هست:
* ورودی (Input)
* شبکه بدنه یا بیس (Backbone)
* گردن (Neck)!
* سر (Head)
بخش Input که شامل تصویر یا هرم تصویر یا پچ هست.
بخش Backbone که شامل شبکههای کانولوشنی معروف مانند رزنت، دارکنت هست.
بخش Neck که ممکن هست شامل دو زیربخش تجمیع ویژگیها (مثل FPN) و بلوکهای افزایش Receptive Field باشه. این بخش Neck در اکثر کارهای دیتکشن دیده میشه. اتفاقا در EffiecientDet دیدیم که یکی از ایدههای مهمشون در همین بود. لینک پست EfficientDet:
https://t.iss.one/pytorch_howsam/44
بخش بعدی head هست که معمولا برای روشهای تشخیص اشیای دو مرحلهای (Sparse Prediction) و یک مرحلهای (Dense Prediction) متفاوت هست. مثلا، یولو از جمله روشهای تک مرحلهای هست که یک head بنام yolo layer داره. اما در نوشتههای زیر شکل میتونید ببینید که headهای مختلفی تا الان طراحی شده.
در پست بعدی، کمی درباره YOLOV4 صحبت میکنیم.
@pytorch_howsam
در مقاله YOLOv4 بلوک دیاگرامی اومده که بهصورت جامع بخشهای مختلف سیستمهای تشخیص اشیا رو به تصویر کشیده.
با توجه به تصویر بالا، بخشهای کلی سیستم تشخیص اشیا شامل موارد زیر هست:
* ورودی (Input)
* شبکه بدنه یا بیس (Backbone)
* گردن (Neck)!
* سر (Head)
بخش Input که شامل تصویر یا هرم تصویر یا پچ هست.
بخش Backbone که شامل شبکههای کانولوشنی معروف مانند رزنت، دارکنت هست.
بخش Neck که ممکن هست شامل دو زیربخش تجمیع ویژگیها (مثل FPN) و بلوکهای افزایش Receptive Field باشه. این بخش Neck در اکثر کارهای دیتکشن دیده میشه. اتفاقا در EffiecientDet دیدیم که یکی از ایدههای مهمشون در همین بود. لینک پست EfficientDet:
https://t.iss.one/pytorch_howsam/44
بخش بعدی head هست که معمولا برای روشهای تشخیص اشیای دو مرحلهای (Sparse Prediction) و یک مرحلهای (Dense Prediction) متفاوت هست. مثلا، یولو از جمله روشهای تک مرحلهای هست که یک head بنام yolo layer داره. اما در نوشتههای زیر شکل میتونید ببینید که headهای مختلفی تا الان طراحی شده.
در پست بعدی، کمی درباره YOLOV4 صحبت میکنیم.
@pytorch_howsam
PyTorch Howsam via @like
#object_detection #yolov4 در مقاله YOLOv4 بلوک دیاگرامی اومده که بهصورت جامع بخشهای مختلف سیستمهای تشخیص اشیا رو به تصویر کشیده. با توجه به تصویر بالا، بخشهای کلی سیستم تشخیص اشیا شامل موارد زیر هست: * ورودی (Input) * شبکه بدنه یا بیس (Backbone) * گردن…
#YOLOv4
دیروز این مقدمه رو گفتیم که برسیم به مقاله YOLOv4...
یولو 4 هم مثل سه نسخه قبلی پر از کارها و ایدههای جدید هست. در هر بخش از بلوک دیاگرام بالا سعی کردن ایدههای جدیدی اعمال کنن و نتیجه بهبود عملکرد در تشخیص اشیا بوده. ضمن اینکه همچنان سرعت اجرای بسیار خوبی داره.
بهتره طبق همون بلوک دیاگرام پست بالا به توضیح یولو 4 بپردازیم:
در بخش ورودی، روی دیتاآگمنت کار کردن...
در بخش بدنه، شبکه دارکنت-53 سابق رو بهبود دادن و حالا شبکه CSPDarknet53 رو معرفی کردن. CSP اشاره میکنه به یک مقاله دیگه که برای افزایش قدرت یادگیری شبکههای کانولوشنی پیشنهاد شده. با الهامگیری از شبکه DenseNet...
در بخش Neck یا گردن! از ماژولهای SPP و PAN استفاده شده. اما مثلا در متد PAN تغییراتی هم ایجاد کردن.
در بخش Head هم از لایه یولو ورژن سه استفاده کردن.
علاوه بر اینها، ایدههای ریز و درشت دیگهای هم زده شده که ما به مهمترینهاشون اشاره کردیم.
لینک مقاله:
https://arxiv.org/pdf/2004.10934.pdf
کدهای پایتورچ:
https://github.com/Tianxiaomo/pytorch-YOLOv4
@pytorch_howsam
دیروز این مقدمه رو گفتیم که برسیم به مقاله YOLOv4...
یولو 4 هم مثل سه نسخه قبلی پر از کارها و ایدههای جدید هست. در هر بخش از بلوک دیاگرام بالا سعی کردن ایدههای جدیدی اعمال کنن و نتیجه بهبود عملکرد در تشخیص اشیا بوده. ضمن اینکه همچنان سرعت اجرای بسیار خوبی داره.
بهتره طبق همون بلوک دیاگرام پست بالا به توضیح یولو 4 بپردازیم:
در بخش ورودی، روی دیتاآگمنت کار کردن...
در بخش بدنه، شبکه دارکنت-53 سابق رو بهبود دادن و حالا شبکه CSPDarknet53 رو معرفی کردن. CSP اشاره میکنه به یک مقاله دیگه که برای افزایش قدرت یادگیری شبکههای کانولوشنی پیشنهاد شده. با الهامگیری از شبکه DenseNet...
در بخش Neck یا گردن! از ماژولهای SPP و PAN استفاده شده. اما مثلا در متد PAN تغییراتی هم ایجاد کردن.
در بخش Head هم از لایه یولو ورژن سه استفاده کردن.
علاوه بر اینها، ایدههای ریز و درشت دیگهای هم زده شده که ما به مهمترینهاشون اشاره کردیم.
لینک مقاله:
https://arxiv.org/pdf/2004.10934.pdf
کدهای پایتورچ:
https://github.com/Tianxiaomo/pytorch-YOLOv4
@pytorch_howsam
#unet #medical #segmentation
شبکه unet، یکی از شبکههای محبوب و پر استفاده در حوزه سگمنت تصاویر پزشکی هست. در تصویر بالا، معماری این شبکه رو میتونید ببینید که چندان پیچیده هم نیست.
در لینک زیر میتونید یک کد پایتورچ بسیار بسیار ساده از اجرای این شبکه روی تصویر پزشکی ببینید. تنها با 20 خط کد!
https://pytorch.org/hub/mateuszbuda_brain-segmentation-pytorch_unet/
نظرتون چیه در یک پست وبلاگی بیشتر درموردش توضیح بدیم؟
@pytorch_howsam
شبکه unet، یکی از شبکههای محبوب و پر استفاده در حوزه سگمنت تصاویر پزشکی هست. در تصویر بالا، معماری این شبکه رو میتونید ببینید که چندان پیچیده هم نیست.
در لینک زیر میتونید یک کد پایتورچ بسیار بسیار ساده از اجرای این شبکه روی تصویر پزشکی ببینید. تنها با 20 خط کد!
https://pytorch.org/hub/mateuszbuda_brain-segmentation-pytorch_unet/
نظرتون چیه در یک پست وبلاگی بیشتر درموردش توضیح بدیم؟
@pytorch_howsam
This media is not supported in your browser
VIEW IN TELEGRAM
#GIMP
نرمافزار GIMP یک ادیتور تصویر رایگان هست که دی ویدئوی بالا میتونید محیطش رو ببینید. در زیر هم لینک سایتش رو آوردیم:
www.gimp.org
اما، GIMP-ML یک پلاگین هست که به ادیتور GIMP اضافه میشه. GIMP-ML یک پکیج پایتونی هست که با استفاده مدلهای کامپیوتر ویژن، به شما امکان کارهای جالب مثل تغییر رنگ مو، رنگی کردن تصاویر و غیره میده.
ویدئو رو نگاه کنید، درسته که خروجی کیفیت بالایی نداره ولی بازهم کار جالبیه...
اینم بگیم که داخل این پکیج، کدها و مدلهای پایتورچی به وفور دیده میشه و اتفاقا در دسترسه...
داکیومنت GIMP-ML:
https://arxiv.org/pdf/2004.13060.pdf
گیتهاب:
https://github.com/kritiksoman/GIMP-ML
@pytorch_howsam
نرمافزار GIMP یک ادیتور تصویر رایگان هست که دی ویدئوی بالا میتونید محیطش رو ببینید. در زیر هم لینک سایتش رو آوردیم:
www.gimp.org
اما، GIMP-ML یک پلاگین هست که به ادیتور GIMP اضافه میشه. GIMP-ML یک پکیج پایتونی هست که با استفاده مدلهای کامپیوتر ویژن، به شما امکان کارهای جالب مثل تغییر رنگ مو، رنگی کردن تصاویر و غیره میده.
ویدئو رو نگاه کنید، درسته که خروجی کیفیت بالایی نداره ولی بازهم کار جالبیه...
اینم بگیم که داخل این پکیج، کدها و مدلهای پایتورچی به وفور دیده میشه و اتفاقا در دسترسه...
داکیومنت GIMP-ML:
https://arxiv.org/pdf/2004.13060.pdf
گیتهاب:
https://github.com/kritiksoman/GIMP-ML
@pytorch_howsam
#paper #ICLR2020 #ofa
یک مقاله جالب و البته بسیار مهم از محققین دانشگاه MIT در ICLR2020
دغدغه اصلی در این مقاله، کاهش میزان تولید CO2 حین آموزش شبکههای عمیق مثل NASNet هست. به نمودار موجود در پایین تصویر دقت کنید؛ میزان انتشار CO2 انسان، ماشین و NASNet رو باهم مقایسه کنید! حالا به OFA که شبکه پیشنهادی در این مقاله هست دقت کنید.
در این مقاله، شبکهای بهنام Once For All یا همون OFA طراحی شده که یک شبکه منعطف با قابلیت استفاده در انواع دیوایسهاست. طبیعتا برای کاربردها و دیوایسهای مختلف به شبکههای مختلف نیاز داریم. حالا در این مقاله، روش پیشنهادی اینه که بجای سرچ شبکههای با سایز مختلف و آموزش چندین و چندباره هرکدومشون، فقط با یک بار آموزش شبکههایی بسازیم که همشون دقت خوبی داشته باشن. یعنی در این شبکه، فرآیند جستجو و آموزش شبکه بهصورت همزمان انجام میشه.
در واقع ما در آموزش دنبال وزنهایی هستیم که همزمان برای مثلا سه شبکه با معماری متفاوت روی دیوایسهای مختلف (به تصویر دقت کنید) جواب خوبی بده... تمرکز اصلی ایده در این مقاله، بخش تابع اتلاف هست.
مقاله
کد پایتورچ
@pytorch_howsam
یک مقاله جالب و البته بسیار مهم از محققین دانشگاه MIT در ICLR2020
دغدغه اصلی در این مقاله، کاهش میزان تولید CO2 حین آموزش شبکههای عمیق مثل NASNet هست. به نمودار موجود در پایین تصویر دقت کنید؛ میزان انتشار CO2 انسان، ماشین و NASNet رو باهم مقایسه کنید! حالا به OFA که شبکه پیشنهادی در این مقاله هست دقت کنید.
در این مقاله، شبکهای بهنام Once For All یا همون OFA طراحی شده که یک شبکه منعطف با قابلیت استفاده در انواع دیوایسهاست. طبیعتا برای کاربردها و دیوایسهای مختلف به شبکههای مختلف نیاز داریم. حالا در این مقاله، روش پیشنهادی اینه که بجای سرچ شبکههای با سایز مختلف و آموزش چندین و چندباره هرکدومشون، فقط با یک بار آموزش شبکههایی بسازیم که همشون دقت خوبی داشته باشن. یعنی در این شبکه، فرآیند جستجو و آموزش شبکه بهصورت همزمان انجام میشه.
در واقع ما در آموزش دنبال وزنهایی هستیم که همزمان برای مثلا سه شبکه با معماری متفاوت روی دیوایسهای مختلف (به تصویر دقت کنید) جواب خوبی بده... تمرکز اصلی ایده در این مقاله، بخش تابع اتلاف هست.
مقاله
کد پایتورچ
@pytorch_howsam
#optuna #hyperparameter
اگر بهدنبال بهینه کردن هایپرپارامترها در پایتورچ هستید، کتابخونه Optuna میتونه کمکتون کنه. نحوه استفاده از Optuna رو در پست زیر یاد بگیرید. ساده هست...
https://link.medium.com/lLZbnbW275
اگر بهدنبال بهینه کردن هایپرپارامترها در پایتورچ هستید، کتابخونه Optuna میتونه کمکتون کنه. نحوه استفاده از Optuna رو در پست زیر یاد بگیرید. ساده هست...
https://link.medium.com/lLZbnbW275
Medium
Using Optuna to Optimize PyTorch Hyperparameters
Automate the tuning of hyperparameters in PyTorch using Bayesian Optimisation in Optuna
#datascience
این پست برای کسانی که به شاخه دیتاساینس علاقهمند هستند ولی نمیدونن از کجا شروع کنن، بسیار خوبه...
فردی در مدیوم پستی نوشته با عنوان:
چگونه با مهارت کدنویسی صفر در 6 ماه به یک data scientist تبدیل شدم!
https://link.medium.com/MdFJ03k475
چهار کورس زیر رو گذرونده و خب مشخصه که علاوه بر تلاش، تصمیمهای خوب و درستی هم گرفته:
1- یادگیری پایتون با Codecademy
2- یادگیری دیتاساینس با Coursera
3- یادگیری کار با دیتابیس با Stanford
4- یادگیری دیتاساینس با R با EDX
سایت کدکادمی (codecademy.org) یک آموزشگاه کمنظیر برای افراد با مهارت صفر در حوزه کدنویسی هست. مجبورتون میکنه تمرین کنید و کدبزنید وگرنه ادامه آموزش امکانپذیر نیست!
@pytorch_howsam
این پست برای کسانی که به شاخه دیتاساینس علاقهمند هستند ولی نمیدونن از کجا شروع کنن، بسیار خوبه...
فردی در مدیوم پستی نوشته با عنوان:
چگونه با مهارت کدنویسی صفر در 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
در پست زیر، فرآیند افزودن کتابخونه ++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
Medium
Building Pytorch c++ integration (libtorch) with MS Visual Studio 2017
All about additional include directories and lib directories.
#conv2d #convolution
درمورد تئوری کانولوشن دوبعدی (Conv2d) پستهای آموزشی زیادی وجود داره. اما پست زیر یکی از کاملترینهاست. همراه با نمایش انیمیشنی که بهراحتی در تلگرام هم میتونید ببینید...
نکته مهم اینجاست که درمورد تمامی پارامترهای مهم مثل stride، group، kernel، dilation، padding و غیره توضیح همراه با انیمیشن ارائه داده...
اگرچه این توضیحات بیشتر تئوری هست، اما طبق توضیحات متن بهنظر میرسه پایتورچ رو مبنای توضیحاتش قرار داده...
@pytorch_howsam
https://towardsdatascience.com/conv2d-to-finally-understand-what-happens-in-the-forward-pass-1bbaafb0b148
درمورد تئوری کانولوشن دوبعدی (Conv2d) پستهای آموزشی زیادی وجود داره. اما پست زیر یکی از کاملترینهاست. همراه با نمایش انیمیشنی که بهراحتی در تلگرام هم میتونید ببینید...
نکته مهم اینجاست که درمورد تمامی پارامترهای مهم مثل stride، group، kernel، dilation، padding و غیره توضیح همراه با انیمیشن ارائه داده...
اگرچه این توضیحات بیشتر تئوری هست، اما طبق توضیحات متن بهنظر میرسه پایتورچ رو مبنای توضیحاتش قرار داده...
@pytorch_howsam
https://towardsdatascience.com/conv2d-to-finally-understand-what-happens-in-the-forward-pass-1bbaafb0b148
Medium
Conv2d: Finally Understand What Happens in the Forward Pass
Visual and mathematical explanation of the 2D convolution layer and its arguments