MatlabTips
891 subscribers
462 photos
72 videos
54 files
304 links
آموزش MATLAB با "استفاده از ویدئو و متن" در سطوح مبتدی تا پیشرفته
پاسخ به سوالات تخصصی:
@roholazandie
Download Telegram
نحوه حرکت بر روی دیتابیس با حلقه
شرکت openai به صورت رسمی تمام چارچوب های نرم افزاری یادگیری عمیق خود را به پایتورچ تغییر داد. هدف از این کار سادگی کار با پایتورچ و کاهش زمان توسعه از هفته ها به روز است. از طرف دیگر پایتورچ با استقبال بسیار زیادی از سوی استارتاپ های کوچک و همچنین فیسبوک، مایکروسافت و آمازون و دیگر غولهای فناوری روبرو شده است.
[با این حساب احتمالا تنها شرکتی که به صورت فعال از تنسرفلو استفاده می کند خود گوگل است.]
توضیحات بیشتر:

https://openai.com/blog/openai-pytorch/
MatlabTips pinned «🌕بهترین دوره یادگیری پایتون🌕 دوره بسیار کامل udemy برای آموزش پایتون رو دانلود کردم و در کانال دانلود قرار دادم. (فقط پنج فصل اول که اساسی تر هستند) فصل اول در مورد اینکه پایتون چیست و چگونه اون رو نصب کنیم فصل دوم در مورد پایه های زبان و سینتکس فصل سوم…»
This media is not supported in your browser
VIEW IN TELEGRAM
گوشه ای کوتاه از مصاحبه ریچارد فاینمن فیزیکدان بزرگ قرن بیستم در رابطه با جهان، حقیقت و مذهب


"من از ندونستن نمیترسم!"
- ریچارد فاینمن
ریچارد فاینمن قهرمان دوران نوجوانی من بود! شخصی که علم را نه از طریق کتاب و دانشگاه آموخت بلکه آن را زندگی می کرد! علم برای فاینمن موضوعی مربوط به دانشگاه و آزمایشگاه نیست بلکه یک بخش اساسی از زندگی اوست. افرادی مانند فاینمن نشان می دهند علم چقدر می تواند سرگرم کننده و جالب باشد آنقدر که شما آن را هر روز و همه جا ببینید و لذت ببرید!

کتاب «حتماً شوخی می‌کنید آقای فاینمن؟» داستان بسیار جالب زندگی او به قلم رالف لیگ تون است که خواندنش را به همه توصیه می کنم (ترجمه فارسی آن هم وجود دارد) این کتاب مجموعه از خاطرات شیرین و جالب و مقدار کمی فیزیک است.

اما اگر حوصله خواندن کتاب ندارید مستند ۵۰ دقیقه ای زیر به اسم «لذت فهمیدن چیزها» (the pleasure of finding things out) را می توانید ببینید که توسط horizon bbc ساخته شده و یک مصاحبه گرم و صمیمی با این نابغه است.

دانلود (حجم ۹۲ مگابایت)
🔵مدل سازی ریاضی پخش ویروس کرونا🔵

آزمایشگاه Brockmann Lab در آلمان به تازگی پژوهش گسترده ای بر روی مدل ریاضی پخش ویروس کرونا منتشر کرده است که بر اساس مطالعه سیستم های پیچیده (complex systems) است. اینجا می توانید صفحه اصلی آن ها را مشاهده کنید. این مدل ها می توانند به صورت تقریبی ریسک پخش ویروس در نقاط مختلف دنیا را بر اساس داده های ورودی و خروجی فرودگاه ها،‌فاصله تا ووهان و بقیه پارامتر های دیگر محاسبه کنند.
علاوه بر اینها ویژالیزیشن های بسیار جالبی هم می توانید اینجا ببینید.

@matlabtips
Forwarded from زانکو (Javad Amirian)
دنیای شفافیت

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

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

این جنبش اتفاق بسیار مبارکی است، چون هم امکان بازتولید کارها فراهم می‌شود و در نتیجه به سرعت توسعه‌ی علم کمک میکند و هم حس اعتماد بیشتری در خواننده نسبت به مقاله بوجود می‌آورد، و نتایج برای او باورپذیرتر می‌شوند. نتیجه این که، این مقالات بیشتر دیده خواهند شد و به اعتبار علمی نویسنده کمک خواهد کرد. (در گیت‌هاب، افراد بجای لایک، به یک پروژه ستاره می‌دهند.)

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

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

