دستاوردهای یادگیری عمیق(InTec)
cuML is GPU-accelerated machine learning library similar to scikit-learn but made to run on GPU Github link
قبلتر درمورد Rapids بسیار صحبت شد و ابزارهایی که سراغش رفتند و بر پایهی این مورد توسعه داده شدند رو هم ذکر کردم
حالا که Spark نسخه جدید هم داره ازین ابزار استفاده میکنه (spark gpu processing) بهتره دوباره یک سری بهش بزنیم
توی تیم من هم همهی بچههای Data scientist , ML research با این ابزار آشنایی دارند
ولی وقتی دیتا زیاد هست و سرعت محاسبات برامون مهمه و حافظه Gpu کم هست چالش جدی داریم که خب
Cuda Unified Memory
مشکل مارو حل میکنه (آخرین باری که چک کردم با بچههای تیم Data engineering این مورد هنوز روی spark نبود)
خیلی بدرد بخور هست این روش پیشنهاد میدم حتماً چک کنید (مثال روی cuGraph هست)
Medium Blog Post
حالا که Spark نسخه جدید هم داره ازین ابزار استفاده میکنه (spark gpu processing) بهتره دوباره یک سری بهش بزنیم
توی تیم من هم همهی بچههای Data scientist , ML research با این ابزار آشنایی دارند
ولی وقتی دیتا زیاد هست و سرعت محاسبات برامون مهمه و حافظه Gpu کم هست چالش جدی داریم که خب
Cuda Unified Memory
مشکل مارو حل میکنه (آخرین باری که چک کردم با بچههای تیم Data engineering این مورد هنوز روی spark نبود)
خیلی بدرد بخور هست این روش پیشنهاد میدم حتماً چک کنید (مثال روی cuGraph هست)
Medium Blog Post
Medium
Tackling Large Graphs with RAPIDS cuGraph and CUDA Unified Memory on GPUs
Learn how to use Unified Memory and Oversubnoscription to scale cuGraph to utilize datasets 4x larger than what fits into GPU memory
🔥4👍1👎1
شاید برای خیلیها دستمزد دلاری - اسم شرکت و ... خیلی مهمتر از هرچیزی باشه
برای من شعور و رفتار حرفهای از هرچیزی بیشتر اهمیت داره (مخصوصاً وقتی موضوع بحث مدیریت تیم باشه)
توصیه میکنم به همهی نیروهای تازه کار این مورد رو بیشتر از دستمزد دنبالش باشید (قطعاً رستگار میشید)
با این همه اگر کسی نیاز شدید داره (اسم شرکت توی عکس موجود هست پیام بدید به یکی از نیروهاش)
برای من شعور و رفتار حرفهای از هرچیزی بیشتر اهمیت داره (مخصوصاً وقتی موضوع بحث مدیریت تیم باشه)
توصیه میکنم به همهی نیروهای تازه کار این مورد رو بیشتر از دستمزد دنبالش باشید (قطعاً رستگار میشید)
با این همه اگر کسی نیاز شدید داره (اسم شرکت توی عکس موجود هست پیام بدید به یکی از نیروهاش)
👍26👎1
تفاوت کد junior - senior برای استخدام (مصاحبه ۱ ساعت پیش) :
نتایج واضح هست که چه کسی بعنوان senior استخدام میشه دیگه (مصاحبه مختصر و مفید)
نکته مهمی که خواسم اشاره کنم اینه که توی مسابقات و مصاحبه استخدام حتما سعی کنید از Generator ها استفاده کنید
تفاوت سرعت اجرا :
running fib function took 7.486343383789062e-05ms
——————————————————
running fib2 function took 7.152557373046875e-07ms
نتایج واضح هست که چه کسی بعنوان senior استخدام میشه دیگه (مصاحبه مختصر و مفید)
نکته مهمی که خواسم اشاره کنم اینه که توی مسابقات و مصاحبه استخدام حتما سعی کنید از Generator ها استفاده کنید
تفاوت سرعت اجرا :
running fib function took 7.486343383789062e-05ms
——————————————————
running fib2 function took 7.152557373046875e-07ms
👍20👎2🔥2
اینم یک منبع خوب برای تمرین همچین سوالاتی :
LeetCode
خوبی این سایت نسبت به مدلهای دیگه اینه که با خرید اکانت premium حتی میتونید ببینید شرکتهای مختلف مثل آمازون - گوگل و ... چه سوالاتی رو بیشتر پرسیدند توی مصاحبه و اینکه برای این مصاحبهها بهتر آماده بشید
البته نسخه رایگان هم بسیار عالی هست برای تمرین
برای مقایسه :
اکثر جلسات مصاحبه (البته بحث این ۲ تا پست راجب software engineering هست و برای ML / DL / Data Science همچین سوالاتی مطرح نمیشه) بین ۱ تا ۱.۵ ساعت وقت داره که با توجه به توضیحات مسئله - صحبت کلی - پرسیدن نحوه حل مسئله از شما باید بتونید سوالات سخت سایت رو زیر زمان 45 دقیقه حل کنید.
پس فقط حل مسئله نیست که اهمیت داره :
۱- نحوه حل مسئله ۲ - فکر کردن به موارد استثنا (مخصوصا صحبت راجبش قبل از شروع کد زدن) ۳- زمان حل مسئله بسیار مهم هستند.
LeetCode
خوبی این سایت نسبت به مدلهای دیگه اینه که با خرید اکانت premium حتی میتونید ببینید شرکتهای مختلف مثل آمازون - گوگل و ... چه سوالاتی رو بیشتر پرسیدند توی مصاحبه و اینکه برای این مصاحبهها بهتر آماده بشید
البته نسخه رایگان هم بسیار عالی هست برای تمرین
برای مقایسه :
اکثر جلسات مصاحبه (البته بحث این ۲ تا پست راجب software engineering هست و برای ML / DL / Data Science همچین سوالاتی مطرح نمیشه) بین ۱ تا ۱.۵ ساعت وقت داره که با توجه به توضیحات مسئله - صحبت کلی - پرسیدن نحوه حل مسئله از شما باید بتونید سوالات سخت سایت رو زیر زمان 45 دقیقه حل کنید.
پس فقط حل مسئله نیست که اهمیت داره :
۱- نحوه حل مسئله ۲ - فکر کردن به موارد استثنا (مخصوصا صحبت راجبش قبل از شروع کد زدن) ۳- زمان حل مسئله بسیار مهم هستند.
Leetcode
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
👍12❤2👏1
دستاوردهای یادگیری عمیق(InTec)
تفاوت کد junior - senior برای استخدام (مصاحبه ۱ ساعت پیش) : نتایج واضح هست که چه کسی بعنوان senior استخدام میشه دیگه (مصاحبه مختصر و مفید) نکته مهمی که خواسم اشاره کنم اینه که توی مسابقات و مصاحبه استخدام حتما سعی کنید از Generator ها استفاده کنید تفاوت…
بخش کامنت این پست خودش چندتا پست شد
مرسی از دوستان (❤️) کدها بحث جالبی شد.
شاید ازین به بعد یک سری چالش و نحوه حل هم به اشتراک بذارم (همین قدر کوچیک و نکته دار فقط) 🤔
مرسی از دوستان (❤️) کدها بحث جالبی شد.
شاید ازین به بعد یک سری چالش و نحوه حل هم به اشتراک بذارم (همین قدر کوچیک و نکته دار فقط) 🤔
👍13🤔1🎉1
ی وقتایی هم هست که فراموش کردن نکات ساده چندساعت درگیری ایجاد میکنه و کد رو کثیف میکنه
مثل اینکه :
توی پایتون برای for هم else وجود داره؛ اگر break داخل for اجرا شد میره سراغ else (جزو اولین نکتههایی که روی loop توی پایتون آموزش میبینیم، while هم این رو داره)
و من ۲ ساعت وقت گذشتم یک کد جدید نوشتم که همین حالات رو برای من detect کنه 🤦🤦
مثل اینکه :
توی پایتون برای for هم else وجود داره؛ اگر break داخل for اجرا شد میره سراغ else (جزو اولین نکتههایی که روی loop توی پایتون آموزش میبینیم، while هم این رو داره)
و من ۲ ساعت وقت گذشتم یک کد جدید نوشتم که همین حالات رو برای من detect کنه 🤦🤦
😁11👍3❤1
دستاوردهای یادگیری عمیق(InTec)
ی وقتایی هم هست که فراموش کردن نکات ساده چندساعت درگیری ایجاد میکنه و کد رو کثیف میکنه مثل اینکه : توی پایتون برای for هم else وجود داره؛ اگر break داخل for اجرا شد میره سراغ else (جزو اولین نکتههایی که روی loop توی پایتون آموزش میبینیم، while هم این…
این توضیح ی ایراد بزرگ داشت، فقط ۱ نفر درستش رو گفت :
حلقه فقط وقتی break نشه، else رو اجرا میکنه (توضیح اول من برعکس بود، ادیت نکردم و میخوام به اشتباه بمونه)
چیزی حه میخواستم این بود که اگر break نشد نتیجه رو نگهدار وگرنه محاسبات اشتباه بوده و نتیجه رو ذخیره نکن.
منطقش هم اینه که :
Else
وقتی اجرا میشه که شرط اشتباه بشه چه توی while و چه for وقتی break میخوره، ینی آخرین باری که شرط رو چک کردیم درست بوده و دیگه از بررسی else خارج شده (اگر شرط غلط بود else اجرا میشد)
مرسی از Ali Satvaty که اشاره دقیقی به این موضوع داشت
و Mohammad Reza که پیش تر ی اصلاح ریزی زد رو اشتباه من
حلقه فقط وقتی break نشه، else رو اجرا میکنه (توضیح اول من برعکس بود، ادیت نکردم و میخوام به اشتباه بمونه)
چیزی حه میخواستم این بود که اگر break نشد نتیجه رو نگهدار وگرنه محاسبات اشتباه بوده و نتیجه رو ذخیره نکن.
منطقش هم اینه که :
Else
وقتی اجرا میشه که شرط اشتباه بشه چه توی while و چه for وقتی break میخوره، ینی آخرین باری که شرط رو چک کردیم درست بوده و دیگه از بررسی else خارج شده (اگر شرط غلط بود else اجرا میشد)
مرسی از Ali Satvaty که اشاره دقیقی به این موضوع داشت
و Mohammad Reza که پیش تر ی اصلاح ریزی زد رو اشتباه من
👍7👎4🤔2
#تجربه
دونستن Data Structure خیلی مهم هست؛ اما من همیشه به کسایی که بعد از یادگیری مقدمات پایتون دنبال یادگیری Data Structure, Algorithm هستند میگم که سعی کنید آموزشی رو دنبال کنید که این موضوع رو توی همون زبان برنامه نویسی که کار میکنید (پایتون) آموزش بده
مهمترین بخش از شغل من code review / code optimization هست توی این مدت اخیر (مخصوصا وقتی به deploy بسیار نزدیک هستیم)؛ تمامی بچههای software engineering به خوبی هرچه تمام راجبع ساختمان داده و الگوریتم اطلاع دارند.
اما مشکلی که وجود داره (دانشگاهی و آموزشگاهی) این هست که کسی به اینها نگفته آقا/خانم اگر قرار هست با پایتون کد بزنی یکبار دیگه این ساختمان داده که خوندی رو توی پایتون چک کن ؛ چیزی که نتونی ازش استفاده کنی چه بدرد میخوره
۵۰-۶۰ درصد کار optimization که دارم انجام میدم شده همین موضوع (تغییر Data Structure داخل کدهای استفاده شده) و حدودا ۸۰ درصد git commit هایی که میزنم با این پیام هست :
using array instead of list for .... - ram usage before : 10GB - after: 800MB
اولا اینکه تفاوت استفاده از رم که میخونید واقعی هست؛ و قبل از نوشتن این متن آخرین کامیتی که زدم دقیقا همین بود.
نکتهای که همه بلد هستند ولی توی پایتون دقت نمیکنند اینه :
1- list != array
2- Dynamic Array != Static Array
مخصوصا از لحاظ تعریف data structure :
لیست توی پایتون از لحاظ حافظه و مدل پیاده سازی رفتاری شبیه به Dynamic Array داره (میگم شبیه بخاطر اینکه لیست پایتون میتونه Data Type های متفاوتی داشته باشه)
جایگزین لیست که میتونید استفاده کنید مخصوصا برای بهبود حافظه (IoT - Edge Computing) استفاده از ماژولهای array یا numpy هست توی پایتون
بازم تاکید میکنم اگر Data Structure , Algorithm میخونید:
حتما حتما یکبار هم برای زبان برنامهنویسی که روش کار میکنید بخونید.
دونستن Data Structure خیلی مهم هست؛ اما من همیشه به کسایی که بعد از یادگیری مقدمات پایتون دنبال یادگیری Data Structure, Algorithm هستند میگم که سعی کنید آموزشی رو دنبال کنید که این موضوع رو توی همون زبان برنامه نویسی که کار میکنید (پایتون) آموزش بده
مهمترین بخش از شغل من code review / code optimization هست توی این مدت اخیر (مخصوصا وقتی به deploy بسیار نزدیک هستیم)؛ تمامی بچههای software engineering به خوبی هرچه تمام راجبع ساختمان داده و الگوریتم اطلاع دارند.
اما مشکلی که وجود داره (دانشگاهی و آموزشگاهی) این هست که کسی به اینها نگفته آقا/خانم اگر قرار هست با پایتون کد بزنی یکبار دیگه این ساختمان داده که خوندی رو توی پایتون چک کن ؛ چیزی که نتونی ازش استفاده کنی چه بدرد میخوره
۵۰-۶۰ درصد کار optimization که دارم انجام میدم شده همین موضوع (تغییر Data Structure داخل کدهای استفاده شده) و حدودا ۸۰ درصد git commit هایی که میزنم با این پیام هست :
using array instead of list for .... - ram usage before : 10GB - after: 800MB
اولا اینکه تفاوت استفاده از رم که میخونید واقعی هست؛ و قبل از نوشتن این متن آخرین کامیتی که زدم دقیقا همین بود.
نکتهای که همه بلد هستند ولی توی پایتون دقت نمیکنند اینه :
1- list != array
2- Dynamic Array != Static Array
مخصوصا از لحاظ تعریف data structure :
لیست توی پایتون از لحاظ حافظه و مدل پیاده سازی رفتاری شبیه به Dynamic Array داره (میگم شبیه بخاطر اینکه لیست پایتون میتونه Data Type های متفاوتی داشته باشه)
جایگزین لیست که میتونید استفاده کنید مخصوصا برای بهبود حافظه (IoT - Edge Computing) استفاده از ماژولهای array یا numpy هست توی پایتون
بازم تاکید میکنم اگر Data Structure , Algorithm میخونید:
حتما حتما یکبار هم برای زبان برنامهنویسی که روش کار میکنید بخونید.
👏20👍5❤1
#Roadmap 2022
این رو برای یک دوستی که تازه داره سعی میکنه وارد، ماشینلرنینگ بشه نوشتم ؛
اول اینکه توجه کنید,
۱- ایشون تازه برای کارشناسی بورسیه گرفته و قراره شروع کنه درسش رو
۲- پایتون رو در سطح متوسطی بلد هست و چندسالی هست که کد میزنه (Data structure, Algorithm رو متوجه هست)
۳- علاقه شدیدی به هوش مصنوعی داره و برخلاف خیلیها که میخوان سریعتر کد بزنن ترجیح میده وقت بیشتری توی مقدمات بذاره تا حرفهای تر جلو بره
RoadMap :
1- Numpy (and scipy):
. Numpy Beginners guide 3rd edition (packt)
. Python Numpy Beginners (AI publishing)
. Scientific Computing with Python .... 2nd edition (Claus Fuhrer - packt pub)
* High performance python ... 2nd edition (O'Reilly)
2- Pandas:
Effective Pandas (Matt Harrison)
Pandas in Action (Manning Pub)
Pandas 1.x cookbook ... 2nd edition (Packt pub)
3- Matplotlib (or other visualization libs)
Hands on matplotlib (Ashwin - Apress pub)
Data visualization with python for beginners ... ( AI publishing)
چیزی که خیلی مهمه اینه کار با OOP، api رو توی این کتابخونه یاد بگیرید.
3- Data Engineering
نه کامل اما بعضی مباحث واقعاً لازم هست :
Sql / NoSql / PySpark
اینها مباحثی هست که خیلی بدرد میخوره معمولاً
4- Scikit-learn :
Hands on machine learning with scikit-learn, ... (O'Reilly) - Part 1 only
Machine learning with pytorch and scikit-learn (Packt pub) - Part 1 only
5- Story telling
کتابهای زیادی برای این مورد وجود داره که بسته به علاقه و نوع نوشتاری که میپسندید میتونید انتخاب کنید
اما این بخش رو اصلا دستکم نگیرید (۹۹.۹٪ آموزشها این موضوع رو منتقل نمیکنند و ۱۰۰٪ توی کار این موضوع واجب و حیاتی هست)
6-
آمار و احتمالات / ریاضیات / جبر
بستگی به خودتون داره؛ اگر فکر میکنید لازم هست کمی ریاضیات پایه رو مرور کنید
آمار و احتمال رو شاید بهتره حتی قبل از scikit-learn مرور کنید
کتابهای با عنوان statistical learning وجود داره برای پایتون که به سلیقه خودتون میتونید بخونید.
7- Deep learning (practical)
۲ تا کتابی که برای Machine learning معرفی کردم بخش دوم هر ۲ کتاب رو میتونید اینجا شروع کنید
Deep learning with python 2nd edition (Manning pub)
هم حتماً برای اونایی که Tensorflow هم میخوان کار کنند باید خونده بشه
اگر قرار هست کارهای deploy , ... هم انجام بدید اون خودش ی roadmap اساسی میخواد اما بطور ساده :
ML engineering / MLOps / Linux / Docker / Api development (FastApi) / Edge deployment (Tiny ML)
حداقل چیزهایی هست که لازم دارید.
بعد با توجه به بیزینس و علاقه به بخشهای مختلفش شاخ و برگ میدید.
پ.ن : برای بخشهای مختلف چندکتاب معرفی شد، چون نوع نوشتار بعضی از کتابها ممکن مورد پسند شما نباشه
لازم نیست همهی چند مورد رو بخونید.
کتاب :
High performance python
جزو واجبات هست که بنظرم همه باید بخونند.
این رو برای یک دوستی که تازه داره سعی میکنه وارد، ماشینلرنینگ بشه نوشتم ؛
اول اینکه توجه کنید,
۱- ایشون تازه برای کارشناسی بورسیه گرفته و قراره شروع کنه درسش رو
۲- پایتون رو در سطح متوسطی بلد هست و چندسالی هست که کد میزنه (Data structure, Algorithm رو متوجه هست)
۳- علاقه شدیدی به هوش مصنوعی داره و برخلاف خیلیها که میخوان سریعتر کد بزنن ترجیح میده وقت بیشتری توی مقدمات بذاره تا حرفهای تر جلو بره
RoadMap :
1- Numpy (and scipy):
. Numpy Beginners guide 3rd edition (packt)
. Python Numpy Beginners (AI publishing)
. Scientific Computing with Python .... 2nd edition (Claus Fuhrer - packt pub)
* High performance python ... 2nd edition (O'Reilly)
2- Pandas:
Effective Pandas (Matt Harrison)
Pandas in Action (Manning Pub)
Pandas 1.x cookbook ... 2nd edition (Packt pub)
3- Matplotlib (or other visualization libs)
Hands on matplotlib (Ashwin - Apress pub)
Data visualization with python for beginners ... ( AI publishing)
چیزی که خیلی مهمه اینه کار با OOP، api رو توی این کتابخونه یاد بگیرید.
3- Data Engineering
نه کامل اما بعضی مباحث واقعاً لازم هست :
Sql / NoSql / PySpark
اینها مباحثی هست که خیلی بدرد میخوره معمولاً
4- Scikit-learn :
Hands on machine learning with scikit-learn, ... (O'Reilly) - Part 1 only
Machine learning with pytorch and scikit-learn (Packt pub) - Part 1 only
5- Story telling
کتابهای زیادی برای این مورد وجود داره که بسته به علاقه و نوع نوشتاری که میپسندید میتونید انتخاب کنید
اما این بخش رو اصلا دستکم نگیرید (۹۹.۹٪ آموزشها این موضوع رو منتقل نمیکنند و ۱۰۰٪ توی کار این موضوع واجب و حیاتی هست)
6-
آمار و احتمالات / ریاضیات / جبر
بستگی به خودتون داره؛ اگر فکر میکنید لازم هست کمی ریاضیات پایه رو مرور کنید
آمار و احتمال رو شاید بهتره حتی قبل از scikit-learn مرور کنید
کتابهای با عنوان statistical learning وجود داره برای پایتون که به سلیقه خودتون میتونید بخونید.
7- Deep learning (practical)
۲ تا کتابی که برای Machine learning معرفی کردم بخش دوم هر ۲ کتاب رو میتونید اینجا شروع کنید
Deep learning with python 2nd edition (Manning pub)
هم حتماً برای اونایی که Tensorflow هم میخوان کار کنند باید خونده بشه
اگر قرار هست کارهای deploy , ... هم انجام بدید اون خودش ی roadmap اساسی میخواد اما بطور ساده :
ML engineering / MLOps / Linux / Docker / Api development (FastApi) / Edge deployment (Tiny ML)
حداقل چیزهایی هست که لازم دارید.
بعد با توجه به بیزینس و علاقه به بخشهای مختلفش شاخ و برگ میدید.
پ.ن : برای بخشهای مختلف چندکتاب معرفی شد، چون نوع نوشتار بعضی از کتابها ممکن مورد پسند شما نباشه
لازم نیست همهی چند مورد رو بخونید.
کتاب :
High performance python
جزو واجبات هست که بنظرم همه باید بخونند.
👍47👏18❤9👎4
این کتاب از Manning (فکر میکنم تازه هم منتشر شده)
بسیار عالی هست؛ با اینکه از پایه هست اما سطح بالایی کد داره و مناسب تازه کارها شاید نباشه (اما بنظرم باید خونده بشه)
نکته دیکه اینکه Pytorch هست و اگر میخواید این فریمورک رو هم عالی یاد بگیرید کنتاب خوبی بنظر میاد
نحوه ی توضیح دادن ریاضیات و فرمول ها هم عالی هست
شخصا تا حالا فقط ۲ فصلش رو خوندم اما حس میکنم کتاب خوبی هست و کاملا ارزش خوندن داره
بسیار عالی هست؛ با اینکه از پایه هست اما سطح بالایی کد داره و مناسب تازه کارها شاید نباشه (اما بنظرم باید خونده بشه)
نکته دیکه اینکه Pytorch هست و اگر میخواید این فریمورک رو هم عالی یاد بگیرید کنتاب خوبی بنظر میاد
نحوه ی توضیح دادن ریاضیات و فرمول ها هم عالی هست
شخصا تا حالا فقط ۲ فصلش رو خوندم اما حس میکنم کتاب خوبی هست و کاملا ارزش خوندن داره
🤩12👍7🔥3
من هنوزم بعد از سخنرانی و ...
پیام دریافت میکنم که دارم به وطنم خیانت میکنم چون به نیروی متخصص / نیروی جوان باسواد میگم
توی سن کم و هرطور شده فقط فرار کن ...
هنوزم میگم مخصوصاً برای اونهایی که سن کمتری دارند، ایران نمونید (اگر واقعاً میخواید موفق باشید.)
خدا کنه دیجیاتو دروغ گفته باشه؛ وگرنه وزیرش که انقدر بیشعور باشه از باقی توقعی نیست
ینی شما Bert رو دانلود کنی، کپن این ماه تموم شده باید تا ماه بعدی صبر کنی 🤦
پیام دریافت میکنم که دارم به وطنم خیانت میکنم چون به نیروی متخصص / نیروی جوان باسواد میگم
توی سن کم و هرطور شده فقط فرار کن ...
هنوزم میگم مخصوصاً برای اونهایی که سن کمتری دارند، ایران نمونید (اگر واقعاً میخواید موفق باشید.)
خدا کنه دیجیاتو دروغ گفته باشه؛ وگرنه وزیرش که انقدر بیشعور باشه از باقی توقعی نیست
ینی شما Bert رو دانلود کنی، کپن این ماه تموم شده باید تا ماه بعدی صبر کنی 🤦
👍33👎12🥴2
دستاوردهای یادگیری عمیق(InTec)
من هنوزم بعد از سخنرانی و ... پیام دریافت میکنم که دارم به وطنم خیانت میکنم چون به نیروی متخصص / نیروی جوان باسواد میگم توی سن کم و هرطور شده فقط فرار کن ... هنوزم میگم مخصوصاً برای اونهایی که سن کمتری دارند، ایران نمونید (اگر واقعاً میخواید موفق…
درگیر این مسائل که بودیم
ROG Smart Lens
معرفی شد.
ما همین قدر درگیر مسائل پیش پا افتاده هستیم هنوز ...
ROG Smart Lens
معرفی شد.
ما همین قدر درگیر مسائل پیش پا افتاده هستیم هنوز ...
👎1
Quick note :
بعنوان تست؛ ۵ نفر از اعضای تیم از امروز خیلی جدی روی Rust کار خواهند کرد
مخصوصاً تیم Tensorflow :
۳ نفر از دولوپرهای تیم C++ / باقی از اعضای تیم python
۳ تا از ماژولهای پرکاربرد هم قرار شد از Python به Rust بازنویسی بشه
اگر یادم بمونه نتیجه این تستهارو حتماً میذارم (هرچند توی تست اولیه تغییر ماژول به اعداد خوبی رسیدیم)
ماژولی پایتونی رو با rust بازنویسی کردیم و توی پایتون استفاده میکنیم.
پ.ن : اصلا پیشنهاد نمیکنم دوستان تازه کار سمت این زبان برنامهنویسی (مخصوصاً برای درآمدزایی برن)
بعنوان تست؛ ۵ نفر از اعضای تیم از امروز خیلی جدی روی Rust کار خواهند کرد
مخصوصاً تیم Tensorflow :
۳ نفر از دولوپرهای تیم C++ / باقی از اعضای تیم python
۳ تا از ماژولهای پرکاربرد هم قرار شد از Python به Rust بازنویسی بشه
اگر یادم بمونه نتیجه این تستهارو حتماً میذارم (هرچند توی تست اولیه تغییر ماژول به اعداد خوبی رسیدیم)
ماژولی پایتونی رو با rust بازنویسی کردیم و توی پایتون استفاده میکنیم.
پ.ن : اصلا پیشنهاد نمیکنم دوستان تازه کار سمت این زبان برنامهنویسی (مخصوصاً برای درآمدزایی برن)
👍26👎1
خیلی از دوستان نزدیک (برنامه نویسایی که میخوان وارد هوش مصنوعی هم بشن) ازم راجب دوره و کلاس و ... میپرسند
که خب پیام پین شده کانال گویای همه چیز هست :
اما برای یک فرد تازه کار مسئله خیلی سختی نیست با توجه به چندتا نکته خودتون میتونید متوجه بشید دوره الکی و سرکاری هست یا واقعا قراره چیز خوبی یاد بگیرید (توجه کنید بازم میگم برای تازهکارها هست این بحث) :
۱- اگر پایتون بلد نیستی دوره پایتون شرکت کن : دوره ماشین لرنینگ قرار نیست اصول درست برنامه نویسی پایتون رو هم بهت یاد بده (اگر به من باشه دورهای که قراره با برنامه نویسی پایتون پر بشه بدرد نمیخوره)
پس نکته اول اینه که نگاه کنید دوره چندساعت هست و چقدرش قرار خرج پایتون بشه
۲- اگر نمیخوای فقط چندخط کد بزنی و میخوای مسئله رو بفهمی :
باید دورهای رو شرکت کنی که چرایی فرمولهای ریاضی و ... رو هم بهت بگه
۳- قیمت دوره یا محل برگذاری هیچ ربطی به کیفیت دوره نداره ؛ مخصوصا محل برگذاری حواستون به این موضوع باشه و اگر فقط مدرکش براتون مهم نیست قیمت و محل برگذاری رو کمترین امتیاز رو بهش بدید
۴- مدرس دوره رو رزومهاش رو بخونید (لینکدین - کانالهای تخصصی و ...) : حتما مطمئن بشید ۲ تا پروژه واقعی دپلوی کرده بدون تعارف بگم خیلی از مدرسها متاسفانه چون توی بازارکار نتونستند به جایی برسند شروع به تدریس کردند
متاسفانه این مدرسها فقط به شما امید الکی میدند و میگن که کار راحت هست (البته که راحت هم میشه اما بعد از پشت سر گذاشتن بخشهای سختش)
مدرسی که کار deploy انجام داده از همون اول بهت اخطار میده که چه تکنولوژي رو کنار هوش مصنوعی باید یاد بگیری و چقدر لازمه یا اینکه حواست به چه نکتهای باید باشه (بهترین مدل هوش مصنوعی دنیارو هم که داشته باشی اگر فقط رو سیستم تو باشه؛ از بدترین مدلی که داره خدمات ارائه میده بیارزش تر هست این خیلی مهمه)
۵- ریاضیات رو نپیچون تا بعدا به مشکل نخوری.
که خب پیام پین شده کانال گویای همه چیز هست :
اما برای یک فرد تازه کار مسئله خیلی سختی نیست با توجه به چندتا نکته خودتون میتونید متوجه بشید دوره الکی و سرکاری هست یا واقعا قراره چیز خوبی یاد بگیرید (توجه کنید بازم میگم برای تازهکارها هست این بحث) :
۱- اگر پایتون بلد نیستی دوره پایتون شرکت کن : دوره ماشین لرنینگ قرار نیست اصول درست برنامه نویسی پایتون رو هم بهت یاد بده (اگر به من باشه دورهای که قراره با برنامه نویسی پایتون پر بشه بدرد نمیخوره)
پس نکته اول اینه که نگاه کنید دوره چندساعت هست و چقدرش قرار خرج پایتون بشه
۲- اگر نمیخوای فقط چندخط کد بزنی و میخوای مسئله رو بفهمی :
باید دورهای رو شرکت کنی که چرایی فرمولهای ریاضی و ... رو هم بهت بگه
۳- قیمت دوره یا محل برگذاری هیچ ربطی به کیفیت دوره نداره ؛ مخصوصا محل برگذاری حواستون به این موضوع باشه و اگر فقط مدرکش براتون مهم نیست قیمت و محل برگذاری رو کمترین امتیاز رو بهش بدید
۴- مدرس دوره رو رزومهاش رو بخونید (لینکدین - کانالهای تخصصی و ...) : حتما مطمئن بشید ۲ تا پروژه واقعی دپلوی کرده بدون تعارف بگم خیلی از مدرسها متاسفانه چون توی بازارکار نتونستند به جایی برسند شروع به تدریس کردند
متاسفانه این مدرسها فقط به شما امید الکی میدند و میگن که کار راحت هست (البته که راحت هم میشه اما بعد از پشت سر گذاشتن بخشهای سختش)
مدرسی که کار deploy انجام داده از همون اول بهت اخطار میده که چه تکنولوژي رو کنار هوش مصنوعی باید یاد بگیری و چقدر لازمه یا اینکه حواست به چه نکتهای باید باشه (بهترین مدل هوش مصنوعی دنیارو هم که داشته باشی اگر فقط رو سیستم تو باشه؛ از بدترین مدلی که داره خدمات ارائه میده بیارزش تر هست این خیلی مهمه)
۵- ریاضیات رو نپیچون تا بعدا به مشکل نخوری.
👍15❤1👎1
دستاوردهای یادگیری عمیق(InTec)
خیلی از دوستان نزدیک (برنامه نویسایی که میخوان وارد هوش مصنوعی هم بشن) ازم راجب دوره و کلاس و ... میپرسند که خب پیام پین شده کانال گویای همه چیز هست : اما برای یک فرد تازه کار مسئله خیلی سختی نیست با توجه به چندتا نکته خودتون میتونید متوجه بشید دوره…
نمونه درس مقدمات هوش مصنوعی ؛ شروع مبحث
Linear Regression
این رو باید متوجه بشید.
Linear Regression
این رو باید متوجه بشید.
👍17👎4
Quick Tip:
الان دیدم یکی از بچهها داره از for line in lines برای خوندن یک فایل استفاده میکنه که بجای , از | برای جداسازی ستونها استفاده شده
نامپای اینکارو به راحتی انجام میده براتون و خروجی رو هم بصورت array نگه میداره ؛ هم سریعتر هست هم رم کمتری مصرف میکنه
اگر میخواید همهی ستونها داخل یک متغیر باشه unpack رو حذف کنید.
پارامترهای مهم دیگهای هم این متود داره مثلا usecols
پ.ن : سورس کد pandas هم همین رو استفاده میکنه
الان دیدم یکی از بچهها داره از for line in lines برای خوندن یک فایل استفاده میکنه که بجای , از | برای جداسازی ستونها استفاده شده
نامپای اینکارو به راحتی انجام میده براتون و خروجی رو هم بصورت array نگه میداره ؛ هم سریعتر هست هم رم کمتری مصرف میکنه
اگر میخواید همهی ستونها داخل یک متغیر باشه unpack رو حذف کنید.
پارامترهای مهم دیگهای هم این متود داره مثلا usecols
پ.ن : سورس کد pandas هم همین رو استفاده میکنه
👍21👏4🔥2❤1👎1
#آموزش #تجربه #مصاحبه
ببخشید کمی طولانی هست :
سال قبل ی گروه ۷-۸ نفره ایرانی تازه فارغالتحصیل برای یادگیری پایتون داشتم که خب میخواستند وارد بازار کار بشن و قرار بود practical coding فقط باشه
چند ماه پیش ۲ تا از بچهها که هم خونه هستند پیام دادند که میخواهند از شرکت فعلی به شرکت دیگهای برند حالا ۱ سال تجربه دارند و میخواهند اینبار کلاس داشته باشند بطوری که خودشون رو بجای Junior بعنوان Mid-level معرفی کنند.
برای senior شدن واقعاً یک فاکتور به اسم زمان دخیل هست حالا درسته تجربیات خوب و تیم خوب باعث میشه سریعتر به این مهم برسید ولی همونم حداقل ۲ سال زمان میبره به شرطی که هر روزش پر از یادگیری باشه.
اما برخلاف تصور و حرفای چرت و پرتی که گفته میشه mid-level شدن رو میشه از زمان جدا کرد طوری که اولین شغلی که میگیرید حتی بعنوان Mid-level دستمزد داشته باشید (مثالش بسیار هست و واقعاً دوستان اینطوری رو داریم تو کانال)
ازونجایی که وقت نداشتم براشون کلاس برگذار کنم گفتم که با شخص دیگری کلاس داشته باشند ۲ تا نکته واقعاً اذیت کننده بود :
۱- دستمزد، کسانی که باهاشون صحبت کرده بودند (پیامهارو دارم) برای جلسات ۱ ساعت قیمتهایی تا ۴-۵ میلیون تومان داده بودند.
من نمیدونم داستان چیه، ولی چرا تا ی ایرانی مقیم خارج میبینید میخواید همه مشکلات درآمدی رو جبران کنید !؟
اضافه کنم که این افراد مقیم ایران هم بودند و این رقمها رو درخواست کردند ( یعنی مسئله پرداخت ریالی و خرج به دلار نیست)
مشکل من با این عدد بالا بعنوان دستمزد نیست، بعضی از اساتید بیشتر ازین هم ارزش داره کلاس هاشون ( ۱ در هر ۱ میلیون استاد )
مشکلم با سرفصلهایی هست که ارائه داده بودند برای mid-level
۲- سرفصل :
خیلیهاشون زده بودن کار با درایور دیتابیس (mongodb - postgres)
ی چندتا زده بودند : PySpark
چرا دارید کار با ابزار یاد میدید !؟
دوستان دقت کنید : ی Junior باید توانای خوندن داکیومنت و یادگرفتن کار با ابزار رو داشته باشه فقط ممکن هست زمانبر باشه براش (این چیزی هست که همه توی دورهی Internship یاد میگیرند).
اینکه ابزار یاد بدند برای مصاحبههای خاص و مشاغل خاص هست مثلاً اگر این دوستان میخواستند بعنوان Data engineer شرکت کنند
بله خوب بود که pyspark هم توی سرفصلها باشه نه برای software engineer
چندتا مورد دیگه هم که باز اوضاع خوبی نداشت :
Clean code, Git , ....
بود
همین پیگیری استاد ازشون ۱ ماه وقت گرفت وقتی دوباره بهم پیام دادند و موارد بالا رو فرستادند دیدم وقت کمی دارند و براشون ۲ تا نکته جم و جور فرستادم که فقط توی مصاحبه بتونند خودشون رو mid-level نشون بدند :
1- system design
2- documentation (on git projects)
پ.ن : الگوریتم و data structure رو میدونستم بلد هستند.
دیشب پیام دادند که هر قبول شدند توی مصاحبه و کار جدید رو قراره شروع کنند، برای همین ترجیح دادم این مورد رو برای دوستان تازهکار بذارم
بازم از مزایای درک درست system design خواهم گفت.
حتی توی مصاحبههای غیر از software engineering و حتی در ML/DL
ببخشید کمی طولانی هست :
سال قبل ی گروه ۷-۸ نفره ایرانی تازه فارغالتحصیل برای یادگیری پایتون داشتم که خب میخواستند وارد بازار کار بشن و قرار بود practical coding فقط باشه
چند ماه پیش ۲ تا از بچهها که هم خونه هستند پیام دادند که میخواهند از شرکت فعلی به شرکت دیگهای برند حالا ۱ سال تجربه دارند و میخواهند اینبار کلاس داشته باشند بطوری که خودشون رو بجای Junior بعنوان Mid-level معرفی کنند.
برای senior شدن واقعاً یک فاکتور به اسم زمان دخیل هست حالا درسته تجربیات خوب و تیم خوب باعث میشه سریعتر به این مهم برسید ولی همونم حداقل ۲ سال زمان میبره به شرطی که هر روزش پر از یادگیری باشه.
اما برخلاف تصور و حرفای چرت و پرتی که گفته میشه mid-level شدن رو میشه از زمان جدا کرد طوری که اولین شغلی که میگیرید حتی بعنوان Mid-level دستمزد داشته باشید (مثالش بسیار هست و واقعاً دوستان اینطوری رو داریم تو کانال)
ازونجایی که وقت نداشتم براشون کلاس برگذار کنم گفتم که با شخص دیگری کلاس داشته باشند ۲ تا نکته واقعاً اذیت کننده بود :
۱- دستمزد، کسانی که باهاشون صحبت کرده بودند (پیامهارو دارم) برای جلسات ۱ ساعت قیمتهایی تا ۴-۵ میلیون تومان داده بودند.
من نمیدونم داستان چیه، ولی چرا تا ی ایرانی مقیم خارج میبینید میخواید همه مشکلات درآمدی رو جبران کنید !؟
اضافه کنم که این افراد مقیم ایران هم بودند و این رقمها رو درخواست کردند ( یعنی مسئله پرداخت ریالی و خرج به دلار نیست)
مشکل من با این عدد بالا بعنوان دستمزد نیست، بعضی از اساتید بیشتر ازین هم ارزش داره کلاس هاشون ( ۱ در هر ۱ میلیون استاد )
مشکلم با سرفصلهایی هست که ارائه داده بودند برای mid-level
۲- سرفصل :
خیلیهاشون زده بودن کار با درایور دیتابیس (mongodb - postgres)
ی چندتا زده بودند : PySpark
چرا دارید کار با ابزار یاد میدید !؟
دوستان دقت کنید : ی Junior باید توانای خوندن داکیومنت و یادگرفتن کار با ابزار رو داشته باشه فقط ممکن هست زمانبر باشه براش (این چیزی هست که همه توی دورهی Internship یاد میگیرند).
اینکه ابزار یاد بدند برای مصاحبههای خاص و مشاغل خاص هست مثلاً اگر این دوستان میخواستند بعنوان Data engineer شرکت کنند
بله خوب بود که pyspark هم توی سرفصلها باشه نه برای software engineer
چندتا مورد دیگه هم که باز اوضاع خوبی نداشت :
Clean code, Git , ....
بود
همین پیگیری استاد ازشون ۱ ماه وقت گرفت وقتی دوباره بهم پیام دادند و موارد بالا رو فرستادند دیدم وقت کمی دارند و براشون ۲ تا نکته جم و جور فرستادم که فقط توی مصاحبه بتونند خودشون رو mid-level نشون بدند :
1- system design
2- documentation (on git projects)
پ.ن : الگوریتم و data structure رو میدونستم بلد هستند.
دیشب پیام دادند که هر قبول شدند توی مصاحبه و کار جدید رو قراره شروع کنند، برای همین ترجیح دادم این مورد رو برای دوستان تازهکار بذارم
بازم از مزایای درک درست system design خواهم گفت.
حتی توی مصاحبههای غیر از software engineering و حتی در ML/DL
👍23👏5❤3👎1
دستاوردهای یادگیری عمیق(InTec)
#آموزش #تجربه #مصاحبه ببخشید کمی طولانی هست : سال قبل ی گروه ۷-۸ نفره ایرانی تازه فارغالتحصیل برای یادگیری پایتون داشتم که خب میخواستند وارد بازار کار بشن و قرار بود practical coding فقط باشه چند ماه پیش ۲ تا از بچهها که هم خونه هستند پیام دادند که…
System design :
چون خیلی سوال شد، همینجا سریع بگم که توی مصاحبهها ۲ تا سوال معمولاً پرسیده میشه از Senior توقع میره به خوبی هرچه تمام این ۲ سوال رو جواب بده
متأسفانه خیلی از بچههای ایرانی که توی مصاحبه (مخصوصاً بینالمللی fail میشند بخاطر جواب بد دادن به این ۲ مدل سوال هست)
کمپانیهای بزرگ مثل گوگل ٫ آمازون و ... (حتی شرکتی که ما کار میکنیم) یکی از مرحلههای مصاحبه هست
یک محصول شرکت یا یکی از برنامههایی که مجود داره رو به شما توضیح میدند (خیلی وقتا غیرکامل و دست و پا شکسته) و از شما توقع دارند طراحی انجام بدید (برای مثال میگن اینستاگرام رو اگر قرار باشه با ی سری تغییرات جدید (گفته میشه بهتون) طراحی کنید چطور میشه ؟! )
توی این مصاحبهها بسته به موقعیت شغلی روی بخشهای مختلف باید بیشتر تمرکز کنید
خیلی مهمه که قبل از اینکه ماژیک رو روی تخته بذارید و توضیح بدید کامل محصول رو درک کنید، جاهایی که توضیح درستی ندادند به عمد هست باید سوال کنید و ...
مثلاً برای بچههایی که Sql Admin شرکت میکنند، تمرکز روی جدولهای مورد نیاز، فیلدها و ... هست
نوع دومی که سوال میشه و توی هوش مصنوعی کسی بهش دقت نمیکنه که این سوال مربوط به system design هست و بسیار بسیار مهم اینه که :
شما توی رزومه زدید یک سیستم رو پیاده سازی کردید و روی production هست :
از شما میخواند راجبش توضیح بدید :
معمولاً از شما توقع میره سریع راجب الگوریتم مورد استفاده توضیح بدید و رد بشید و نحوه پیاده سازی سیستم رو بگید (اینجا ابزارها هم ممکنه مهم باشه) از طراحی تا پیاده سازی رو بگید
من خیلی خیلی زیاد توی بچههایی که باهاشون تست مصاحبه میرم دیدم که شروع میکنن راجب Hyper parameters, Algorithm, Model, فریمورک توضیح دادن اینا اصلا مهم نیست :
مهم دیتا - مشکلات و نحوه حلشون - و البته از طراحی تا پیاده سازی محصول هست و نحوه عملکرد
اگر توجه کنید خوبی بلد بودن SYSTEM DESIGN همین هست، توی مصاحبههای مختلف حتی میدونید چه بخشی از تجربیاتتون رو bold کنید که مصاحبه کننده شکه بشه و نظرش بسیار مثبت باشه
این میتونه حتی اشتباهات کد زدن و ... رو هم ببخشه 😉
البته کلاً بچههای ایران تو این مورد ضعیف هستند، متأسفانه اساتید هم این مورد رو بلد نیستند خیلی وقتا و یا اگر میدوند هم توضیح نمیدن
شخصاً وقتی برنامهنویسی و مصاحبه رو شروع کردم (بعنوان برنامهنویس بیش از ۱۰ سال قبل)
بیشتر از ۲۰ تا مصاحبه و چندین سال تجربه طول کشید تا بفهمم واقعاً چقدر مهم هست این موضوع.
چون خیلی سوال شد، همینجا سریع بگم که توی مصاحبهها ۲ تا سوال معمولاً پرسیده میشه از Senior توقع میره به خوبی هرچه تمام این ۲ سوال رو جواب بده
متأسفانه خیلی از بچههای ایرانی که توی مصاحبه (مخصوصاً بینالمللی fail میشند بخاطر جواب بد دادن به این ۲ مدل سوال هست)
کمپانیهای بزرگ مثل گوگل ٫ آمازون و ... (حتی شرکتی که ما کار میکنیم) یکی از مرحلههای مصاحبه هست
یک محصول شرکت یا یکی از برنامههایی که مجود داره رو به شما توضیح میدند (خیلی وقتا غیرکامل و دست و پا شکسته) و از شما توقع دارند طراحی انجام بدید (برای مثال میگن اینستاگرام رو اگر قرار باشه با ی سری تغییرات جدید (گفته میشه بهتون) طراحی کنید چطور میشه ؟! )
توی این مصاحبهها بسته به موقعیت شغلی روی بخشهای مختلف باید بیشتر تمرکز کنید
خیلی مهمه که قبل از اینکه ماژیک رو روی تخته بذارید و توضیح بدید کامل محصول رو درک کنید، جاهایی که توضیح درستی ندادند به عمد هست باید سوال کنید و ...
مثلاً برای بچههایی که Sql Admin شرکت میکنند، تمرکز روی جدولهای مورد نیاز، فیلدها و ... هست
نوع دومی که سوال میشه و توی هوش مصنوعی کسی بهش دقت نمیکنه که این سوال مربوط به system design هست و بسیار بسیار مهم اینه که :
شما توی رزومه زدید یک سیستم رو پیاده سازی کردید و روی production هست :
از شما میخواند راجبش توضیح بدید :
معمولاً از شما توقع میره سریع راجب الگوریتم مورد استفاده توضیح بدید و رد بشید و نحوه پیاده سازی سیستم رو بگید (اینجا ابزارها هم ممکنه مهم باشه) از طراحی تا پیاده سازی رو بگید
من خیلی خیلی زیاد توی بچههایی که باهاشون تست مصاحبه میرم دیدم که شروع میکنن راجب Hyper parameters, Algorithm, Model, فریمورک توضیح دادن اینا اصلا مهم نیست :
مهم دیتا - مشکلات و نحوه حلشون - و البته از طراحی تا پیاده سازی محصول هست و نحوه عملکرد
اگر توجه کنید خوبی بلد بودن SYSTEM DESIGN همین هست، توی مصاحبههای مختلف حتی میدونید چه بخشی از تجربیاتتون رو bold کنید که مصاحبه کننده شکه بشه و نظرش بسیار مثبت باشه
این میتونه حتی اشتباهات کد زدن و ... رو هم ببخشه 😉
البته کلاً بچههای ایران تو این مورد ضعیف هستند، متأسفانه اساتید هم این مورد رو بلد نیستند خیلی وقتا و یا اگر میدوند هم توضیح نمیدن
شخصاً وقتی برنامهنویسی و مصاحبه رو شروع کردم (بعنوان برنامهنویس بیش از ۱۰ سال قبل)
بیشتر از ۲۰ تا مصاحبه و چندین سال تجربه طول کشید تا بفهمم واقعاً چقدر مهم هست این موضوع.
👍22👎1
نکته دیگه اینکه :
من گیتهابی برای کدهام ندارم،
گیت شرکتها رو برای همهی کارها استفاده میکنم و خارج از اون پروژههای شرکت رو به هیچوجه نمیذارم.
برای خودم هم یک سیستم Git ایجاد کردم و پروژههای شخصی رو اونجا قرار میدم از سرویسهای عمومی فقط برای کدها و فایلهای سمینار و ... سعی میکنم استفاده کنم.
من گیتهابی برای کدهام ندارم،
گیت شرکتها رو برای همهی کارها استفاده میکنم و خارج از اون پروژههای شرکت رو به هیچوجه نمیذارم.
برای خودم هم یک سیستم Git ایجاد کردم و پروژههای شخصی رو اونجا قرار میدم از سرویسهای عمومی فقط برای کدها و فایلهای سمینار و ... سعی میکنم استفاده کنم.