#مبتدی #nlp
یک پست وبلاگی خوب در حوزه متن
در این پست به کلاسبندی نظرات در یک خرید پرداخته میشه. در این پروژه از دیتاست زیر استفاده شده:
Women's E-commerce Clothing Reviews
در پروژه از LSTM استفاده شده و مرحله به مرحله هم کدها رو توضیح داده. از فریمورک پایتورچ هم استفاده شده.
لینک پست وبلاگی:
https://towardsdatascience.com/multiclass-text-classification-using-lstm-in-pytorch-eac56baed8df
یک توضیحی هم درباره دیتاست بدم. این دیتاست در کاگل منتشر شده و شامل نظرات 30 هزار خانم درباره لباس هست. هم کامنت و هم امتیازی که دادن... دیتاست بسیار خوبیه.
@pytorch_howsam
یک پست وبلاگی خوب در حوزه متن
در این پست به کلاسبندی نظرات در یک خرید پرداخته میشه. در این پروژه از دیتاست زیر استفاده شده:
Women's E-commerce Clothing Reviews
در پروژه از LSTM استفاده شده و مرحله به مرحله هم کدها رو توضیح داده. از فریمورک پایتورچ هم استفاده شده.
لینک پست وبلاگی:
https://towardsdatascience.com/multiclass-text-classification-using-lstm-in-pytorch-eac56baed8df
یک توضیحی هم درباره دیتاست بدم. این دیتاست در کاگل منتشر شده و شامل نظرات 30 هزار خانم درباره لباس هست. هم کامنت و هم امتیازی که دادن... دیتاست بسیار خوبیه.
@pytorch_howsam
#پیشرفته #segmentation
همه ما یولو را بهعنوان Object Detection میشناسیم. یولو در سمت دیگر الگوریتمهای پروپوزال-محور مثل Faster-RCNN هست. در پستهای قبلی گفتیم که میتونیم با Faster-RCNN هم دتکشن انجام بدیم، هم سگمنت و هم...
اتفاقا سعی شده با یولو هم اینکار رو انجام بدن و فقط برای دتکشن نباشه.
مقاله خوب زیر، شبکهای رو با عنوان yolact پیشنهاد داده که کار دتکشن و سگمنت رو باهم انجام میده. ما ساختار شبکه رو در تصویر بالا برای شما قرار دادیم. بخش protonet به کمک نتایج دتکشن (یعنی خروجی NMS و prediction head در تصویر) عمل سگمنت رو انجام میده. خود شبکه هم که رزنت-101 با ساختار FPN هست.
راستی میدونید FPN چی هست؟ اگه لازم میدونید یک پست کوتاه براش بذاریم.
مقاله:
https://arxiv.org/pdf/1904.02689.pdf
کدهای پایتورچ:
https://github.com/dbolya/yolact
@pytorch_howsam
همه ما یولو را بهعنوان Object Detection میشناسیم. یولو در سمت دیگر الگوریتمهای پروپوزال-محور مثل Faster-RCNN هست. در پستهای قبلی گفتیم که میتونیم با Faster-RCNN هم دتکشن انجام بدیم، هم سگمنت و هم...
اتفاقا سعی شده با یولو هم اینکار رو انجام بدن و فقط برای دتکشن نباشه.
مقاله خوب زیر، شبکهای رو با عنوان yolact پیشنهاد داده که کار دتکشن و سگمنت رو باهم انجام میده. ما ساختار شبکه رو در تصویر بالا برای شما قرار دادیم. بخش protonet به کمک نتایج دتکشن (یعنی خروجی NMS و prediction head در تصویر) عمل سگمنت رو انجام میده. خود شبکه هم که رزنت-101 با ساختار FPN هست.
راستی میدونید FPN چی هست؟ اگه لازم میدونید یک پست کوتاه براش بذاریم.
مقاله:
https://arxiv.org/pdf/1904.02689.pdf
کدهای پایتورچ:
https://github.com/dbolya/yolact
@pytorch_howsam
#مبتدی #آموزش_پایتورچ
دوستان عزیز،
اولین جلسه آموزش پایتورچ با موضوع نصب پایتورچ آماده شده و انشالله فردا منتشر میکنیم. در این کانال اطلاعرسانی خواهیم کرد...
اگر علاقهمند به یادگیری پایتورچ هستید، برنامهریزی کنید تا هفتگی آموزشهای پایتورچ هوسم رو بخونید. پاسخ به سوالات و اشکالات رو هم در حد توان خواهیم داشت...
@pytorch_howsam
دوستان عزیز،
اولین جلسه آموزش پایتورچ با موضوع نصب پایتورچ آماده شده و انشالله فردا منتشر میکنیم. در این کانال اطلاعرسانی خواهیم کرد...
اگر علاقهمند به یادگیری پایتورچ هستید، برنامهریزی کنید تا هفتگی آموزشهای پایتورچ هوسم رو بخونید. پاسخ به سوالات و اشکالات رو هم در حد توان خواهیم داشت...
@pytorch_howsam
PyTorch Howsam pinned «#مبتدی #آموزش_پایتورچ دوستان عزیز، اولین جلسه آموزش پایتورچ با موضوع نصب پایتورچ آماده شده و انشالله فردا منتشر میکنیم. در این کانال اطلاعرسانی خواهیم کرد... اگر علاقهمند به یادگیری پایتورچ هستید، برنامهریزی کنید تا هفتگی آموزشهای پایتورچ هوسم رو بخونید.…»
#مبتدی #skorch
در سایت پایتورچ، بخشی وجود داره بهنام اکوسیستم (لینک زیر):
https://pytorch.org/ecosystem/
در لینک بالا، شما یک مجموعه کتابخونه و پروژه خوب مبتنی بر پایتورچ میبینید. اما نه پروژههایی که شامل پیادهسازی صرفا یک مقاله باشه، بلکه پروژهها و کتابخونههایی که بتونه به سایر محققین در سراسر دنیا کمک کنه که کارهاشون رو جلو ببرن.
ما میخواییم یکسری از اکوسیستمهای معروف و کاربردی رو بهتون معرفی کنیم.
اولین مورد، skorch هست. skorch ترکیب دو کتابخونه scikit-learn و pytorch هست. سایکیت یک کتابخونه عالی در زمینه یادگیری ماشین مبتنی بر پایتون هست. پایتورچ هم که میشناسید...
اما اسکورچ چه ویژگیای داره؟ تصویر بالا رو ببینید. شما با پایتورچ میتونید شبکه بسازید. سایکیت هم یک عالمه تابع خوب مثل grid-search (تیون هایپرپارامترها) داره... حالا اسکورچ به شما این امکان رو میده که شبکه رو با پایتورچ بسازید و نحوه آموزش و سایر کارهاش رو بر عهده سایکیت بذارید.
کتابخونه skorch:
https://github.com/skorch-dev/skorch
بازهم اکوسیستم پایتورچی به شما معرفی خواهیم کرد...
@pytorch_howsam
در سایت پایتورچ، بخشی وجود داره بهنام اکوسیستم (لینک زیر):
https://pytorch.org/ecosystem/
در لینک بالا، شما یک مجموعه کتابخونه و پروژه خوب مبتنی بر پایتورچ میبینید. اما نه پروژههایی که شامل پیادهسازی صرفا یک مقاله باشه، بلکه پروژهها و کتابخونههایی که بتونه به سایر محققین در سراسر دنیا کمک کنه که کارهاشون رو جلو ببرن.
ما میخواییم یکسری از اکوسیستمهای معروف و کاربردی رو بهتون معرفی کنیم.
اولین مورد، skorch هست. skorch ترکیب دو کتابخونه scikit-learn و pytorch هست. سایکیت یک کتابخونه عالی در زمینه یادگیری ماشین مبتنی بر پایتون هست. پایتورچ هم که میشناسید...
اما اسکورچ چه ویژگیای داره؟ تصویر بالا رو ببینید. شما با پایتورچ میتونید شبکه بسازید. سایکیت هم یک عالمه تابع خوب مثل grid-search (تیون هایپرپارامترها) داره... حالا اسکورچ به شما این امکان رو میده که شبکه رو با پایتورچ بسازید و نحوه آموزش و سایر کارهاش رو بر عهده سایکیت بذارید.
کتابخونه skorch:
https://github.com/skorch-dev/skorch
بازهم اکوسیستم پایتورچی به شما معرفی خواهیم کرد...
@pytorch_howsam
#فان
مردم توی ایام قرنطینه دونههای میوه رو جدا میکنن و کنار هم میچینن!
فکر کنم بروبچههای دیپ باید یک شبکه بزرگ مثلا Bert رو بردارن، تکتک وزنهاشو کنار هم بچینن 😁
@pytorch_howsam
مردم توی ایام قرنطینه دونههای میوه رو جدا میکنن و کنار هم میچینن!
فکر کنم بروبچههای دیپ باید یک شبکه بزرگ مثلا Bert رو بردارن، تکتک وزنهاشو کنار هم بچینن 😁
@pytorch_howsam
PyTorch Howsam
#آموزش_پایتورچ جلسه اول: آموزش نصب پایتورچ https://howsam.org/install-pytorch/ @pytorch_howsam
🔴 توجه
🔸 مشکلاتتان در فرآیند نصب را کامنت کنید، در حد توان پاسخ خواهیم داد.
🔸 از صفر شروع میکنیم و انشالله تا مراحل خوبی پیش خواهیم رفت.
🔸 از همین ابتدا جلسات را دنبال کنید...
🔸 مشکلاتتان در فرآیند نصب را کامنت کنید، در حد توان پاسخ خواهیم داد.
🔸 از صفر شروع میکنیم و انشالله تا مراحل خوبی پیش خواهیم رفت.
🔸 از همین ابتدا جلسات را دنبال کنید...
PyTorch Howsam
#پیشرفته #segmentation همه ما یولو را بهعنوان Object Detection میشناسیم. یولو در سمت دیگر الگوریتمهای پروپوزال-محور مثل Faster-RCNN هست. در پستهای قبلی گفتیم که میتونیم با Faster-RCNN هم دتکشن انجام بدیم، هم سگمنت و هم... اتفاقا سعی شده با یولو هم…
#object_detection
در پست ریپلایشده در مورد yolo صحبت شد. شما میتونید در لینک زیر یک مقاله فارسی از الگوریتم yolo رو مطالعه کنید.
https://howsam.org/yolo-algorithm/
نویسنده: مهندس اشرفی
@pytorch_howsam
در پست ریپلایشده در مورد yolo صحبت شد. شما میتونید در لینک زیر یک مقاله فارسی از الگوریتم yolo رو مطالعه کنید.
https://howsam.org/yolo-algorithm/
نویسنده: مهندس اشرفی
@pytorch_howsam
#پیشرفته
تکنیکی ساده برای کاهش مصرف حجم رم GPU
مدلهای حوزه دیپ بزرگ شدن و با 8 گیگ رم GPU ممکنه در بعضی موارد به مشکل بخورید. راهحلهای مختلفی وجود داره که تا حدی مشکل حل بشه.
یکی از راهها، استفاده از float16 بجای float32 در وزنهای شبکه هست. این راه به شکل قابل توجهی حجم رم مصرفی رو کاهش میده و میتونید بچسایزتون رو بزرگتر کنید.
حالا چطور این کار رو در پایتورچ انجام بدیم؟ ما دو راه رو بهتون معرفی میکنیم.
اول، استفاده از کتابخونه apex. طبق تصویر بالا، کافیه همین یک خط رو به کدهاتون اضافه کنید و تمام... کتابخونه apex:
https://nvidia.github.io/apex/amp.html
دوم، استفاده از ()half هست. مدل، دادههای ورودی و تارگت رو به این شکل به float16 تبدیل میکنید و تمام...
model = model.half().cuda()
img_batch = imgs_batch.half().cuda()
lbls_batch = lbls_batch.half().cuda()
آیا سرعت اجرا هم بالا میره؟ فعلا خیر...
آیا افت دقت بهوجود میاد؟ تستهایی که در حوزه Classification انجام دادیم، افت دقتی مشاهده نکردیم.
@pytorch_howsam
تکنیکی ساده برای کاهش مصرف حجم رم GPU
مدلهای حوزه دیپ بزرگ شدن و با 8 گیگ رم GPU ممکنه در بعضی موارد به مشکل بخورید. راهحلهای مختلفی وجود داره که تا حدی مشکل حل بشه.
یکی از راهها، استفاده از float16 بجای float32 در وزنهای شبکه هست. این راه به شکل قابل توجهی حجم رم مصرفی رو کاهش میده و میتونید بچسایزتون رو بزرگتر کنید.
حالا چطور این کار رو در پایتورچ انجام بدیم؟ ما دو راه رو بهتون معرفی میکنیم.
اول، استفاده از کتابخونه apex. طبق تصویر بالا، کافیه همین یک خط رو به کدهاتون اضافه کنید و تمام... کتابخونه apex:
https://nvidia.github.io/apex/amp.html
دوم، استفاده از ()half هست. مدل، دادههای ورودی و تارگت رو به این شکل به float16 تبدیل میکنید و تمام...
model = model.half().cuda()
img_batch = imgs_batch.half().cuda()
lbls_batch = lbls_batch.half().cuda()
آیا سرعت اجرا هم بالا میره؟ فعلا خیر...
آیا افت دقت بهوجود میاد؟ تستهایی که در حوزه Classification انجام دادیم، افت دقتی مشاهده نکردیم.
@pytorch_howsam
#netron
نترون یک ابزار مناسب برای مشاهده معماری و وزن شبکههاست. ابزاری که نسخههای ویندوز، لینوکس، مک و آنلاین داره.
نترون، بسیاری از فریمورکها مانند پایتورچ، تنسورفلو، کفه، اونیکس، میکسنت و غیره رو پشتیبانی میکنه.
در تصویر بالا، یک شبکه آموزشدیده با فریمورک پایتورچ رو در نترون نمایش دادیم. بهراحتی معماری کلی شبکه رو لایهبهلایه میتونید مشاهده کنید. سایز پارامترها و حتی مقدار وزنها رو هم نشون میده. وزنهای هرلایه رو هم میشه بهفرمت npy ذخیره کرد...
ابزارهای دیگری هم برای نمایش شبکهها وجود داره. اما ویژگیهای خوب نترون و همچنین راحتی کار با اون باعث شده ما در کارهامون از نترون استفاده کنیم.
اطلاعات بیشتر:
https://github.com/lutzroeder/netron
@pytorch_howsam
نترون یک ابزار مناسب برای مشاهده معماری و وزن شبکههاست. ابزاری که نسخههای ویندوز، لینوکس، مک و آنلاین داره.
نترون، بسیاری از فریمورکها مانند پایتورچ، تنسورفلو، کفه، اونیکس، میکسنت و غیره رو پشتیبانی میکنه.
در تصویر بالا، یک شبکه آموزشدیده با فریمورک پایتورچ رو در نترون نمایش دادیم. بهراحتی معماری کلی شبکه رو لایهبهلایه میتونید مشاهده کنید. سایز پارامترها و حتی مقدار وزنها رو هم نشون میده. وزنهای هرلایه رو هم میشه بهفرمت npy ذخیره کرد...
ابزارهای دیگری هم برای نمایش شبکهها وجود داره. اما ویژگیهای خوب نترون و همچنین راحتی کار با اون باعث شده ما در کارهامون از نترون استفاده کنیم.
اطلاعات بیشتر:
https://github.com/lutzroeder/netron
@pytorch_howsam
#openai #microscope
دیروز openai مجموعهای بهنام میکروسکوپ رو معرفی کرده که یک ابزار ارزشمند برای visualization هست. میکروسکوپ یک مجموعه از مدلهای معروف در حوزه ویژن رو داره و شما میتونید در دل شبکهها (میان لایهها و نورونها) به اکتشاف بپردازید!
به تصاویر پیوست نگاه کنید. این ابزار آنلاین به شما اجازه میده مثلا شبکه رزنت رو باز کنید و خروجی هر لایه رو به صورت تصویری ببینید.
همواره گفته شده، از ابتدا تا انتهای شبکه، به مرور اشکال پیچیدهتر میشن. حالا میتونید اینها رو اینجا بهصورت تصویری ببینید. ما چند تصویر از لایههای مختلف براتون گذاشتیم.
پیشنهاد میکنیم از طریق لینک زیر حتما نگاهی به لایههای مختلف شبکهها بندازید.
https://microscope.openai.com/models
@pytorch_howsam
دیروز openai مجموعهای بهنام میکروسکوپ رو معرفی کرده که یک ابزار ارزشمند برای visualization هست. میکروسکوپ یک مجموعه از مدلهای معروف در حوزه ویژن رو داره و شما میتونید در دل شبکهها (میان لایهها و نورونها) به اکتشاف بپردازید!
به تصاویر پیوست نگاه کنید. این ابزار آنلاین به شما اجازه میده مثلا شبکه رزنت رو باز کنید و خروجی هر لایه رو به صورت تصویری ببینید.
همواره گفته شده، از ابتدا تا انتهای شبکه، به مرور اشکال پیچیدهتر میشن. حالا میتونید اینها رو اینجا بهصورت تصویری ببینید. ما چند تصویر از لایههای مختلف براتون گذاشتیم.
پیشنهاد میکنیم از طریق لینک زیر حتما نگاهی به لایههای مختلف شبکهها بندازید.
https://microscope.openai.com/models
@pytorch_howsam
#مبتدی
پایتورچ دو کاریرد داره:
اول اینکه، میتونیم شبکههای عصبی بسازیم و آموزش بدیم و...
دوم، میتونیم عملیات جبری که با نامپای انجام میدیم رو با پایتورچ انجام بدیم. در واقع، جایگزین نامپای هم میتونه باشه.
مقالههای سالهای اخیر رو اگه نگاه کنید. میبینید پر شده از عملیات جبری مختلف که رو تنسورهای چهاربعدی داره انجام میشه. پس مهمه که عملیات جبری رو هم خوب بلد باشیم.
در لینک زیر، یکسری از دستورات اولیه جبری پایتورچ مثل تعریف تنسور صفر، واحد، رندوم و غیره رو میبینید. لینک زیر یک فایل کولب هست که میتونه موقع کدنویسی کمکتون کنه.
https://colab.research.google.com/drive/1E80pq5WBSkPevIfLFcea8abxYQS4-0zI
جلسههای ابتدایی دوره آموزش پایتورچ ما هم، به همین عملیات جبری با پایتورچ اختصاص داره. جلسه دوم درحال آمادهسازی هست.
@pytorch_howsam
پایتورچ دو کاریرد داره:
اول اینکه، میتونیم شبکههای عصبی بسازیم و آموزش بدیم و...
دوم، میتونیم عملیات جبری که با نامپای انجام میدیم رو با پایتورچ انجام بدیم. در واقع، جایگزین نامپای هم میتونه باشه.
مقالههای سالهای اخیر رو اگه نگاه کنید. میبینید پر شده از عملیات جبری مختلف که رو تنسورهای چهاربعدی داره انجام میشه. پس مهمه که عملیات جبری رو هم خوب بلد باشیم.
در لینک زیر، یکسری از دستورات اولیه جبری پایتورچ مثل تعریف تنسور صفر، واحد، رندوم و غیره رو میبینید. لینک زیر یک فایل کولب هست که میتونه موقع کدنویسی کمکتون کنه.
https://colab.research.google.com/drive/1E80pq5WBSkPevIfLFcea8abxYQS4-0zI
جلسههای ابتدایی دوره آموزش پایتورچ ما هم، به همین عملیات جبری با پایتورچ اختصاص داره. جلسه دوم درحال آمادهسازی هست.
@pytorch_howsam
#پیشرفته #nlp
اگه دنبال مثالهای متنوع با شبکههای مختلف در حوزه nlp هستید، لینک زیر رو از دست ندید:
https://github.com/graykode/nlp-tutorial
در این لینک، درباره شبکهها و مثالهای مختلف توضیح تئوری داده نشده. اما، همه کدها در گوگل کولب در دسترس هست و بهراحتی میتونید ازشون استفاده کنید.
شما در این پیج گیتهاب، میتونید پروژههایی از RNN، Attention، شبکه کانولوشنی و ترنسفورمرها رو پیدا کنید.
برای افرادی که تا حدی پایتورچ بلد هستند و میخوان در حوزه nlp بیشتر مسلط بشن، این پیج رو از دست ندن.
@pytorch_howsam
اگه دنبال مثالهای متنوع با شبکههای مختلف در حوزه nlp هستید، لینک زیر رو از دست ندید:
https://github.com/graykode/nlp-tutorial
در این لینک، درباره شبکهها و مثالهای مختلف توضیح تئوری داده نشده. اما، همه کدها در گوگل کولب در دسترس هست و بهراحتی میتونید ازشون استفاده کنید.
شما در این پیج گیتهاب، میتونید پروژههایی از RNN، Attention، شبکه کانولوشنی و ترنسفورمرها رو پیدا کنید.
برای افرادی که تا حدی پایتورچ بلد هستند و میخوان در حوزه nlp بیشتر مسلط بشن، این پیج رو از دست ندن.
@pytorch_howsam
PyTorch Howsam
#پیشرفته #nlp اگه دنبال مثالهای متنوع با شبکههای مختلف در حوزه nlp هستید، لینک زیر رو از دست ندید: https://github.com/graykode/nlp-tutorial در این لینک، درباره شبکهها و مثالهای مختلف توضیح تئوری داده نشده. اما، همه کدها در گوگل کولب در دسترس هست و بهراحتی…
#bert #nlp
در پست بالا درمورد nlp و ترنسفورمر صحبت شد. ترنسفورمرها اولین بار در شبکه Bert از گوگل در سال 2018 مطرح شدند.
بعد از دستیابی به موفقیتهای قابل توجه با برت، مدتی پیش گوگل، برت رو در موتور جستجوی خودش بهکار گذاشت. قبل از Bert، الگوریتم RankBrain در موتور جستجوی گوگل بود. حالا متخصصین سئو تلاش میکنن بفهمن با برت چگونه باید محتوا سئو بشه و رمز و رازش چیه!
تصویر بالا مقایسه بین RankBrain و Bert هست...
@pytorch_howsam
در پست بالا درمورد nlp و ترنسفورمر صحبت شد. ترنسفورمرها اولین بار در شبکه Bert از گوگل در سال 2018 مطرح شدند.
بعد از دستیابی به موفقیتهای قابل توجه با برت، مدتی پیش گوگل، برت رو در موتور جستجوی خودش بهکار گذاشت. قبل از Bert، الگوریتم RankBrain در موتور جستجوی گوگل بود. حالا متخصصین سئو تلاش میکنن بفهمن با برت چگونه باید محتوا سئو بشه و رمز و رازش چیه!
تصویر بالا مقایسه بین RankBrain و Bert هست...
@pytorch_howsam
#forum
پایتورچ یک forum بسیار فعال و خوب داره که جواب خیلی از سوالاتتون رو میتونید اونجا پیدا کنید. از سوالهای ابتدایی تا سطح پیشرفته...
فقط کاربرها به سوالات شما پاسخ نمیدن، بلکه افرادی هم از طرف خود پایتورچ میان به شما کمک میکنن.
هفته گذشته یکی از افراد بسیار فعال در forum پایتورچ، توییت کرد که 10 هزارمین پاسخش رو ثبت کرده! یعنی شما هر پستی رو در forum باز میکنید این آقای موبلند رو میبینید!! 😁
تازگی تم forum هم از روشن به تیره تغییر کرده... تصویر بالا 👆
بیایید ما هم فعالیت داشته باشیم و به سوالهای forum پایتورچ پاسخ بدیم. رزومه خوبیه!
لینک forum پایتورچ:
https://discuss.pytorch.org/
@pytorch_howsam
پایتورچ یک forum بسیار فعال و خوب داره که جواب خیلی از سوالاتتون رو میتونید اونجا پیدا کنید. از سوالهای ابتدایی تا سطح پیشرفته...
فقط کاربرها به سوالات شما پاسخ نمیدن، بلکه افرادی هم از طرف خود پایتورچ میان به شما کمک میکنن.
هفته گذشته یکی از افراد بسیار فعال در forum پایتورچ، توییت کرد که 10 هزارمین پاسخش رو ثبت کرده! یعنی شما هر پستی رو در forum باز میکنید این آقای موبلند رو میبینید!! 😁
تازگی تم forum هم از روشن به تیره تغییر کرده... تصویر بالا 👆
بیایید ما هم فعالیت داشته باشیم و به سوالهای forum پایتورچ پاسخ بدیم. رزومه خوبیه!
لینک forum پایتورچ:
https://discuss.pytorch.org/
@pytorch_howsam