تنفيذ برمجي لنموذج MolmoAct لتفكير مكاني مدرك للعمق
استكشف كيفية تنفيذ نموذج MolmoAct لتفكير مكاني مدرك للعمق وتوقعات الأفعال الروبوتية.
في هذه المقالة، سنتناول خطوة بخطوة كيفية تنفيذ نموذج MolmoAct لفهم التفكير المكاني المدرك للعمق، وتتبع المسارات المرئية، وتوقعات الأفعال الروبوتية. يعد MolmoAct نموذجًا متقدمًا يستخدم في معالجة البيانات المرئية لتحسين أداء الروبوتات من خلال تحليل المشاهد.
إعداد البيئة وتثبيت الحزم المطلوبة
قبل البدء في استخدام MolmoAct، يجب إعداد البيئة وتثبيت الحزم المطلوبة. ستحتاج إلى تثبيت PyTorch، transformers، و numpy، وغيرها من المكتبات الضرورية. يمكن تنفيذ ذلك عبر الكود التالي:
import subprocess
import sys
def install_packages():
packages = [
"torch>=2.0.0",
"torchvision",
"transformers==4.52",
"accelerate",
"einops",
"Pillow",
"numpy",
"matplotlib",
"requests",
"scipy",
"huggingface_hub",
]
for package in packages:
print(f"Installing {package}...")
subprocess.check_call([sys.executable, "-m", "pip", "install", "-q", package])
print("All packages installed successfully!")
install_packages()
تحميل نموذج MolmoAct
بعد تثبيت الحزم، ننتقل إلى تحميل نموذج MolmoAct وإعداده. سنقوم بتعريف إعدادات النموذج الأساسية التي سنستخدمها طوال مدة التنفيذ:
from dataclasses import dataclass
@dataclass
class MolmoActConfig:
model_name: str = "allenai/MolmoAct-7B-D-0812"
torch_dtype: str = "bfloat16"
device_map: str = "auto"
max_new_tokens: int = 256
temperature: float = 0.0
do_sample: bool = False
عند تحميل النموذج، سيتم طباعة معلومات تفصيلية حول عدد المعلمات في النموذج، مما يساعد على فهم تعقيد النموذج وقدرته على المعالجة.
إنشاء المحفزات واستنتاج النتائج
لتوليد استنتاجات من MolmoAct، يجب علينا بناء المحفزات التي تدل على ما يجب أن يفعله الروبوت بناءً على المشاهد المرئية:
def build_prompt(instruction: str) -> str:
prompt = (
f"The task is {instruction}. "
"What is the action that the robot should take. "
f"To figure out the action that the robot should take to {instruction}, "
"let's think through it step by step. "
"First, what is the depth map for the first image? "
"Second, what is the trajectory of the end effector in the first image? "
"Based on the depth map of the first image and the trajectory of the end effector in the first image, "
"along with other images from different camera views as additional information, "
"what is the action that the robot should take?"
)
return prompt
تساعد هذه المحفزات النموذج على فهم المهام المطلوب تنفيذها بدقة.
تشغيل الاستنتاج وتحليل النتائج
بعد إعداد النموذج والمحفزات، يمكننا الآن تشغيل الاستنتاج. يتم ذلك باستخدام الكود التالي:
@torch.inference_mode()
def generate(images: List[Image.Image], instruction: str, max_new_tokens: Optional[int] = None) -> Dict:
if not self._loaded:
raise RuntimeError("Model not loaded! Call .load() first.")
prompt = self.build_prompt(instruction)
# باقي الكود لتوليد النتائج...
سيقوم النموذج بتحليل الصور المدخلة والمحفزات لتوليد النصوص التي تتضمن معلومات حول العمق، المسار، والتوقعات حول الأفعال. هذه النتائج مهمة لتحسين أداء الروبوتات في مهامها المختلفة.
خاتمة
في الختام، يعد MolmoAct نموذجًا قويًا يوفر طريقة فعالة لفهم البيانات المرئية وتحليلها. من خلال إعداده بشكل صحيح، يمكن للباحثين والمطورين استخدامه لتحسين تفاعل الروبوتات مع بيئاتها.
المصدر: MarkTechPost