کشاورزی ماشینی

مهندسی مکانیک بیوسیستم

مهندسی مکانیک بیوسیستم

امیدی ارجنکی
دکتری مهندسی مکانیک بیوسیستم

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

آخرین نظرات

۱۰ مطلب با موضوع «محاسبات نرم» ثبت شده است

Apache Spark یک فریم‌ورک محاسباتی توزیع‌شده است که برای پردازش داده‌های بزرگ و پیچیده طراحی شده است. PySpark یک رابط کاربری برای برنامه‌نویسی با Apache Spark در زبان پایتون است که امکاناتی را برای انجام پردازش داده‌های توزیع‌شده، تحلیل داده‌ها، یادگیری ماشین و برنامه‌نویسی شبکه‌های عصبی ارائه می‌دهد. PySpark شامل یک مجموعه کامل از کتابخانه‌ها و ابزارهای پردازش داده، مانند Spark SQL، Spark Streaming و MLlib است. با استفاده از PySpark می‌توانید از قابلیت‌های Apache Spark برای پردازش داده‌های بزرگ استفاده کنید و از قدرت پردازش توزیع‌شده و سرعت بالا آن بهره‌مند شوید.

 

Hadoop Distributed File System (HDFS)، در Apache Hadoop پیاده سازی شده است و به عنوان یک فضای ذخیره سازی توزیع شده برای داده های ساختارمند و نا ساختارمند استفاده می شود. HDFS، فایل ها را به بخش های کوچکتر تقسیم می کند و این بخش ها را روی چندین سرور توزیع می کند تا امکان انتقال و پردازش داده ها به صورت موازی فراهم شود.

 

YARN (Yet Another Resource Negotiator) یک مدیر منابع در Apache Hadoop است که برای مدیریت منابع سیستم پوشش داده مورد استفاده قرار می‌گیرد. YARN به عنوان یک سلسله مراتبی از قابلیت‌های مدیریت منابع عمل می‌کند و در شبکه‌های بزرگ توزیع‌شده اجرا می‌شود. یکی از ویژگی‌های کلیدی YARN قابلیت اجرای برنامه‌های توزیع شده است. Spark برای اجرای پردازش داده در یک محیط توزیع‌شده از همان ساختار YARN برای مدیریت منابع استفاده می‌کند. با استفاده از Spark، می‌توانید برنامه‌های پردازش داده خود را برای پردازش داده‌های بزرگ و پیچیده طراحی کنید. بنابراین، Spark می‌تواند به عنوان یک محاسبات توزیع‌شده برای انجام پردازش داده بر روی Hadoop و برخی سایر پلتفرم‌های توزیع‌شده مورد استفاده قرار گیرد و از YARN برای مدیریت منابع استفاده می‌کند. در این روش، Spark به صورت بیشتر برای پردازش داده در حافظه (in-memory) و پردازش داده‌های پیچیده، مانند پردازش گراف‌ها، به کار می‌رود.

 

داده‌های رابطه‌ای (Relational Data)، داده‌هایی هستند که به صورت جداول مرتبط با یکدیگر، با نام ستون‌ها و ردیف‌ها ذخیره می‌شوند و اطلاعات مهمی را در مورد ارتباطات بین اجزای مختلف داده ارائه می‌دهند. در این نوع داده‌ها، توجه به روابط و ارتباطات بین داده‌ها و اطلاعاتی که ممکن است به صورت مشترک در داده‌ها تکرار شوند، بسیار مهم است. داده‌های رابطه‌ای معمولاً در پایگاه‌داده‌های رابطه‌ای مانند MySQL، Oracle و SQL Server ذخیره می‌شوند.

 

داده‌های غیررابطه‌ای (Non-Relational Data) یا همان داده‌های NoSQL، داده‌هایی هستند که در قالب مختلفی ذخیره می‌شوند و روابط بین داده‌ها به صورت سلسله‌مراتبی، شبکه‌ای و یا سند‌محور است. این نوع داده‌ها برای پردازش داده‌های بزرگ و پیچیده کارآمدترند. در داده‌های غیررابطه‌ای، تمرکز بیشتر بر روی سرعت و کارایی است و بیشتر در مواردی مانند وب‌سایت‌ها، بانک‌های اطلاعاتی ابری و سیستم‌های توزیع‌شده استفاده می‌شوند. مثال‌هایی از داده‌های غیررابطه‌ای شامل MongoDB، Cassandra، Couchbase و Redis می‌شوند.

 

Pipeline پردازش کلان داده به معنای طراحی و پیاده‌سازی یک سری عملیات پردازشی متوالی است که برای تبدیل داده‌های بزرگ و پیچیده به اطلاعات مفید و قابل استفاده استفاده می‌شود.

Python و Pyspark به عنوان زبان برنامه‌نویسی بسیار قدرتمند و محبوب در زمینه پردازش کلان داده مورد استفاده قرار می‌گیرند. با استفاده از این دو زبان، می‌توان عملیات مختلفی را روی داده‌های بزرگ انجام داد و از پتانسیل پردازشی و قابلیت‌های بالای این زبان‌ها در این زمینه بهره برد.

Pipeline پردازش کلان داده شامل مراحلی مانند:

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