پانوشت
1. راستش هدفم از طرح این داستان، تبلیغ شخصیت خودم نیست، چون خودم میدانم که انسان مسئولیت‌پذیری نیستم. اما این شفافیت، قطعا من را یک قدم به #مسؤوليت‌پذیری نزدیک خواهد کرد.

2. ما در پروژه #CrowdBot ملزمیم دستاوردهای کارمان را اپن سورس کنیم چون داریم از اتحادیه اروپا که یک نهاد عمومی‌ست تغذیه میکنیم و باید بابت بودجه‌ها #پاسخگو باشیم.

3. قطعا ذهن بیمار من الان دوست دارد یک مثال سیاسی بزند و از ناپاسخگویی مسوولین و عدم شفافیت و این چیزها صحبت کند. کدام عدم شفافیت برادر؟ 🙄
از خودمان شروع کنیم. مطمئنا شفافیت، از ما آدم‌های بزرگ‌تری خواهد ساخت.
#شفاف_باشیم

جواد امیریان
زانکو
@zankoo_ai
🌕چطور برنامه نویس حرفه ای شویم (قسمت ۱)🌕

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

۱- یادگیری Git: سعی کنید حتما گیت را یاد بگیرید. گیت محبوب ترین سیستم کنترل ورژن است که در همه جای دنیا استفاده می شود. با استفاده از گیت می توانید یاد بگیرید چطور کد هایتان را در طول زمان سازماندهی کنید بدون اینکه مجبور باشید کپی های متعدد از آن بسازید و بعد دچار سردرگمی شوید. بهتر است یک اکانت github یا gitlab بسازید و شروع به کار کردن با آن بکنید. این کار علاوه بر اینکه شما را برای کار با برنامه نویسی در یک تیم آماده می کند به شما چیزی را یاد می دهد که از خود گیت فراتر می رود و بسیار ارزشمند است: «کار کوچک تمام شده بهتر از کار بزرگ ناتمام است» مشکل بزرگی که من داشتم و آن این بود که پروژه های زیادی را انجام می دادم ولی هرگز آن ها را تمام نمی کردم یا به اندازه کافی تمیز یا با مستندات نمی ساختم و به همین خاطر کامپیوترم پر بود از پروژه های قدیمی ای که دیگر خودم هم ازشان سر در نمیاورم. قرار دادن کدهایتان بر روی گیتهاب شما را به نحوی متعهد می کند که کار را تمیز انجام دهید چون همیشه به این فکر میکنید که اگر کسی کد من را بر روی اینترنت پیدا کرد چطور می تواند بدون مشکل از آن استفاده کند. این نظم به تدریج به بقیه کارها و پروژه هایتان هم انتقال پیدا میکند و تاثیر خیلی زیادی بر روی کیفیت کلی انجام کارهایتان دارد! اینجا یکی از دوره های خیلی خوب آموزش گیت رو آپلود کردم

۲- کار با Terminal: ممکن است ترجیح بدهید در ویندوز بمانید و کارهایتان را همانجا انجام دهید. چه کاری است خوب وقتی می توانید با رابط کاربری زیبا کار کنید خودتان را درگیر ترمینال زشت و ناخوانا کنید!! همین فکر ها را من هم میکردم. در واقع مقاومت شدید من برای ماندن در ویندوز تا آخرین سنگر پیش رفت زمانی که متوجه شدم انجام کارهایم با سدی بزرگ مواجه شده که از پس رد شدن از آن برنمی آیم. بسیاری از کتابخانه های جدی حتی دیگر برای ویندوز ساپورتی نداشتند. همین باعث شد از سرناچاری به سمت لینوکس بروم. اما بعد از چند ماه متوجه شدم که باید خیلی زودتر این کار را می کردم. همیشه توجه کنید که یک منحنی یادگیری وجود دارد و هیچ چیزی سخت تر نیست! اگر شما از اول از لینوکس استفاده می کردید متوجه می شدید انجام کارها در آن سخت نیست. بهتر است بزودی از comfort zone خارج شوید و از لینوکس استفاده کنید آنگاه متوجه می شوید چقدر کارها ساده تر و تمیز تر انجام می شود. چقدر همه چیز خوب روی هم چفت می شود و چقدر همه چیز درست و اندازه طراحی شده است. آن موقع است که متوجه می شوید تنها مزیت ویندوز نصب بازی های کامپیوتری ست! اولین قدم نصب یک توزیع محبوب مانند ubuntu و بعد یادگیری کار با ترمینال است. البته این بدان معنی نیست که دست به رابط کاربری نمی زنید شما همچنان امکانات کامل رابط کاربری را دارید اما با ترمینال انجام کارها را بسیار راحت می کنید! رابط کاربری لینوکس بسیار قابل انعطاف است و شما می توانید به هر شکلی که دوست دارید آن را تغییر دهید! اینجا یادگیری لینوکس به زبان فارسی با جادی رو یاد بگیرید
🌕چطور برنامه نویس حرفه ای شویم (قسمت ۲)🌕

