Programmer
فرض کنید ویدئویی به زبان انگلیسی دارید که زیر نویس فارسی نداره و زبانتون هم به اندازه ی ترجمه کردن ویدئو خوب نیست این کد دقیقاً چیکار میکنه؟ 🎧 صدای داخل دسکتاپ رو ضبط میکنه 🧠 بعدش صدا رو میفرسته به مدل Whisper برای تبدیل گفتار به متن 🌍 و در نهایت متن…
برای اجرای این برنامه اول این دو رو نصب کنید 🙏🙏
۱. FFmpeg
این برنامه FFmpeg یک ابزار متنبازه برای پردازش فایلهای صوتی و تصویری
کاربرد :
تبدیل فرمتها (مثلاً MP3 به WAV یا MP4 به AVI)
ضبط صدا و تصویر
استخراج صدا از ویدئو
اعمال افکتهای ساده یا پیچیده روی صدا و تصویر
نصب روی ویندوز:
به سایت رسمی FFmpeg برو:
https://ffmpeg.org/download.html
نسخهی Windows (Static Build) را دانلود کن.
فایل ZIP را استخراج کن، مثلاً به مسیر C:\ffmpeg\.
مسیر C:\ffmpeg\bin را به Environment Variables ویندوز اضافه کن تا از خط فرمان (Command Prompt) قابل دسترسی باشد.
در CMD تایپ کن:
ffmpeg -version
اگر اطلاعات نسخه نمایش داده شد، نصب درست انجام شده.
۲. Virtual Audio Cable (VAC)
این برنامه Virtual Audio Cable یک نرمافزار برای ایجاد دستگاه صوتی مجازی در ویندوزه . با این ابزار میتونی صدا را بین برنامهها منتقل یا روت کنی بدون اینکه نیاز به کابل فیزیکی باشه
کاربردها:
ضبط صدای کامپیوتر
انتقال صدا از یک نرمافزار به نرمافزار دیگر (مثلاً از موزیک پلیر به OBS)
میکس صداهای مختلف
نصب:
به سایت رسمی برو:
https://vac.muzychenko.net/en/
نسخهی مناسب ویندوز رو دانلود و نصب کن.
پس از نصب، یک یا چند دستگاه صوتی مجازی ایجاد میشود (مثلاً Line 1).
در تنظیمات صوتی برنامهها، میتوانی این خط مجازی را به عنوان ورودی یا خروجی صدا انتخاب کنی.
۱. FFmpeg
این برنامه FFmpeg یک ابزار متنبازه برای پردازش فایلهای صوتی و تصویری
کاربرد :
تبدیل فرمتها (مثلاً MP3 به WAV یا MP4 به AVI)
ضبط صدا و تصویر
استخراج صدا از ویدئو
اعمال افکتهای ساده یا پیچیده روی صدا و تصویر
نصب روی ویندوز:
به سایت رسمی FFmpeg برو:
https://ffmpeg.org/download.html
نسخهی Windows (Static Build) را دانلود کن.
فایل ZIP را استخراج کن، مثلاً به مسیر C:\ffmpeg\.
مسیر C:\ffmpeg\bin را به Environment Variables ویندوز اضافه کن تا از خط فرمان (Command Prompt) قابل دسترسی باشد.
در CMD تایپ کن:
ffmpeg -version
اگر اطلاعات نسخه نمایش داده شد، نصب درست انجام شده.
۲. Virtual Audio Cable (VAC)
این برنامه Virtual Audio Cable یک نرمافزار برای ایجاد دستگاه صوتی مجازی در ویندوزه . با این ابزار میتونی صدا را بین برنامهها منتقل یا روت کنی بدون اینکه نیاز به کابل فیزیکی باشه
کاربردها:
ضبط صدای کامپیوتر
انتقال صدا از یک نرمافزار به نرمافزار دیگر (مثلاً از موزیک پلیر به OBS)
میکس صداهای مختلف
نصب:
به سایت رسمی برو:
https://vac.muzychenko.net/en/
نسخهی مناسب ویندوز رو دانلود و نصب کن.
پس از نصب، یک یا چند دستگاه صوتی مجازی ایجاد میشود (مثلاً Line 1).
در تنظیمات صوتی برنامهها، میتوانی این خط مجازی را به عنوان ورودی یا خروجی صدا انتخاب کنی.
👍2❤1
⏰ معرفی :
مقاله «StreamingVLM» از MIT راهی تازه برای فهم بیپایان ویدیوها معرفی میکند. بهجای پردازش سنگین همه فریمها، مدل فقط بخشهای مهم حافظه را نگه میدارد و مثل انسان جریان تصویر را لحظهبهلحظه دنبال میکند. با روشی ساده در آموزش، مدل یاد میگیرد همیشه در حال تماشاست، نه مرور گذشته.
نتیجه؟
درک پایدار، سریع و زنده از ویدیوهایی با ساعتهای طولانی .به طور کلی در مدلهای معمولی، ما کل ورودی رو یکجا میدیم (مثلاً کل ویدیو یا کل جمله).
🫂 به زبان ساده
مدل بتونه ورودیهای بیپایان یا خیلی بلند رو در لحظه بخونه،
بدون اینکه حافظه یا محاسبهاش بینهایت رشد کنه.
مثلا :
ویدیوها جریان بیپایان دارن (مثل دوربین نظارتی)
صداها یا گفتار هایی که زنده هستن (tts یا asr)
متن هم میتونه بیوقفه بیاد (چت، ترجمه همزمان، و غیره)
مشکل اینه که attention در ترنسفورمرها هزینهاش O(n²) هست و اگه کل ورودی رو نگه داری، مدل خفه میشه از حجم داده.
حالا StreamingVLM راهحلش این بود:
حافظه رو خلاصه نگه دار، و فقط بخشهای کلیدی (recent + sinks + context) رو نگه دار
https://huggingface.co/papers/2510.09608
مقاله «StreamingVLM» از MIT راهی تازه برای فهم بیپایان ویدیوها معرفی میکند. بهجای پردازش سنگین همه فریمها، مدل فقط بخشهای مهم حافظه را نگه میدارد و مثل انسان جریان تصویر را لحظهبهلحظه دنبال میکند. با روشی ساده در آموزش، مدل یاد میگیرد همیشه در حال تماشاست، نه مرور گذشته.
نتیجه؟
درک پایدار، سریع و زنده از ویدیوهایی با ساعتهای طولانی .به طور کلی در مدلهای معمولی، ما کل ورودی رو یکجا میدیم (مثلاً کل ویدیو یا کل جمله).
🫂 به زبان ساده
مدل بتونه ورودیهای بیپایان یا خیلی بلند رو در لحظه بخونه،
بدون اینکه حافظه یا محاسبهاش بینهایت رشد کنه.
مثلا :
ویدیوها جریان بیپایان دارن (مثل دوربین نظارتی)
صداها یا گفتار هایی که زنده هستن (tts یا asr)
متن هم میتونه بیوقفه بیاد (چت، ترجمه همزمان، و غیره)
مشکل اینه که attention در ترنسفورمرها هزینهاش O(n²) هست و اگه کل ورودی رو نگه داری، مدل خفه میشه از حجم داده.
حالا StreamingVLM راهحلش این بود:
حافظه رو خلاصه نگه دار، و فقط بخشهای کلیدی (recent + sinks + context) رو نگه دار
https://huggingface.co/papers/2510.09608
huggingface.co
Paper page - StreamingVLM: Real-Time Understanding for Infinite Video Streams
Join the discussion on this paper page
❤3🕊1
برای دوستان رباتیک
🤖 تشخیص اشیاء با YOLOv8
این پروژه یک نگاه به مدله YOLOv8 (You Only Look Once) هستش ؛
مدلی که تنها با یک بار نگاه کردن به تصویر، تمام اشیاء رو شناسایی میکنه
با استفاده از YOLO و OpenCV میتونید:
✅ اشیاء رو در تصاویر و ویدیوها تشخیص بدید
✅ موقعیت دقیق هر شیء (Bounding Box) رو ببینید
✅ حتی پروژههاتون رو به حالت Real-Time (زنده) گسترش بدید!
دسترسی به کد و توضیحات مدل
https://github.com/ArtemisAsadii/yolov8-object-detection.git
#YOLO #AI #MachineLearning #ComputerVision #Python #Ultralytics
🤖 تشخیص اشیاء با YOLOv8
این پروژه یک نگاه به مدله YOLOv8 (You Only Look Once) هستش ؛
مدلی که تنها با یک بار نگاه کردن به تصویر، تمام اشیاء رو شناسایی میکنه
با استفاده از YOLO و OpenCV میتونید:
✅ اشیاء رو در تصاویر و ویدیوها تشخیص بدید
✅ موقعیت دقیق هر شیء (Bounding Box) رو ببینید
✅ حتی پروژههاتون رو به حالت Real-Time (زنده) گسترش بدید!
دسترسی به کد و توضیحات مدل
https://github.com/ArtemisAsadii/yolov8-object-detection.git
#YOLO #AI #MachineLearning #ComputerVision #Python #Ultralytics
GitHub
GitHub - ArtemisAsadii/yolov8-object-detection: Object detection project using YOLOv8 and OpenCV for real-time image analysis
Object detection project using YOLOv8 and OpenCV for real-time image analysis - ArtemisAsadii/yolov8-object-detection
❤5👌1
Programmer
برای دوستان رباتیک 🤖 تشخیص اشیاء با YOLOv8 این پروژه یک نگاه به مدله YOLOv8 (You Only Look Once) هستش ؛ مدلی که تنها با یک بار نگاه کردن به تصویر، تمام اشیاء رو شناسایی میکنه با استفاده از YOLO و OpenCV میتونید: ✅ اشیاء رو در تصاویر و ویدیوها تشخیص…
Media is too big
VIEW IN TELEGRAM
این هم یک نمونه از تشخیص اشیاء این مدل
در اینجا ما یک ویدئو به مدل دادیم و با کمک این مدل تونستیم اشیاء داخل ویدئو رو تشخيص بدیم
البته فاجعه ی انسانی داخل ویدئو هم موضوع قابل بحثی هستش 😂🙏
در اینجا ما یک ویدئو به مدل دادیم و با کمک این مدل تونستیم اشیاء داخل ویدئو رو تشخيص بدیم
البته فاجعه ی انسانی داخل ویدئو هم موضوع قابل بحثی هستش 😂🙏
🔥3❤2🦄2
📚 مقالک
چرا بعضی کتابخونهها توی Google Colab نصب نمیشن؟
گاهی اوقات هر کاری میکنیم، یه کتابخونه نصب نمیشه!
یکی از دلایل اصلیش اینه که نسخهی Python فعلی با اون کتابخونه سازگار نیست.
بهصورت پیشفرض، Colab از Python 3.12 استفاده میکنه،
اما بعضی کتابخونهها (مثل TensorFlow، PyTorch یا OpenCV قدیمی) فقط با نسخههای پایینتر مثل 3.10 درست کار میکنن.
🔹 ۱. بررسی نسخه فعلی Python:
اگه خروجی چیزی مثل Python 3.12.x بود یعنی Colab داره از نسخه ۳.۱۲ استفاده میکنه.
🔹 ۲. نصب Python 3.10 و ابزارهای لازم:
🔹 ۳. ساخت محیط مجازی با Python 3.10:
🔹 ۴. تست فعالسازی محیط (اختیاری):
اگه خروجی Python 3.10.x بود یعنی محیط مجازی درست ساخته شده
چرا بعضی کتابخونهها توی Google Colab نصب نمیشن؟
گاهی اوقات هر کاری میکنیم، یه کتابخونه نصب نمیشه!
یکی از دلایل اصلیش اینه که نسخهی Python فعلی با اون کتابخونه سازگار نیست.
بهصورت پیشفرض، Colab از Python 3.12 استفاده میکنه،
اما بعضی کتابخونهها (مثل TensorFlow، PyTorch یا OpenCV قدیمی) فقط با نسخههای پایینتر مثل 3.10 درست کار میکنن.
🔹 ۱. بررسی نسخه فعلی Python:
!python --version
اگه خروجی چیزی مثل Python 3.12.x بود یعنی Colab داره از نسخه ۳.۱۲ استفاده میکنه.
🔹 ۲. نصب Python 3.10 و ابزارهای لازم:
!sudo apt-get update
!sudo apt-get install python3.10-venv python3.10-distutils -y
🔹 ۳. ساخت محیط مجازی با Python 3.10:
!python3.10 -m venv py310
🔹 ۴. تست فعالسازی محیط (اختیاری):
!source py310/bin/activate
!python --version
اگه خروجی Python 3.10.x بود یعنی محیط مجازی درست ساخته شده
❤3👍1
Agent.pdf
1.5 MB
فهرست مطالب جزوه :
1) What is an agent?
تعریف ایجنتها و تفاوت آنها با نرمافزارهای خودکار سنتی.
2) When should you build an agent?
چه زمانی ی agent میسازیم
3) Agent design foundations
سه مؤلفه اصلی طراحی ایجنتها: مدل (LLM)، ابزارها و دستورالعملها.
4) Guardrails
مکانیزمهای امنیتی برای جلوگیری از رفتارهای ناخواسته
5) مثال و ساخت agent با کمک agent SDK
6) در آخر هم agent SDK رو با Langgraph, langchain مقايسه کردم
1) What is an agent?
تعریف ایجنتها و تفاوت آنها با نرمافزارهای خودکار سنتی.
2) When should you build an agent?
چه زمانی ی agent میسازیم
3) Agent design foundations
سه مؤلفه اصلی طراحی ایجنتها: مدل (LLM)، ابزارها و دستورالعملها.
4) Guardrails
مکانیزمهای امنیتی برای جلوگیری از رفتارهای ناخواسته
5) مثال و ساخت agent با کمک agent SDK
6) در آخر هم agent SDK رو با Langgraph, langchain مقايسه کردم
❤4
دوستان رباتیکم برای استفاده از B4A بدون نیاز به نصب android studio
فایل های zip زیر را دانلود کنید و بعد از دانلود مراحل زیر رو برای استفاده از این برنامه اجرا کنید
📎لینک اول
📎 لینک دوم
خود برنامه
برای دانلود command tools هم به این 📎لینک مراجعه کنید
به پایین صفحه بروید، قسمت
Command line tools only
فایل مناسب سیستم عامل خودتون رو پیدا کرده و دانلود کنید
مراحل اجرا :
1️⃣ نصب Java (OpenJDK 19 + OpenJFX)
فایل jdk-19 رو پس از دانلود در
مسیر پیشنهادی: C:\Java قرار دهید
یعنی داخل c ی فایل با نام Java بساز و اون فایل رو داخلش استخراج کن
نیازی به نصب نداره فقط استخراج کنید
2️⃣ نصب Android SDK + منابع لازم
Android SDK Command line tools (13114758)
Required resources (7_25)
هر دو رو در C:\Android استخراج کن
نیازی به اجرای B4A SDK Manager نیست مگر برای emulator.
3️⃣ نصب و تنظیم B4A
نسخه کامل B4A Full Version رو از لینک بالا دانلود کن.
بعد از اجرا، برو به:
Tools → Configure Paths
و تنظیم کن:
javac.exe → C:\java\jdk-19.0.2\bin\javac.exe
android.jar → C:\Android\platforms\android-36\android.jar
اختیاری (برای emulator):
sdkmanager.bat → C:\Android\cmdline-tools\bin\sdkmanager.bat
🔘 لایسنسها رو قبول کن.
نصب و اتصال B4A-Bridge (پیشنهادی)
📲 از Google Play یا AppGallery بگیر: B4A Bridge
یا مستقیماً apk رو از سایت رسمی دانلود کن.
🔓 نصب از منابع ناشناس رو فعال کن (Settings > Security).
📡 گوشی و B4A رو وصل کن:
Tools → B4A Bridge → Connect
حالا میتونی اولین app رباتیک اندرویدت رو بسازی 😎👌
فایل های zip زیر را دانلود کنید و بعد از دانلود مراحل زیر رو برای استفاده از این برنامه اجرا کنید
📎لینک اول
📎 لینک دوم
خود برنامه
برای دانلود command tools هم به این 📎لینک مراجعه کنید
به پایین صفحه بروید، قسمت
Command line tools only
فایل مناسب سیستم عامل خودتون رو پیدا کرده و دانلود کنید
مراحل اجرا :
1️⃣ نصب Java (OpenJDK 19 + OpenJFX)
فایل jdk-19 رو پس از دانلود در
مسیر پیشنهادی: C:\Java قرار دهید
یعنی داخل c ی فایل با نام Java بساز و اون فایل رو داخلش استخراج کن
نیازی به نصب نداره فقط استخراج کنید
2️⃣ نصب Android SDK + منابع لازم
Android SDK Command line tools (13114758)
Required resources (7_25)
هر دو رو در C:\Android استخراج کن
نیازی به اجرای B4A SDK Manager نیست مگر برای emulator.
3️⃣ نصب و تنظیم B4A
نسخه کامل B4A Full Version رو از لینک بالا دانلود کن.
بعد از اجرا، برو به:
Tools → Configure Paths
و تنظیم کن:
javac.exe → C:\java\jdk-19.0.2\bin\javac.exe
android.jar → C:\Android\platforms\android-36\android.jar
اختیاری (برای emulator):
sdkmanager.bat → C:\Android\cmdline-tools\bin\sdkmanager.bat
🔘 لایسنسها رو قبول کن.
نصب و اتصال B4A-Bridge (پیشنهادی)
📲 از Google Play یا AppGallery بگیر: B4A Bridge
یا مستقیماً apk رو از سایت رسمی دانلود کن.
🔓 نصب از منابع ناشناس رو فعال کن (Settings > Security).
📡 گوشی و B4A رو وصل کن:
Tools → B4A Bridge → Connect
حالا میتونی اولین app رباتیک اندرویدت رو بسازی 😎👌
❤2
Traefik.docx
684.6 KB
موضوع Traefik یک Reverse Proxy و Load Balancer مدرنه که جلوی سرویسها قرار میگیره و درخواستهای ورودی رو با استفاده از مسیریابی به سرویس مناسب هدایت میکنه.
این کار رو با کشف خودکار سرویسها (مثل Docker، Kubernetes، یا سایر ارائهدهندگان) انجام میده، گواهیهای HTTPS رو مدیریت میکنه و امکان مقیاسپذیری و مدیریت ترافیک رو بدون نیاز به راهاندازی مجدد فراهم میکنه.
این کار رو با کشف خودکار سرویسها (مثل Docker، Kubernetes، یا سایر ارائهدهندگان) انجام میده، گواهیهای HTTPS رو مدیریت میکنه و امکان مقیاسپذیری و مدیریت ترافیک رو بدون نیاز به راهاندازی مجدد فراهم میکنه.
✍2❤2👍1
ایلان ماسک: تا ۲ سال دیگر موبایل شما مستقیم به ماهوارههای استارلینک متصل خواهد شد
https://share.google/6WGLsafMNYAxC2ZnZ
https://share.google/6WGLsafMNYAxC2ZnZ
اکوایران
ببینید/ ایلان ماسک: تا ۲ سال دیگر موبایل شما مستقیم به ماهوارههای استارلینک متصل خواهد شد
ایلان ماسک از برنامه استارلینک برای اتصال مستقیم گوشیهای موبایل به اینترنت ماهوارهای طی دو سال آینده خبر داد.
🦄5
docker.pdf
1.4 MB
بچه ها این جزوه ی داکر، مقدماتی از مباحث رو براتون توضیح میده + اینکه اگر تمایل به خوندن جزوه ندارید ی آموزش پیدا کردم که استادش داکر رو خوب توضیح میده
لينک آموزش در مکتب خونه
لينک آموزش در مکتب خونه
🤩3🙏2❤1👍1
Fundamental Math for AI & ML.pdf
2.6 MB
جزوه مباحث ریاضی برای یادگیری هوش مصنوعی و یادگیری ماشین
توی این جزوه سعی کردم مهمترین مباحث ریاضی مورد نیاز برای ورود به دنیای AI و ML رو به زبانی ساده، مرحلهبهمرحله و همراه با مثال و تمرین توضیح بدم.در انتهای جزوه هم معماریهای مختلف مدلها همراه با مثال آورده شده تا بتونید مفاهیم رو عملی تمرین کنید
توی این جزوه سعی کردم مهمترین مباحث ریاضی مورد نیاز برای ورود به دنیای AI و ML رو به زبانی ساده، مرحلهبهمرحله و همراه با مثال و تمرین توضیح بدم.در انتهای جزوه هم معماریهای مختلف مدلها همراه با مثال آورده شده تا بتونید مفاهیم رو عملی تمرین کنید
❤7🦄2
Programmer
آموزش Opencv - بخش دوم ( قسمت دوم) ۱. ایجاد یک تصویر خالی سه حالت اصلی برای ایجاد تصویر داریم: import cv2 import numpy as np import random # تصویر مشکی img_black = np.zeros((500, 500, 3), dtype=np.uint8) # تصویر سفید img_white = np.ones((500, 500, 3),…
OpenCvPart2.pdf
784 KB
آموزش opencv بخش سوم :
مباحث قرار گرفته در فایل :
مبحث اول : cv.dnn چیه
مبحث دوم : Opencv در YOLO
مبحث سوم : Local Binary Patterns
مبحث چهارم : CNN و Deepface برای شناسایی چهره
مبحث پنجم : آشنایی با harrcascaded در opencv
مبحث ششم : پروژه ی آخر کد کامل تشخیص چهره ( در اینجا از چهره فیلم گرفته میشه، مدل آموزش داده میشه و در آخر از مدل آموزش دیده برای تشخیص چهره ی شما استفاده میشه)
فایل پروژه ی آخر
مباحث قرار گرفته در فایل :
مبحث اول : cv.dnn چیه
مبحث دوم : Opencv در YOLO
مبحث سوم : Local Binary Patterns
مبحث چهارم : CNN و Deepface برای شناسایی چهره
مبحث پنجم : آشنایی با harrcascaded در opencv
مبحث ششم : پروژه ی آخر کد کامل تشخیص چهره ( در اینجا از چهره فیلم گرفته میشه، مدل آموزش داده میشه و در آخر از مدل آموزش دیده برای تشخیص چهره ی شما استفاده میشه)
فایل پروژه ی آخر
❤6
📚مقالک
آشنایی با چند دستور وضعیت سرعت و کیفیت اتصال اینترنت در cmd
استفاده از دستور ping
تست سرعت از طریق PowerShell با Speedtest.net
بعد از نصب، دستور زیر را اجرا کن:
استفاده از دستور netsh wlan show interfaces
برای دیدن سرعت ارتباط وایفای (بین لپتاپ و مودم):
اما برای تست سرعت حرفه ای و راحت این سایت رو پیشنهاد می کنم
https://www.speedtest.net/result/18456842820
برای تست امنیت
https://www.virustotal.com/
کاربرد های لینک بالا :
✅بررسی لینکها و وبسایتها
✅بررسی فایلها (File Scan)
✅بررسی آدرس IP یا دامنه
✅بررسی فایلهای اجرایی و نرمافزارها
آشنایی با چند دستور وضعیت سرعت و کیفیت اتصال اینترنت در cmd
استفاده از دستور ping
ping google.com
تست سرعت از طریق PowerShell با Speedtest.net
Install-Module -Name Speedtest-cli
بعد از نصب، دستور زیر را اجرا کن:
speedtest
استفاده از دستور netsh wlan show interfaces
برای دیدن سرعت ارتباط وایفای (بین لپتاپ و مودم):
netsh wlan show interfaces
اما برای تست سرعت حرفه ای و راحت این سایت رو پیشنهاد می کنم
https://www.speedtest.net/result/18456842820
برای تست امنیت
https://www.virustotal.com/
کاربرد های لینک بالا :
✅بررسی لینکها و وبسایتها
✅بررسی فایلها (File Scan)
✅بررسی آدرس IP یا دامنه
✅بررسی فایلهای اجرایی و نرمافزارها
❤6👍1
PyTorch_part1.pdf
1 MB
این جزوه شامل مفاهیم پایه ی Autograd و Gradient در PyTorch، یاداوری از شبکه های عصبی ، حلقه ی آموزش، Epoch،Mini-Batch ،Batch و... ست
ی جور جزوه مقدماتی طور هستش که فقط با مباحث و اصطلاحات و Pytorch آشنا بشید
ی جور جزوه مقدماتی طور هستش که فقط با مباحث و اصطلاحات و Pytorch آشنا بشید
❤8🕊1
Programmer
docker.pdf
📚مقالک
چرا داکر ؟
قبل اینکه توضیح بدم داکر و container چیه بذارید چند تا مبحث رو برسی کنیم
مبحث ۱. Bare Metal (سرور فیزیکی واقعی)
یعنی شما مستقیماً روی سختافزار واقعی (مثل CPU، RAM، Disk) سیستمعامل نصب میکنی.
🔹 مثال:
یه سرور داری تو دیتاسنتر، روش Ubuntu نصب میکنی و برنامههات رو مستقیم اجرا میکنی.
🔹 ویژگیها:
هیچگونه لایه مجازی بین نرمافزار و سختافزار نیست.
سریعترین عملکرد ممکن.
اما انعطافپذیری پایین: هر سیستمعامل جدا باید روی یک سختافزار جدا نصب بشه.
پس در حالت Bare Metal
✅ فقط یک سیستمعامل (OS) روی سرور نصب میشه.
یعنی مثلاً مستقیم روی سختافزار «Ubuntu Server» نصب میکنی و روش برنامهها رو اجرا میکنی.
دیگه نمیتونی همزمان Windows و Ubuntu رو روی همون سختافزار داشته باشی (مگر یکی رو پاک کنی یا از Virtualization استفاده کنی).
🖥 مبحث ۲. Virtualization (مجازیسازی)
یعنی روی یک سرور فیزیکی (Bare Metal) چندتا ماشین مجازی (VM) میسازی که هرکدوم سیستمعامل خودشون رو دارن.
🔹 مثال:
روی یه سرور فیزیکی با 64GB RAM، چهار VM میسازی، هرکدوم با 16GB RAM و سیستمعامل جدا (یکی Ubuntu، یکی Windows و ...).
🔹 ویژگیها:
هر VM انگار یه کامپیوتر جداست.
منابع سختافزاری بین VMها تقسیم میشن.
سربار (Overhead) بالاتری نسبت به کانتینرها داره، چون هر VM سیستمعامل جداگانه داره.
🔹 کاربرد:
وقتی میخوای سیستمعاملهای مختلف یا محیطهای جدا و امن داشته باشی.
حالا Virtualization و نقش Hypervisor رو تعریف کنیم
فرض کن یه سرور واقعی داری با این مشخصات:
CPU = 16 core
RAM = 64GB
روی این سرور Hypervisor نصب میکنی.
حالا Hypervisor مثل یه مدیر منابع عمل میکنه و میگه:
VM1 → Ubuntu با 4 core و 16GB RAM
VM2 → Windows Server با 4 core و 16GB RAM
.
.
.
هرکدوم از این VMها انگار یه کامپیوتر جدا هستن!
ولی در واقع دارن روی همون سختافزار اصلی اجرا میشن.
🐳 مبحث ۳. Container Engine (موتور کانتینر مثل Docker یا Podman)
کانتینرها لایهای سبکتر از Virtual Machine هستن.
اونها به جای اجرای یک سیستمعامل کامل، از کرنل سیستمعامل میزبان (Host OS Kernel) استفاده میکنن.
بهجای ساخت یه VM جدید برای هر اپلیکیشن، یه کانتینر میسازی که فقط اپلیکیشن + وابستگیهاش (Dependencies) رو داره.
🔹 ویژگیها:
سبکتر و سریعتر از VMها
راهاندازی در چند ثانیه
منابع مشترک بین کانتینرها
اما جداسازی (Isolation) کمتر از VMها
🔹 کاربرد:
وقتی میخوای چند اپلیکیشن مستقل رو در محیطهای یکنواخت و قابل حمل (مثلاً بین سرورها یا Cloudها) اجرا کنی.
حالا بریم سمت بحث اصلی داکر (Docker) چیه؟
داکر در واقع یه نرمافزار یا پلتفرم کانتینرسازی (Containerization Platform) هست.
یعنی با داکر میتونی اپلیکیشنهات رو داخل کانتینر (Container) اجرا کنی.
مثال ساده:
فرض کن میخوای یه سایت با Python و یه سایت با Node.js و یه دیتابیس PostgreSQL رو با هم اجرا کنی.
بهجای نصب جداگانه هرکدوم و جنگ با نسخهها و تنظیمات،
در Docker فقط با چند خط کد (Dockerfile یا docker-compose.yml) سه تا کانتینر میسازی:
کانتینر Python
کانتینر Node.js
کانتینر PostgreSQL
و همهشون مستقل ولی هماهنگ با هم کار میکنن
چرا داکر ؟
قبل اینکه توضیح بدم داکر و container چیه بذارید چند تا مبحث رو برسی کنیم
مبحث ۱. Bare Metal (سرور فیزیکی واقعی)
یعنی شما مستقیماً روی سختافزار واقعی (مثل CPU، RAM، Disk) سیستمعامل نصب میکنی.
🔹 مثال:
یه سرور داری تو دیتاسنتر، روش Ubuntu نصب میکنی و برنامههات رو مستقیم اجرا میکنی.
🔹 ویژگیها:
هیچگونه لایه مجازی بین نرمافزار و سختافزار نیست.
سریعترین عملکرد ممکن.
اما انعطافپذیری پایین: هر سیستمعامل جدا باید روی یک سختافزار جدا نصب بشه.
پس در حالت Bare Metal
✅ فقط یک سیستمعامل (OS) روی سرور نصب میشه.
یعنی مثلاً مستقیم روی سختافزار «Ubuntu Server» نصب میکنی و روش برنامهها رو اجرا میکنی.
دیگه نمیتونی همزمان Windows و Ubuntu رو روی همون سختافزار داشته باشی (مگر یکی رو پاک کنی یا از Virtualization استفاده کنی).
🖥 مبحث ۲. Virtualization (مجازیسازی)
یعنی روی یک سرور فیزیکی (Bare Metal) چندتا ماشین مجازی (VM) میسازی که هرکدوم سیستمعامل خودشون رو دارن.
🔹 مثال:
روی یه سرور فیزیکی با 64GB RAM، چهار VM میسازی، هرکدوم با 16GB RAM و سیستمعامل جدا (یکی Ubuntu، یکی Windows و ...).
🔹 ویژگیها:
هر VM انگار یه کامپیوتر جداست.
منابع سختافزاری بین VMها تقسیم میشن.
سربار (Overhead) بالاتری نسبت به کانتینرها داره، چون هر VM سیستمعامل جداگانه داره.
🔹 کاربرد:
وقتی میخوای سیستمعاملهای مختلف یا محیطهای جدا و امن داشته باشی.
حالا Virtualization و نقش Hypervisor رو تعریف کنیم
فرض کن یه سرور واقعی داری با این مشخصات:
CPU = 16 core
RAM = 64GB
روی این سرور Hypervisor نصب میکنی.
حالا Hypervisor مثل یه مدیر منابع عمل میکنه و میگه:
VM1 → Ubuntu با 4 core و 16GB RAM
VM2 → Windows Server با 4 core و 16GB RAM
.
.
.
هرکدوم از این VMها انگار یه کامپیوتر جدا هستن!
ولی در واقع دارن روی همون سختافزار اصلی اجرا میشن.
🐳 مبحث ۳. Container Engine (موتور کانتینر مثل Docker یا Podman)
کانتینرها لایهای سبکتر از Virtual Machine هستن.
اونها به جای اجرای یک سیستمعامل کامل، از کرنل سیستمعامل میزبان (Host OS Kernel) استفاده میکنن.
بهجای ساخت یه VM جدید برای هر اپلیکیشن، یه کانتینر میسازی که فقط اپلیکیشن + وابستگیهاش (Dependencies) رو داره.
🔹 ویژگیها:
سبکتر و سریعتر از VMها
راهاندازی در چند ثانیه
منابع مشترک بین کانتینرها
اما جداسازی (Isolation) کمتر از VMها
🔹 کاربرد:
وقتی میخوای چند اپلیکیشن مستقل رو در محیطهای یکنواخت و قابل حمل (مثلاً بین سرورها یا Cloudها) اجرا کنی.
حالا بریم سمت بحث اصلی داکر (Docker) چیه؟
داکر در واقع یه نرمافزار یا پلتفرم کانتینرسازی (Containerization Platform) هست.
یعنی با داکر میتونی اپلیکیشنهات رو داخل کانتینر (Container) اجرا کنی.
مثال ساده:
فرض کن میخوای یه سایت با Python و یه سایت با Node.js و یه دیتابیس PostgreSQL رو با هم اجرا کنی.
بهجای نصب جداگانه هرکدوم و جنگ با نسخهها و تنظیمات،
در Docker فقط با چند خط کد (Dockerfile یا docker-compose.yml) سه تا کانتینر میسازی:
کانتینر Python
کانتینر Node.js
کانتینر PostgreSQL
و همهشون مستقل ولی هماهنگ با هم کار میکنن
کلام اخرم🧑💻
در دنیایی که میخواهیم مصرف منابع و برق را پایین بیاریم ، کانتینرها بهترین ایده برای جایگزینی روشهای قبلی هستند.
❤6👾2🔥1
Forwarded from DeepMind AI Expert (Farzad 🦅)
روش PipelineRL راهکاری عملی و کارا برای افزایش سرعت یادگیری در RL برای تولید توالیهای بلند توسط LLMها ارائه میدهد، بهویژه وقتی که استفاده از سختافزار (GPU/شتابدهنده) بالا مدنظر است و دادههای تولیدی باید تا حد ممکن مطابق با سیاست فعلی باشند. این روش با تولید موازی و بهروزرسانی وزنها در همان زمان، تعادلی میان کارایی و تازگی داده برقرار میکند. برای کاربردهایی که تولید توالیهای طولانی دارند (مثلاً حل مسائل #ریاضی، استدلال بلند، گفتگوهای چندمرحلهای) این روش میتواند مفید باشد.
🔰 PipelineRL: Faster On-policy Reinforcement Learning for Long Sequence Generation
#مقاله #یادگیری_تقویتی #ایده_جذاب #الگوریتمها
💢 مطالب بیشتر ⬇️ ⬇️
🎙 @AI_DeepMind
🎙 @AI_Person
#مقاله #یادگیری_تقویتی #ایده_جذاب #الگوریتمها
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👾2
Ros2.pdf
2 MB
مبحث این جزوه چیه و ROS چی کار میکنه ؟
در اصل ROS یا Robot Operating System یک پلتفرم متنبازه که به توسعهدهندهها کمک میکنه راحتتر ربات بسازن.
با ROS میتونی بخشهای مختلف ربات مثل سنسورها، موتورها و الگوریتمها رو بهصورت ماژولار به هم وصل کنی، دادهها رو رد و بدل کنی و سریعتر سیستمهای پیچیده طراحی کنی.
این جزوه نصب پیشنیازها، کار با ابزارهای خط فرمان، گرهها، تاپیکها، پارامترها و اکشنهای ROS2 را آموزش میدهد.
همچنین ساخت workspace، ایجاد پکیج، و نوشتن ناشر، مشترک، سرویس و کلاینت در پایتون و C++ را پوشش میدهد.
در نهایت به ایجاد پیامهای سفارشی، استفاده از پلاگینها، ابزارهای تشخیصی و ضبط و پخش دادهها میپردازد.
#robotic
در اصل ROS یا Robot Operating System یک پلتفرم متنبازه که به توسعهدهندهها کمک میکنه راحتتر ربات بسازن.
با ROS میتونی بخشهای مختلف ربات مثل سنسورها، موتورها و الگوریتمها رو بهصورت ماژولار به هم وصل کنی، دادهها رو رد و بدل کنی و سریعتر سیستمهای پیچیده طراحی کنی.
این جزوه نصب پیشنیازها، کار با ابزارهای خط فرمان، گرهها، تاپیکها، پارامترها و اکشنهای ROS2 را آموزش میدهد.
همچنین ساخت workspace، ایجاد پکیج، و نوشتن ناشر، مشترک، سرویس و کلاینت در پایتون و C++ را پوشش میدهد.
در نهایت به ایجاد پیامهای سفارشی، استفاده از پلاگینها، ابزارهای تشخیصی و ضبط و پخش دادهها میپردازد.
#robotic
❤5🦄2
Media is too big
VIEW IN TELEGRAM
در این ویدئو توضیح میده کرنل چیه و چه دسته هایی داره
۱. معماری Monolithic (تکپارچه یا یکتکه)
در این روش، کل برنامه به صورت یک اپلیکیشن واحد و بزرگ ساخته میشه.
یعنی تمام بخشها (ماژولها، پکیجها، کلاسها و...) داخل یک پروژه و یک سورسکد اصلی هستن.
مثال:
فرض کن داری یه اپ فروشگاهی میسازی با بخشهای زیر:
بخش کاربران (User)
سبد خرید (Cart)
پرداخت (Payment)
وقتی بخوای فقط بخش پرداخت رو تغییر بدی، باید کل پروژه رو دوباره build و deploy کنی
اگر یه خطا در یکی از ماژولها بیاد، ممکنه کل سیستم از کار بیفته.
۲. معماری Microservices (ریزسرویسها)
در این روش، برنامه به چند سرویس کوچک و مستقل تقسیم میشه.
هر کدوم از این سرویسها یه اپلیکیشن مستقل هستن، با دیتابیس خودشون و API مخصوص خودشون. از طریق API یا پیام (Message Queue) با هم حرف میزنن.
حالا اگر بخوای یه بخش رو بهروزرسانی یا تعمیر کنی، سایر بخشها بدون مشکل به کارشون ادامه میدن.
این باعث میشه:
سرعت توسعه بیشتر بشه
خطاهای محلی راحتتر کنترل بشن
مقیاسپذیری (Scalability) بالا بره (مثلاً فقط بخش پرداخت رو قویتر کنی)
۱. معماری Monolithic (تکپارچه یا یکتکه)
در این روش، کل برنامه به صورت یک اپلیکیشن واحد و بزرگ ساخته میشه.
یعنی تمام بخشها (ماژولها، پکیجها، کلاسها و...) داخل یک پروژه و یک سورسکد اصلی هستن.
مثال:
فرض کن داری یه اپ فروشگاهی میسازی با بخشهای زیر:
بخش کاربران (User)
سبد خرید (Cart)
پرداخت (Payment)
وقتی بخوای فقط بخش پرداخت رو تغییر بدی، باید کل پروژه رو دوباره build و deploy کنی
اگر یه خطا در یکی از ماژولها بیاد، ممکنه کل سیستم از کار بیفته.
۲. معماری Microservices (ریزسرویسها)
در این روش، برنامه به چند سرویس کوچک و مستقل تقسیم میشه.
هر کدوم از این سرویسها یه اپلیکیشن مستقل هستن، با دیتابیس خودشون و API مخصوص خودشون. از طریق API یا پیام (Message Queue) با هم حرف میزنن.
حالا اگر بخوای یه بخش رو بهروزرسانی یا تعمیر کنی، سایر بخشها بدون مشکل به کارشون ادامه میدن.
این باعث میشه:
سرعت توسعه بیشتر بشه
خطاهای محلی راحتتر کنترل بشن
مقیاسپذیری (Scalability) بالا بره (مثلاً فقط بخش پرداخت رو قویتر کنی)
❤6🆒1