Forwarded from 🐍 Python & Raspberry 🐍 (DailyProjects)
✔️ سوال: best practiceها و ابزارات مورد نیاز برای توسعه یه بسته، لایبرری یا نرمافزار پایتونی چیه؟
ابزارهای زیادی واسه اینکارا وجود داره که بر اساس تجربه و چیزی که از 80 درصد پروژه های معروف و بزرگ دیدم، سعی میکنم بهتریناش رو معرفی کنم:
Dependency Management System
برای مدیریت وابستگی های یک پروژه بزرگ (یا نسبتا بزرگ)، پیشنهاد میکنم از
مواردی از جمله
1. آشنایی و شروع به کار با Poetry
https://realpython.com/dependency-management-python-poetry/
2. جزیات عمیق درباره هر قابلیت و نحوه استفاده
https://python-poetry.org/docs
3. نحوه انتشار یک package پایتونی در PyPI به کمک Poetry
https://johnfraney.ca/blog/create-publish-python-package-poetry/
Linting & Type Checking
برای
اگر عادت دارید کدهای خودتون رو
1. داکیومنت Flake8
https://flake8.pycqa.org/en/latest/user/invocation.html
2. داکیومنت MyPy
https://mypy.readthedocs.io/en/stable/getting_started.html
Code Formatting
برای مرتب و
1. داکیومنت isort
https://pycqa.github.io/isort/
2. داکیومنت Black
https://black.readthedocs.io/en/stable/getting_started.html
3. یک ویدیو از PyCon 2019 درباره Black
https://youtu.be/esZLCuWs_2Y
* این ابزارها همگی داکیومنت ساده و خوانایی دارن و به نظرم بهترین منبع همین داکیومنتهاشون هست.
Testing
دو کتابخونه
1. یک مقاله جامع درباره تست نویسی، انواع آن و روشهای مورد استفاده در پایتون
https://realpython.com/python-testing/
2. ویدیو درباره unittest در پایتون
https://m.youtube.com/watch?v=FxSsnHeWQBY
https://www.youtube.com/watch?v=6tNS--WetLI
* همچنین اگر از
وبسایت pre commit:
https://pre-commit.com/
✒️ @Pygrammer
〰️〰️〰️〰️〰️〰️〰️
©️@raspberry_python
ابزارهای زیادی واسه اینکارا وجود داره که بر اساس تجربه و چیزی که از 80 درصد پروژه های معروف و بزرگ دیدم، سعی میکنم بهتریناش رو معرفی کنم:
Dependency Management System
برای مدیریت وابستگی های یک پروژه بزرگ (یا نسبتا بزرگ)، پیشنهاد میکنم از
Poetry استفاده کنید، چون ابزار بسیار قدرتمندی هست، کار باهاش بسیار راحته (خیلی شبیه به Cargo در زبان Rust هست)، کامیونیتی بزرگی داره، به راحتی محیط dev و prod رو میتونید مدیریت کنید، مستندات بسیار خوب و روانی داره، در سریع ترین زمان ممکن میتونید پروژه رو در PyPI منتشر کنید و همچنین پروژههای معروفی از جمله Rich (کتابخونهای که خود pip هم ازش برای رنگی کردن progress barها استفاده میکنه) از اون استفاده میکنن، که همین نشون میده چقدر کاربردی هست.مواردی از جمله
build و run هم کاملا با Poetry انجام میشن.- منابع آموزشی:1. آشنایی و شروع به کار با Poetry
https://realpython.com/dependency-management-python-poetry/
2. جزیات عمیق درباره هر قابلیت و نحوه استفاده
https://python-poetry.org/docs
3. نحوه انتشار یک package پایتونی در PyPI به کمک Poetry
https://johnfraney.ca/blog/create-publish-python-package-poetry/
Linting & Type Checking
برای
Linting ابزارهای flake8 و pylint از معروف ترینها هستن، هر یک رو میتونید شدت سخت گیریشون رو تنظیم کنید، به راحتی همراه با Poetry تنظیماتشون در یک فایل قرار میگیره و نیاز به نگه داشتن فایلهای متفاوت برای هر کدوم ندارید. به نظرم خود flake8 به تنهایی نیازتون رو برطرف میکنه. اگر از PyCharm استفاده کنید یک Linter به صورت Built-in در اختیارتون میذاره که خوبه و کارتون رو راه میندازه.اگر عادت دارید کدهای خودتون رو
Annotate کنید و زیاد از Type Hint ها استفاده میکنید، استفاده از MyPy به عنوان یک static type checker به شما کمک میکنه ایرادات موجود در کلاس ها، توابع و ... رو پیدا کنید و بتونید typeهای دقیق تری استفاده کنید. همچنین ابزار Pyright که توسط مایکروسافت توسعه داده میشه، در VSCode به صورت integrated با افزونه Pylance کار میکنه و اگر از VSCode استفاده میکنید پیشنهاد میکنم حتما افزونه Pylance رو نصب کنید. PyCharm هم یک Type Checker داره ولی هنوز توانمندی Pylance و MyPy رو نداره.- منابع آموزشی:1. داکیومنت Flake8
https://flake8.pycqa.org/en/latest/user/invocation.html
2. داکیومنت MyPy
https://mypy.readthedocs.io/en/stable/getting_started.html
Code Formatting
برای مرتب و
organize کردن importها از isort استفاده کنید، هم به صورت CLI در دسترس هست و هم یک API داره که میتونید در کد پایتون استفاده کنید. یک code formatter بسیار معروف که در اکثر پروژهها استفاده میشه Black هست، زیر نظر PSF (یا Python Software Foundation) و برنامه نویسای با تجربه و کار کشته ای همچون آقای Łukasz Langa (ریلیس منیجر پایتون 3.9) توسعه داده میشه، با دیگر ابزار ها مثل isort سازگار هست، با PEP8 سازگاره و کلی قابلیت مزیت دیگه داره که حقیقتا اینجا جا نمیشن :)- منابع آموزشی:1. داکیومنت isort
https://pycqa.github.io/isort/
2. داکیومنت Black
https://black.readthedocs.io/en/stable/getting_started.html
3. یک ویدیو از PyCon 2019 درباره Black
https://youtu.be/esZLCuWs_2Y
* این ابزارها همگی داکیومنت ساده و خوانایی دارن و به نظرم بهترین منبع همین داکیومنتهاشون هست.
Testing
دو کتابخونه
Pytest و unittest (در stdlib موجود هست) در تست نویسی پروژه ها استفاده میشن، برای تست کردن پروژه در environmentهای متفاوت از ابزار tox استفاده میشه و باهاش میتونید در نسخه های متفاوتی از پایتون کدتون رو تست کنید.- منابع آموزشی:1. یک مقاله جامع درباره تست نویسی، انواع آن و روشهای مورد استفاده در پایتون
https://realpython.com/python-testing/
2. ویدیو درباره unittest در پایتون
- آقای ned batchelder:https://m.youtube.com/watch?v=FxSsnHeWQBY
- آقای Corey Schafer:https://www.youtube.com/watch?v=6tNS--WetLI
* همچنین اگر از
Git در پروژه خودتون استفاده میکنید، پیشنهاد میکنم از pre-commit حتما استفاده کنید و تمام این ابزارهای گفته شده رو automate کنید تا در هربار commit کردن، قبل از اینکه commit انجام بشه، این ابزارها روی کدتون اجرا بشن و اگر اشکالی در کدتون وجود داره پیدا بشه و اون رو برطرف کنید و دوباره commit کنید.وبسایت pre commit:
https://pre-commit.com/
✒️ @Pygrammer
〰️〰️〰️〰️〰️〰️〰️
©️@raspberry_python
استفاده از elasticsearch برای پیاده سازی سیستم توصیهگر (یا همون ریکامندر)
گروه سیستم توصیهگر شرکت outbrain اومدن و گزارشی از این که چطوری تونستن از elasticsearch برای ساخت یه سیستم ریکامندر استفاده کنن ارائه کردن. اگه به این موضوع علاقه مند باشین فک کنم به کارتون بیاد.
پ.ن: اینکه توی گزارششون یه اشاره کوچیکی به وستورلد بود هم بی تاثیر نیست تو ارسال این لینک😂😂
https://www.elastic.co/blog/looking-at-content-recommendation-through-a-search-lens
گروه سیستم توصیهگر شرکت outbrain اومدن و گزارشی از این که چطوری تونستن از elasticsearch برای ساخت یه سیستم ریکامندر استفاده کنن ارائه کردن. اگه به این موضوع علاقه مند باشین فک کنم به کارتون بیاد.
پ.ن: اینکه توی گزارششون یه اشاره کوچیکی به وستورلد بود هم بی تاثیر نیست تو ارسال این لینک😂😂
https://www.elastic.co/blog/looking-at-content-recommendation-through-a-search-lens
Elastic Blog
Looking at Content Recommendation Through a Search Lens
Improving content recommendation for millions of requests and increasing complexity for online prediction models with Elasticsearch....
🔥1
سلام بچه ها
روزتون بخیر باشه
کم کم داریم نزدیک میشیم به تایم ارائه پروژه کارشناسی و خب اولین لازمه داشتن یه پروژه خوب، یه موضوع کاربردی، جذاب و به روزه.
به نظرم الان تایم مناسبیه که اگه در حال سرچ و بررسی برای پیدا کردن موضوعات مناسب بودین، اون موضوعاتی که به نظرتون جذاب تر بودن و ممکنه به بقیه توی تعیین موضوعشون کمک کنه رو اینجا با تگ #پروژه یا #project بفرستین.
اگه نظر، انتقاد، ایده یا پیشنهادی در این زمینه داشتین، خوشحال میشیم بدونیم. :)
پیشاپیش مرسی از همتون بابت همکاریتون🙏
روزتون بخیر باشه
کم کم داریم نزدیک میشیم به تایم ارائه پروژه کارشناسی و خب اولین لازمه داشتن یه پروژه خوب، یه موضوع کاربردی، جذاب و به روزه.
به نظرم الان تایم مناسبیه که اگه در حال سرچ و بررسی برای پیدا کردن موضوعات مناسب بودین، اون موضوعاتی که به نظرتون جذاب تر بودن و ممکنه به بقیه توی تعیین موضوعشون کمک کنه رو اینجا با تگ #پروژه یا #project بفرستین.
اگه نظر، انتقاد، ایده یا پیشنهادی در این زمینه داشتین، خوشحال میشیم بدونیم. :)
پیشاپیش مرسی از همتون بابت همکاریتون🙏
👍3❤2
Forwarded from Tensorflow(@CVision) (Alireza Akhavan)
A Deep Dive into Transformers with TensorFlow and Keras: Part 1.
https://pyimagesearch.com/2022/09/05/a-deep-dive-into-transformers-with-tensorflow-and-keras-part-1/
https://pyimagesearch.com/2022/09/05/a-deep-dive-into-transformers-with-tensorflow-and-keras-part-1/
👍2🔥2
Aman's AI Journal • Papers List
https://aman.ai/papers/
https://www.linkedin.com/posts/amanc_artificialintelligence-machinelearning-ai-activity-6974221084430671872-zdoU?utm_source=share&utm_medium=member_android
https://aman.ai/papers/
https://www.linkedin.com/posts/amanc_artificialintelligence-machinelearning-ai-activity-6974221084430671872-zdoU?utm_source=share&utm_medium=member_android
aman.ai
Aman's AI Journal • Papers List
Aman's AI Journal | Course notes and learning material for Artificial Intelligence and Deep Learning Stanford classes.
OTTO – Multi-Objective Recommender System
Build a recommender system based on real-world e-commerce sessions
- 3 months to go (3 months to go until merger deadline)
- Prize Money: $30,000
The goal of this competition is to predict e-commerce clicks, cart additions, and orders. You'll build a multi-objective recommender system based on previous events in a user session.
https://www.kaggle.com/competitions/otto-recommender-system/overview
Build a recommender system based on real-world e-commerce sessions
- 3 months to go (3 months to go until merger deadline)
- Prize Money: $30,000
The goal of this competition is to predict e-commerce clicks, cart additions, and orders. You'll build a multi-objective recommender system based on previous events in a user session.
https://www.kaggle.com/competitions/otto-recommender-system/overview
Kaggle
OTTO – Multi-Objective Recommender System
Build a recommender system based on real-world e-commerce sessions
🔥4
Benefit the Educational features of DeepNote with your AUT email address
https://deepnote.com/
https://deepnote.com/
Deepnote
Deepnote: Analytics and data science notebook for teams.
Explore data with Python & SQL, work together with your team, and share insights that lead to action — all in one place with Deepnote.
🔥2
Forwarded from Tensorflow(@CVision) (Alireza Akhavan)
Stanford Graph Learning Workshop 2022
(video lectures)
https://snap.stanford.edu/graphlearning-workshop-2022/
(video lectures)
https://snap.stanford.edu/graphlearning-workshop-2022/
🍌5
Deep Learning Fundamentals is a free course on learning deep learning using a modern open-source stack.
If you found this page, you probably heard that artificial intelligence and deep learning are taking the world by storm. This is correct. In this course, Sebastian Raschka, a best-selling author and professor, will teach you deep learning (machine learning with deep learning) from the ground up via a course of 10 units with bite-sized videos, quizzes, and exercises. The entire course is free and uses the most popular open-source tools for deep learning.
https://lightning.ai/pages/courses/deep-learning-fundamentals/
If you found this page, you probably heard that artificial intelligence and deep learning are taking the world by storm. This is correct. In this course, Sebastian Raschka, a best-selling author and professor, will teach you deep learning (machine learning with deep learning) from the ground up via a course of 10 units with bite-sized videos, quizzes, and exercises. The entire course is free and uses the most popular open-source tools for deep learning.
https://lightning.ai/pages/courses/deep-learning-fundamentals/
Lightning AI
Deep Learning Fundamentals - Lightning AI
Deep Learning Fundamentals is a free course on learning deep learning using a modern open-source stack.
😱1
Forwarded from Tensorflow(@CVision) (Alireza Akhavan)
این کد تخفیف 45 درصدی هم امروز در کمپین مکتب خونه فعال شد و تا 20 آذر فعاله:
PopMK-14010920🔗لینک دوره
مکتبخونه
آموزش پردازش تصویر و بینایی ماشین با OpenCV
دوره آموزش پردازش تصویر و بینایی ماشین با opencv برای ایجاد یک پایه قوی در بینایی کامپیوتر طراحی شده است. در این دوره شما درک کاملی از تقریبا تمام ابزارهای OpenCV برای پردازش تصویر، بینایی کامپیوتری، پردازش ویدئو و اصول اولیه هوش مصنوعی خواهید داشت.
A 2021 guide to Semantic Segmentation
https://nanonets.com/blog/semantic-image-segmentation-2020/
https://nanonets.com/blog/semantic-image-segmentation-2020/
Nanonets Blog | AI Document Processing & Workflow Automation
A Complete guide to Semantic Segmentation in 2024
Explore Semantic Segmentation - methods, video segmentation, point clouds, metrics, loss functions, annotation tools, and datasets.
🔥2
سلام آقای هینتون کبیر
در حال طراحی روشی به اسم Forward-Forward(FF) هستن که در اون از انتشار خطا به روش مرسوم استفاده نشده است که میتونید برای دیدن بخشی از مقاله به اینجا مراجعه کنید
آقای محمدرضا پزشکی کد الهام گرفته شده از این مقاله رو با فریمورک پایتورچ در این ریپو پیاده سازی کرده اند(اولین نفر)
ما نیز با الهام از کد آقای پزشکی مقاله رو در فریمورک تنسورفلو پیاده سازی کردیم
در حال طراحی روشی به اسم Forward-Forward(FF) هستن که در اون از انتشار خطا به روش مرسوم استفاده نشده است که میتونید برای دیدن بخشی از مقاله به اینجا مراجعه کنید
آقای محمدرضا پزشکی کد الهام گرفته شده از این مقاله رو با فریمورک پایتورچ در این ریپو پیاده سازی کرده اند(اولین نفر)
ما نیز با الهام از کد آقای پزشکی مقاله رو در فریمورک تنسورفلو پیاده سازی کردیم
🔥7