در هر مرحله از Pipeline پردازش کلان داده، از ابزارهای متفاوتی برای انجام این عملیات استفاده می‌شود. برای مثال، برای جمع‌آوری داده‌ها می‌توان از ابزارهایی مانند Apache Kafka، RabbitMQ و یا Redis استفاده کرد. برای پیش‌پردازش داده‌ها، می‌توان از کتابخانه‌های مختلفی مانند NumPy، Pandas و یا Scikit-learn استفاده کرد.

۰ نظر موافقین ۰ مخالفین ۰ ۱۵ فروردين ۰۲ ، ۰۹:۲۷

شبکه های AE (Autoencoder) و GAN (Generative Adversarial Networks) در حوزه یادگیری ماشین و بینایی ماشینی استفاده می شوند. این دو شبکه به دو رویکرد متفاوت برای یادگیری نمایش داده ها و ساخت داده های جدید متکی هستند. در ادامه به بررسی مقایسه این دو شبکه پرداخته می شود:

 

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

 

GAN (Generative Adversarial Networks):
GAN یک شبکه عصبی مولد است که به منظور تولید داده های جدید بر اساس یادگیری توزیع احتمالی داده های ورودی به کار می رود. GAN دارای دو شبکه متفاوت است. یکی از این شبکه ها مولد است که داده های جدید تولید می کند، و دیگری شبکه بحرانی یا تشخیص دهنده است که سعی می کند داده های واقعی را از داده های تولیدی تشخیص دهد. دو شبکه با هم در یک فرایند آموزشی بر اساس مینیمم کردن یک تابع هدف متقابل آموزش داده می شوند تا مولد بتواند داده های جدید را به صورتی که شباهت زیادی با داده های واقعی داشته باشند، به طوری که تشخیص دهنده نتواند آن ها را از داده های تولیدی تشخیص دهد. با آموزش GAN، می توان داده های جدید و واقعی سازی شده را تولید کرد که بسیار مفید در بسیاری از حوزه هایی مانند تصویر سازی، طراحی، تبلیغات، بازی های رایانه ای و... هستند.

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ اسفند ۰۱ ، ۰۸:۱۰


✅ در پیش بینی های آینده، برخی از سرنخ ها در مورد آینده کشاورزی جهان ارائه شده است. داستان را خلاصه کنم: همه چیز درباره روبات هاست.


✅ ربات ها در کشاورزی؛ از هواپیماهای بدون سرنشین گرفته تا ربات های برداشت کننده محصولات، صنعتی که وظیفه سیر نگه داشتن شما را دارد در حال تبدیل شدن به یک صنعت کاملاً تحت سلطه ماشین آلات رباتی است.


۰ نظر موافقین ۰ مخالفین ۰ ۲۸ مرداد ۹۶ ، ۱۴:۱۶
در الگوریتم FCM، تعداد c مرکز (C1…Cc) در مجموعه به تصادف انتخاب میشود.
سپس درجه عضویت اعضا (xi) در هر خوشه تعیین (ui,j) و در مرحله بعد مراکز خوشه ها طبق رابطه زیر بروز میشوند و اینکار آنقدر ادامه خواهد داشت تا در مراکز کلاستر ها یا خوشه ها تغییر محسوسی صورت نگیرد (همگرایی):


۰ نظر موافقین ۰ مخالفین ۰ ۰۱ فروردين ۹۶ ، ۱۴:۱۲

سؤال: چه فرقی بین منطق فازی نوع اول و منطق فازی نوع دوم وجود دارد؟


۱ نظر موافقین ۰ مخالفین ۰ ۲۰ بهمن ۹۲ ، ۱۷:۰۷

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



نرم افزار را که میخواستم شروع کنم مطمئن بودم که به نتیجه خواهم رسید چون اصلیات و کلیات کار را قبلا پیگیری کرده بودم. خلاصه اینکه نزدیک یک هفته کامل به صورت شبانه روزی وقتم را گرفت و حدود 90 درصد نتیجه گرفتم. خدا را شکر. از خدا خیلی ممنونم که یاریم کرد. نتیجه گرفتن اینکار برایم یک موفقیت خیلی خوب بود.

۱ نظر موافقین ۰ مخالفین ۰ ۱۰ دی ۹۲ ، ۰۰:۳۳

در پست های قبلی این کار را با شبکه معمولی پیش خور و همینگ انجام دادیم. با روش هاپفیلد نتایج بهتری کسب خواهیم کرد.



۲ نظر موافقین ۰ مخالفین ۰ ۲۲ آذر ۹۲ ، ۰۰:۳۲
در پست های قبل همین پروژه را با شبکه عصبی معمولی پیش خور انجام دادیم که نتایج آن چنگی به دل نمیزد. در این پست همین کار را با شبکه عصبی همینگ انجام میدیم. دقت کنید که کد این نوع شبکه در متلب نوشته شده است.




۲ نظر موافقین ۰ مخالفین ۰ ۲۲ آذر ۹۲ ، ۰۰:۲۴


برای تمرین شبکه عصبی مصنوعی در نرم افزار متلب با استفاده از nntool میتوان مسئله زیر را حل کرد:

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ آذر ۹۲ ، ۲۰:۰۷

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

همچنین لینک دانلود نرم افزاری که در کلاس در این مورد ارائه کردم هم در انتهای پست قرار دادم.


اما درخت تصمیم گیری ....

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

decision tree


۰ نظر موافقین ۰ مخالفین ۰ ۲۱ اسفند ۹۱ ، ۰۸:۲۱