۳- یادگیری چند زبان: سعی کنید همیشه چند زبان برنامه نویسی بلد باشید اگر با پایتون یا متلب راحت ترید سعی کنید سراغ زبان های سطح پایین تر مانند سی یا جاوا بروید. یا برعکس. این کار به شما کمک می کند که بیش از حد به سینتکس یک زبان وابسته نباشید بلکه در الگوریتم ها و فرآیند ها فکر کنید. هر زبان امکانات خاصی به شما میدهد اما نباید این امکانات چارچوب های ذهنی شما را ببندد. به طور مثال من جدیدا با زبان Go آشنا شدم و متوجه شدم که بسیاری از کارهایی که به زحمت می توان به صورت همروند (موازی)‌ در زبان پایتون نوشت در این زبان به راحتی قابل انجام است. چند زبان یاد بگیرید اما در انجام این کار اسراف نکنید. بسیاری از برنامه نویسان مبتدی تصور می کنند هر چقدر بیشتر زبان برنامه نویسی بلد باشند حرفه ای تر هستند اما چنین چیزی صحت ندارد. برنامه نویسان حرفه ای معمولا یکی دو زبان را بسیار خوب بلدند چند زبان را متوسط و ذهن بسیار منعطف و آماده ای برای یادگیری بقیه زبان ها دارند. فراموش نکنید زبان های برنامه سازی تنها ابزار هستند اما این ذهن شماست که همزمان نباید مجموعه ای از ابزار باشد و نباید به یک ابزار بیش از حد عادت کند.

۴- یادگیری اصول برنامه نویسی: هر قدر روی این موضوع تاکید کنم باز هم کم کاری کرده ام. نوشتن کد تمیز و خوانا به هیچ وجه کار ساده ای نیست. شما به راحتی می توانید کدی بنویسید که کارتان را سریع راه بیندازد و این به هوش متوسطی نیاز دارد اما نوشتن کدی که دیگران هم بفهمند قابل گسترش باشد و ساختار زیبایی داشته باشد طوری که بتوان آن را برای مدت ها استفاده کرد به هوش بالا و مهمتر از آن به وقت گذاشتن نیاز دارد. سعی کنید از هر پارادیمی که استفاده می کنید کد هایتان «تمیز» باشد. نوشتن کد تمیز یک چیز لوکس نیست! یک نیاز بسیار اساسی است. حتی اگر زمان شما کم است باید باز هم کدتان تمیز باشد. برنامه نویس باهوش و حرفه ای کدهایش را سمبل نمی کند تا دو ماه بعد در آشفته بازاری از کدهای در هم و برهم گم شود و بیشتر وقتش تلف شود. این کار درست مانند معماری است شما باید آن را تا جای ممکن درست انجام دهید و مرتب برگردید و تمیز کنید طوری که مانند یک بنا از بیرون به زیبایی آن افتخار کنید. یکی از منابع بسیار خوب برای یادگیری روش ها و اصول کد تمیز کتاب معروف clean code نوشته رابرت مارتین است
🌕چطور برنامه نویس حرفه ای شویم (قسمت ۳)🌕

