ساخت و استقرار یک برنامه تشخیص رقم MNIST با Pytorch و Streamlit

تشخیص رقم دست نویس یک مشکل یادگیری ماشین کلاسیک است و در این آموزش ، من در مورد چگونگی ساخت یک برنامه ساده و در عین حال قدرتمند برای حل آن صحبت خواهم کرد. با استفاده از Pytorch برای مدل و جریان برای رابط ، من برنامه ای ایجاد کرده ام که می تواند رقم دست نویس را در زمان واقعی تشخیص دهد.
کاری که من انجام داده ام:
- تنظیم: کتابخانه های لازم را نصب کرد.
- ساخت مدل: یک شبکه عصبی حلقوی (CNN) طراحی شده است.
- آموزش: مدل را در مجموعه داده MNIST آموزش داده است.
- ایجاد برنامه: یک رابط کاربر پسند با streamlit ایجاد کرد.
- استقرار: میزبان برنامه در ابر ابر است.
چرا این پروژه؟
با انجام این کار بیاموزید: روشی مفید برای درک CNN ها و استقرار.
مهارت های خود را به نمایش بگذارید: مناسب برای نمونه کارها یا رزومه کاری خود.
کاربرد دنیای واقعی: نشان می دهد که چگونه یادگیری ماشین می تواند مشکلات عملی را حل کند.
مرحله 1: تنظیم
من از Pytorch برای مدل ، StreamLit برای برنامه و چند کتابخانه دیگر برای پردازش داده استفاده کرده ام ، آنها را با یک دستور نصب PIP ساده نصب کرده ام.
مرحله 2: ساخت مدل
مدل CNN من ساده و در عین حال مؤثر است. این دو لایه حلقوی برای استخراج ویژگی و لایه های کاملاً متصل برای طبقه بندی است.
مرحله 3: آموزش مدل
من این مدل را در مجموعه داده MNIST ، که شامل 60،000 رقم دست نویس است ، آموزش داده ام. پس از تنها 10 دوره ، این مدل به دقت 98 ٪ چشمگیر در مجموعه آزمون دست یافت.
مرحله 4: ایجاد برنامه
با استفاده از streamlit ، من یک رابط تمیز و بصری ایجاد کرده ام. کاربران می توانند تصویری از یک رقم دست نوشته را بارگذاری کنند و برنامه رقم پیش بینی شده را به همراه اعتماد به نفس مدل نمایش می دهد.
مرحله 5: استقرار برنامه
سرانجام ، من برنامه را برای پخش ابر مستقر کرده ام و آن را برای هر کسی که دارای پیوند اینترنتی باشد ، در دسترس قرار داده است. استقرار سریع و بدون دردسر است-برای به اشتراک گذاشتن کار با جهان.
پایان
این پروژه روشی خارق العاده برای شیرجه رفتن به یادگیری ماشین و توسعه برنامه است. چه مبتدی باشید و چه یک توسعه دهنده باتجربه ، چیز جدیدی یاد خواهید گرفت و در طول مسیر از آن لذت خواهید برد.
می توانید کد کامل را در GitHub پیدا کنید. احساس راحتی کنید که مخزن را چنگ بزنید ، آزمایش کنید و نتایج خود را به اشتراک بگذارید!
اگر سؤال یا بازخورد دارید ، نظر خود را در زیر بگذارید.