۴- یک چارچوب GUI (رابط کابری) یاد بگیرید: وقتی برای اولین بار به عنوان متخصص دیتاساینس برای شرکتی کار میکردم تصور من مانند هر کس دیگری این بود که بالاخره زمان آن رسیده است که دیتا ها را بگیرم و تمام تمرکزم را بر روی ایده های الگوریتمی بگذارم تا بهترین خروجی ها را داشته باشم. چنین چیزی برای متخصصان نرم افزار هم صدق می کند آن ها دوست دارند تمام مدت کد به اصطلاح backend بزنند. چند ماه گذشت و از نظر خودم نتایج خوبی گرفته بودم اما خروجی هایم به چند جدول و عدد خلاصه می شد و این چیزی نبود که برای مدیران بالادستی من خیلی هیجان انگیز باشد! دقت مدل من به ۸۵ درصد رسیده است! خب که چی؟ این وضعیت باعث می شد آن ها تصور کنند بازدهی من پایین است. همان روز برگشتم و شروع به طراحی رابط کاربری جذاب با نمودار های interactive کردم. چیزی که حداکثر دو یا سه روز وقت می گرفت اما نتیجه شگفت انگیز شد! ناگهان همه خوشحال شدند و جلسه گذاشتند و از کارم تقدیر کردند!! برای من چیزی عوض نشده بود ولی برای آن ها همه چیز عوض شده بود!! اگر حتی کار پژوهشی می کنید بهترین راه برای ارایه حتی برای همکارانتان که هم تخصص شما هستند نه نشان دادن کدهایتان که ارایه کار به صورت نمودار ها و رابط کاربری جذاب است! در میزان اثر این کار نمی توان اغراق کرد. سعی کنید علاوه بر یادگیری روش درست کد زدن روش تبلیغ آن را هم یاد بگیرید. یک کار قوی با ارایه ضعیف نابود شده و یک کار متوسط با ارایه قوی ماندگار و گسترده می شود. در یک شرکت بزرگ قطعا طراحی رابط کاربری بر عهده متخصص آن است اما حتی همانجا نیاز دارید نشان دهید بخشی که کار شماست، چیست.
برای این منظور به شما یادگیری streamlit یا dash برای پایتون را توصیه می کنم(هر دو بسیار ساده اند). سعی کنید بر روی این چیزها کمی وقت بگذارید اما اگر نتایج ان را حتی یک بار ببینید قطعا نظرتان را عوض می کند
یکی از کاربردهای جالب شبکه های عصبی عمیق در ظرفیت بالای آنها در نگهداری اطلاعات در مورد جهان است. همین موضوع کمک میکند تا بتوان اطلاعاتی که در ورودی ها وجود ندارد به آن ها اضافه کرد. رنگ زدن عکس های قدیمی یکی از جالب ترین کاربردهاست. این ریپو این کار را برای عکس و حتی فیلم انجام می دهد.

https://github.com/jantic/DeOldify
Forwarded from زانکو (Rohola Zandie)
نقشه ریاضیات

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

https://www.quantamagazine.org/the-map-of-mathematics-20200213/
طبیعت محاسبه چیست؟ اصلا الگوریتم یعنی چه؟ چنین سوالاتی که بیشتر شبیه به سوالات فلسفی بیهوده بنظر می رسند اساس و بنیاد علوم کامپیوتر هستند و آن را به بنیادهای ریاضیات پیوند می زند. نقاطی که ما به جای تلاش برای یادگیری زبان های برنامه نویسی یا حتی بهتر کردن الگوریتم ها، سوالاتی در مورد اساسی ترین موضوعات مربوط به ماهیت مسایل و الگوریتم ها میپرسیم. آیا تمام مسایل ممکن که خوش تعریف هم هستند الگوریتم دارند؟ پاسخ به چنین سوالاتی در نهایت ما را به سوالات شاید به روز تر در مورد هوش مصنوعی و نحوه کارکرد ذهن برمیگرداند

https://vrgl.ir/YgxFz
دو وظیفه بسیار دشوار در پردازش زبان طبیعی تنها در چند خط!!

اگر چند سال پیش کسی به من چنین کدی را نشان میداد که در آن ترجمه از انگلیسی به فرانسه و پرسش از روی متن ورودی تنها در چند خط کد انجام شده قطعا میگفتم مربوط به یک فیلم تخیلی باید باشد اما امروزه به کمک مدلهای از پیش آموزش داده شده بر روی داده های عظیم اینترنت. مدلهای بهتر و صد البته ابزارهای بسیار توانایی مانند huggingface و fairseq بر روی چارچوب بسیار قدرتمند pytorch چنین کدهایی ممکن شده است!
🎲 Quiz 'کویز پایتون'
🖊 1 question · 1 min